using System; using System.Collections.Generic; using System.Configuration; using System.Data; using System.Globalization; using System.IO; using System.Linq; using System.Net.Http.Headers; using System.Text; using System.Threading.Tasks; using AutoMapper.Configuration; using Ease.Core; using HRM.BO; using HRM.DA; using Microsoft.AspNetCore.Authorization; using Microsoft.AspNetCore.Http; using Microsoft.AspNetCore.Mvc; using Microsoft.AspNetCore.StaticFiles; using Microsoft.Extensions.Configuration; using Payroll.BO; using IConfiguration = Microsoft.Extensions.Configuration.IConfiguration; namespace HRM.UI.Controllers { [ApiController] [Route("api/survey")] [Authorize] public class SurveyController : Controller { #region Declerations private readonly IQuestionCategoryService _questionCategoryService; private readonly IQuestionService _questionService; private readonly IConfiguration _config; private readonly IEmployeeService _employeeService; private readonly IQuestionAnswerService _questionAnswerService; private readonly ISurveyCategoryService _surveyCategoryService; private readonly ISurveyService _surveyService; private readonly ISurveyQuestionService _surveyQuestionService; private readonly ISurveyResultService _surveyResultService; private readonly ISurveyEmployeeService _surveyEmployeeService; #endregion #region Constructor public SurveyController(IConfiguration config, IQuestionCategoryService questionCategoryService, IQuestionService questionService, IQuestionAnswerService questionAnswerService, ISurveyCategoryService surveyCategoryService, ISurveyService surveyService, ISurveyQuestionService surveyQuestionService, ISurveyResultService surveyResultService, ISurveyEmployeeService surveyEmployeeService ) { _config = config; _questionCategoryService = questionCategoryService; _questionService = questionService; _questionAnswerService = questionAnswerService; _surveyCategoryService = surveyCategoryService; _surveyService = surveyService; _surveyQuestionService = surveyQuestionService; _surveyResultService = surveyResultService; _surveyEmployeeService = surveyEmployeeService; } #endregion #region Functions [HttpPost] [Route("savequestion")] public ActionResult SaveQuestion(Question item) { int ans; var isNew = item.ID <= 0; string connectionString = _config.GetSection("dbSettings").GetSection("SqlCommandConnection").Value; item.ConnectionString = connectionString; CurrentUser currentUser = CurrentUser.GetCurrentUser(HttpContext.User); if (isNew) { item.CreatedBy = currentUser.UserID; item.CreatedDate = DateTime.Today; item.UserID= currentUser.UserID; } else { item.ModifiedBy = currentUser.UserID; item.ModifiedDate = DateTime.Today; } try { ans = _questionService.Save(item); } catch (Exception ex) { return StatusCode(StatusCodes.Status500InternalServerError, ex.Message); } return Ok(ans); } [HttpGet] [Route("getQuestionCategories")] public ActionResult GetQuestionCategories() { List obs = new List(); CurrentUser currentUser = CurrentUser.GetCurrentUser(HttpContext.User); try { obs = _questionCategoryService.Get(EnumStatus.Active); } catch (Exception ex) { return StatusCode(StatusCodes.Status500InternalServerError, ex.Message); } return Ok(obs); } [HttpGet] [Route("GetByCategory/{categoryId}")] public ActionResult GetByCategory(int categoryId) { List items = new List(); try { items = _questionService.GetByCategory(categoryId); } catch (Exception ex) { return StatusCode(StatusCodes.Status500InternalServerError, ex.Message); } return Ok(items); } [HttpGet] [Route("GetQuestionsByCategory/{categoryId}")] public ActionResult GetQuestionsByCategory(int categoryId) { List items = new List(); try { items = _surveyService.GetQuestionSetByCategoryID(categoryId); } catch (Exception ex) { return StatusCode(StatusCodes.Status500InternalServerError, ex.Message); } return Ok(items); } [HttpGet] [Route("getQuestionById/{questionId}")] public ActionResult getQuestionById(int questionId) { CurrentUser currentUser = CurrentUser.GetCurrentUser(HttpContext.User); Question question = new Question(); try { question = _questionService.Get(questionId); question.QuestionAnswers = _questionAnswerService.GetByQuestionID(questionId); } catch (Exception ex) { return StatusCode(StatusCodes.Status500InternalServerError, ex.Message); } return Ok(question); } [HttpGet] [Route("getSurveyById/{surveyId}")] public ActionResult getSurveyById(int surveyId) { CurrentUser currentUser = CurrentUser.GetCurrentUser(HttpContext.User); Survey survey = new Survey(); try { survey = _surveyService.Get(surveyId); survey.SurveyQuestions = _surveyQuestionService.GetSurveyQuestion(surveyId); foreach(var item in survey.SurveyQuestions) { item.Question = _questionService.Get(item.QuestionID); item.Question.QuestionAnswers = _questionAnswerService.GetByQuestionID(item.QuestionID); } } catch (Exception ex) { return StatusCode(StatusCodes.Status500InternalServerError, ex.Message); } return Ok(survey); } [HttpGet] [Route("getAllFilesById/{questionId}")] public ActionResult GetAllFilesById(int questionId) { List files = new List(); try { files = _questionAnswerService.GetQuestionFileAttachments(questionId); if (files != null && files.Count > 0) { foreach (var item in files) { item.PreviousFileTobase64 = item.FileTobase64; } } } catch (Exception ex) { return StatusCode(StatusCodes.Status500InternalServerError, ex.Message); } return Ok(files); } [HttpGet] [Route("getSurveyCategories")] public ActionResult GetSurveyCategories() { List obs = new List(); CurrentUser currentUser = CurrentUser.GetCurrentUser(HttpContext.User); try { obs = _surveyCategoryService.Get(EnumStatus.Active); } catch (Exception ex) { return StatusCode(StatusCodes.Status500InternalServerError, ex.Message); } return Ok(obs); } [HttpPost] [Route("savesurvey")] public ActionResult SaveSurvey(Survey item) { int ans; var isNew = item.ID <= 0; //string connectionString = _config.GetSection("dbSettings").GetSection("SqlCommandConnection").Value; //item.ConnectionString = connectionString; CurrentUser currentUser = CurrentUser.GetCurrentUser(HttpContext.User); if (isNew) { item.CreatedBy = currentUser.UserID; item.CreatedDate = DateTime.Today; } else { item.ModifiedBy = currentUser.UserID; item.ModifiedDate = DateTime.Today; } try { item.FromDate = DateTime.Today; item.ToDate = DateTime.Today; ans = _surveyService.Save(item); } catch (Exception ex) { return StatusCode(StatusCodes.Status500InternalServerError, ex.Message); } return Ok(ans); } [HttpGet] [Route("getQuestionSet")] public ActionResult GetQuestionSet() { List obs = new List(); CurrentUser currentUser = CurrentUser.GetCurrentUser(HttpContext.User); try { obs = _surveyService.Get(); } catch (Exception ex) { return StatusCode(StatusCodes.Status500InternalServerError, ex.Message); } return Ok(obs); } [HttpPost] [Route("deleteQuestion")] public ActionResult DeleteQuestion(Question item) { CurrentUser currentUser = CurrentUser.GetCurrentUser(HttpContext.User); try { _questionService.Delete(item.ID); } catch (Exception ex) { return StatusCode(StatusCodes.Status500InternalServerError, ex.Message); } return Ok(true); } [HttpGet] [Route("getQuestionsBySurveyId/{jobId}")] public ActionResult GetQuestionsBySurveyId(int jobId) { Survey survey = new Survey(); List files = new List(); try { //List erCircularSurveys = null; //erCircularSurveys = _erCircularSurveyService.GetByCircularID(jobId); //var erCircularSurvey = erCircularSurveys[0]; survey = _surveyService.Get(jobId); // need to pass survey id survey.EstimatedTime = 0; survey.SurveyQuestions = _surveyQuestionService.GetSurveyQuestion(jobId); if (survey.SurveyQuestions != null && survey.SurveyQuestions.Count > 0) { foreach (var item in survey.SurveyQuestions) { item.Question = _questionService.GetWithChild(item.QuestionID); if (item.Question != null && item.Question.QuestionAnswers != null && item.Question.QuestionAnswers.Count > 0) { foreach (var temp in item.Question.QuestionAnswers) { var tempAttachment = _questionService.GetAnswerByAttchmentId(item.Question.ID, temp.ID); if (tempAttachment != null) { temp.QuestionAnswerAttachments = new List(); temp.QuestionAnswerAttachments.Add(tempAttachment); } } survey.EstimatedTime += item.Question.EstimatedTime; } } } } catch (Exception ex) { return StatusCode(StatusCodes.Status500InternalServerError, ex.Message); } return Ok(survey); } [HttpPost] [Route("saveSurveyResult")] public ActionResult SaveSurveyResult(SurveyResult item) { int ans; var isNew = item.ID <= 0; try { CurrentUser currentUser = CurrentUser.GetCurrentUser(HttpContext.User); item.CandidateID = (int)currentUser.UserID; item.EmployeeID = null; var prevResult = _surveyResultService.GetSurveyResultByCandidateID(item.SurveyID, item.CandidateID, item.QuestionID); if (prevResult != null) { _surveyResultService.DeleteByCandidateID(item.SurveyID, item.CandidateID, item.QuestionID); } ans = _surveyResultService.Save(item); } catch (Exception ex) { return StatusCode(StatusCodes.Status500InternalServerError, ex.Message); } return Ok(ans); } [HttpPost] [Route("saveSurveyEmployee")] public ActionResult saveSurveyEmployee(SurveyEmployee item) { int ans; var isNew = item.ID <= 0; List surveyEmployees = new List(); SurveyEmployee prevItem = null; try { CurrentUser currentUser = CurrentUser.GetCurrentUser(HttpContext.User); item.CandidateID = currentUser.UserID; item.EmployeeID = null; item.CurrentTime = (double)(DateTime.Now - (DateTime)item.StartTime).Minutes; surveyEmployees = _surveyEmployeeService.GetSurveyEmployeeByCandidateId(item.SurveyID, item.CandidateID, item.ErCircularID); if (surveyEmployees != null && surveyEmployees.Count > 0) { prevItem = new SurveyEmployee(); prevItem = surveyEmployees[0]; item.SurveyMark = prevItem.SurveyMark; item.SurveyParticipantDate = prevItem.SurveyParticipantDate; item.SurveyTime = prevItem.SurveyTime; if (prevItem.IsCompleted == false && (prevItem.SurveyTime > prevItem.CurrentTime) && prevItem.IsDisconnected == true) { item.CurrentTime = (double)(DateTime.Now - (DateTime)item.StartTime).Minutes + prevItem.CurrentTime; } if (item.IsCompleted == true) { item.CompleteTime = DateTime.Now; } } if (prevItem != null) { _surveyEmployeeService.DeleteByCandidateID(prevItem.SurveyID, prevItem.CandidateID, prevItem.ErCircularID); } ans = _surveyEmployeeService.Save(item); } catch (Exception ex) { return StatusCode(StatusCodes.Status500InternalServerError, ex.Message); } return Ok(ans); } [HttpGet] [Route("checkDisconncetedSurveyEmployee/{erCircularID}/{surveyId}")] public ActionResult CheckDisconncetedSurveyEmployee(int erCircularID, int surveyId) { int ans; List surveyEmployees = new List(); SurveyEmployee prevItem = null; try { CurrentUser currentUser = CurrentUser.GetCurrentUser(HttpContext.User); int candidateID = currentUser.UserID; surveyEmployees = _surveyEmployeeService.GetSurveyEmployeeByCandidateId(surveyId, candidateID, erCircularID); if (surveyEmployees != null && surveyEmployees.Count > 0) { prevItem = new SurveyEmployee(); prevItem = surveyEmployees[0]; } if (prevItem != null) { if (prevItem.IsCompleted == false && prevItem.SurveyTime > prevItem.CurrentTime) { prevItem.IsDisconnected = true; } else { prevItem = null; } } } catch (Exception ex) { return StatusCode(StatusCodes.Status500InternalServerError, ex.Message); } return Ok(prevItem); } //[HttpGet] //[Route("GetClaimBasic/{calimBasicID}")] //public ActionResult GetClaimBasic(int calimBasicID) //{ // ClaimBasic item = new ClaimBasic(); // try // { // item = _claimBasicService.Get(calimBasicID); // } // catch (Exception ex) // { // return StatusCode(StatusCodes.Status500InternalServerError, ex.Message); // } // return Ok(item); //} //[HttpGet] //[Route("getDesignationsForClaim")] //public ActionResult GetDesignationsForClaim() //{ // CurrentUser currentUser = CurrentUser.GetCurrentUser(HttpContext.User); // List tempDesignations = new List(); // List designations = new List(); // try // { // tempDesignations = new DesignationService().Get(EnumStatus.Regardless, (int)currentUser.PayrollTypeID); // if (tempDesignations != null && tempDesignations.Count > 0) // { // designations = tempDesignations // .Where(x => x.Code == "014" || x.Code == "040" || x.Code == "075" || x.Code == "011" || x.Code == "016" || x.Code == "013" || x.Code == "029" || x.Code == "015" || x.Code == "066" || x.Code == "100" || x.Code == "110" || x.Code == "104" || x.Code == "107" || x.Code == "061").ToList(); // } // } // catch (Exception e) // { // return StatusCode(StatusCodes.Status500InternalServerError, e.Message); // } // return Ok(designations); //} //[HttpGet] //[Route("GetClaimBasicItems/{calimBasicID}")] //public ActionResult GetClaimBasicItems(int calimBasicID) //{ // List claimBasicItems = new List(); // try // { // claimBasicItems = _claimBasicItemService.GetByClaimBasicID(calimBasicID); // } // catch (Exception ex) // { // return StatusCode(StatusCodes.Status500InternalServerError, ex.Message); // } // return Ok(claimBasicItems); //} //[HttpPost] //[Route("saveclaimrule")] //public ActionResult SaveClaimRule(ClaimRule item) //{ // int ans; // var isNew = item.ID <= 0; // CurrentUser currentUser = CurrentUser.GetCurrentUser(HttpContext.User); // if (isNew) // { // item.CreatedBy = currentUser.UserID; // item.CreatedDate = DateTime.Today; // // item.PayrollTypeID = (int)currentUser.PayrollTypeID; // } // else // { // item.ModifiedBy = currentUser.UserID; // item.ModifiedDate = DateTime.Today; // } // try // { // ans = _claimRuleService.Save(item); // } // catch (Exception ex) // { // return StatusCode(StatusCodes.Status500InternalServerError, ex.Message); // } // return Ok(ans); //} //[HttpGet("getClaimRules")] //public ActionResult GetClaimRules() //{ // List obs = new List(); // //CurrentUser currentUser = CurrentUser.GetCurrentUser(HttpContext.User); // try // { // obs = _claimRuleService.Get(); // if (obs.Count > 0) // { // foreach (ClaimRule item in obs) // { // if (item.IsAnnualBalance == true) // { // item.AnnualBalance = "Yes"; // } // else if (item.IsAnnualBalance == false) // { // item.AnnualBalance = "No"; // } // if (item.IsAtActualPayment == true) // { // item.AtActualPayment = "Yes"; // } // else if (item.IsAtActualPayment == false) // { // item.AtActualPayment = "No"; // } // } // } // } // catch (Exception ex) // { // return StatusCode(StatusCodes.Status500InternalServerError, ex.Message); // } // return Ok(obs); //} //[HttpGet] //[Route("GetClaimRule/{claimRuleId}")] //public ActionResult GetClaimRule(int claimRuleId) //{ // ClaimRule item = new ClaimRule(); // try // { // item = _claimRuleService.Get(claimRuleId); // if (item != null) // { // item.ClaimRuleDesignations = _claimRuleService.GetClaimRuleGradesByClaimRuleID(item.ID); // item.ClaimBasicItems = _claimBasicItemService.GetByClaimBasicID(item.ClaimBasicID); // } // } // catch (Exception ex) // { // return StatusCode(StatusCodes.Status500InternalServerError, ex.Message); // } // return Ok(item); //} //[HttpGet] //[Route("GetWithDesignation")] //public ActionResult GetWithDesignation() //{ // List items = new List(); // CurrentUser currentUser = CurrentUser.GetCurrentUser(HttpContext.User); // Employee employee = new Employee(); // employee = _employeeService.Get((int)currentUser.EmployeeID); // DataSet ds = new DataSet(); // try // { // ds = _claimBasicService.GetWithDesignation((int)employee.DesignationID, (int)currentUser.PayrollTypeID); // foreach (var row in ds.Tables[0].AsEnumerable()) // { // ClaimBasic temp = new ClaimBasic(); // temp.ID = row["ClaimBasicID"] == null ? 0 : row.Field("ClaimBasicID"); // temp.ItemName = row["ItemName"] == null ? "" : row.Field("ItemName"); // items.Add(temp); // } // } // catch (Exception ex) // { // return StatusCode(StatusCodes.Status500InternalServerError, ex.Message); // } // return Ok(items); //} //[HttpGet] //[Route("GetClaimRuleAmount/{claimBasicItemID}")] //public ActionResult GetClaimRuleAmount(int claimBasicItemID) //{ // CurrentUser currentUser = CurrentUser.GetCurrentUser(HttpContext.User); // ClaimRuleDesignations claimRuleDesignation = new ClaimRuleDesignations(); // try // { // ClaimBasicItem claimitem = _claimBasicItemService.Get(claimBasicItemID); // Employee employee = new Employee(); // employee = _employeeService.Get((int)currentUser.EmployeeID); // List claimRules = _claimRuleService.GetByClaimBasicID(claimitem.ClaimBasicID); // if (claimRules != null) // { // foreach (var item in claimRules) // { // item.ClaimRuleDesignations = _claimRuleService.GetClaimRuleGradesByClaimRuleID(item.ID); // } // } // ClaimRule claimRule = (claimRules != null && claimRules.Count > 0) ? claimRules.First() : new ClaimRule(); // //claimRuleDesignation = claimRule.ClaimRuleDesignations.Where(x => x.ClaimBasicItemId == claimBasicItemID && // // x.DesignationID == employee.DesignationID // // ).FirstOrDefault(); // claimRuleDesignation = claimRule.ClaimRuleDesignations.Where(x => x.ClaimBasicItemId == claimBasicItemID).FirstOrDefault(); // } // catch (Exception ex) // { // return StatusCode(StatusCodes.Status500InternalServerError, ex.Message); // } // return Ok(claimRuleDesignation); //} //[HttpPost] //[Route("saveClaimRequisition")] //public ActionResult SaveClaimRequisition(ClaimRequisition item) //{ // string connectionString = _config.GetSection("dbSettings").GetSection("SqlCommandConnection").Value; // CurrentUser currentUser = CurrentUser.GetCurrentUser(HttpContext.User); // item.ConnectionString = connectionString; // int startIndex = 0; // if (item.IsNew) // { // item.CreatedBy = currentUser.UserID; // item.CreatedDate = DateTime.Today; // item.PayrollTypeID = currentUser.PayrollTypeID; // item.EmployeeID = (int)currentUser.EmployeeID; // item.SalaryMonth = (DateTime)currentUser.NextPayProcessDate; // item.ClaimProcessDate = null; // } // else // { // item.ModifiedBy = currentUser.UserID; // item.ModifiedDate = DateTime.Today; // } // try // { // if (item.ClaimRequisitionItems != null && item.ClaimRequisitionItems.Count > 0) // { // foreach (var tempItem in item.ClaimRequisitionItems) // { // if (tempItem.claimRequisitionFileAttacment != null) // { // if (tempItem.claimRequisitionFileAttacment.ID <= 0 && tempItem.claimRequisitionFileAttacment.PreviousFileTobase64 != null) // { // string[] items = tempItem.claimRequisitionFileAttacment.PreviousFileTobase64.Split(new char[] { ',', ' ' }, StringSplitOptions.None); // byte[] newBytes = Convert.FromBase64String(items[1]); // tempItem.claimRequisitionFileAttacment.FileAsByteArray = newBytes; // } // } // } // } // _claimRequisitionService.Save(item); // } // catch (Exception ex) // { // return StatusCode(StatusCodes.Status500InternalServerError, ex.Message); // } // return Ok(item.ID); //} //[HttpGet] //[Route("GetDraftedClaimItems")] //public ActionResult GetDraftedClaimItems() //{ // CurrentUser currentUser = CurrentUser.GetCurrentUser(HttpContext.User); // ClaimRequisition draftedClaimRequisition = new ClaimRequisition(); // List obs = new List(); // // List obsi = new List(); // ClaimBasicItem obsi = new ClaimBasicItem(); // try // { // obs = _claimBasicService.Get(EnumStatus.Regardless, (int)currentUser.PayrollTypeID); // draftedClaimRequisition = _claimRequisitionService.GetClaimByprocessDate(EnumwfStatus.Initiate, (int)currentUser.EmployeeID); // if (draftedClaimRequisition != null) // { // draftedClaimRequisition.ClaimRequisitionItems = _claimRequisitionService.GetClaimRequisitionItem(draftedClaimRequisition.ID.ToString()); // if (draftedClaimRequisition.ClaimRequisitionItems != null && draftedClaimRequisition.ClaimRequisitionItems.Count > 0) // { // draftedClaimRequisition.IRFileAttacments = new List(); // draftedClaimRequisition.IRFileAttacments = _claimRequisitionService.GetIRFileAttachments(draftedClaimRequisition.ID); // } // foreach (var item in draftedClaimRequisition.ClaimRequisitionItems) // { // obsi = _claimBasicItemService.Get(item.ClaimBasicItemID); // item.ClaimBasicName = obs?.Where(x => x.ID == item.ClaimBasicID)?.FirstOrDefault().ItemName; // item.ClaimBasicItemName = obsi.Name; // item.claimRequisitionFileAttacment = new FileAttachment(); // item.claimRequisitionFileAttacment = draftedClaimRequisition.IRFileAttacments?.Where(x => x.RefchildID == item.ID)?.FirstOrDefault(); // // item.claimRequisitionFileAttacment.PreviousFileTobase64 = item.claimRequisitionFileAttacment.FileTobase64; // if (item.claimRequisitionFileAttacment != null) // item.claimRequisitionFileAttacment.PreviousFileTobase64 = item.claimRequisitionFileAttacment == null ? null : item.claimRequisitionFileAttacment.FileTobase64; // } // } // } // catch (Exception ex) // { // return StatusCode(StatusCodes.Status500InternalServerError, ex.Message); // } // return Ok(draftedClaimRequisition); //} //[HttpGet] //[Route("getClaim/{claimId}")] //public ActionResult GetClaim(int claimId) //{ // CurrentUser currentUser = CurrentUser.GetCurrentUser(HttpContext.User); // ClaimRequisition prevClaimRequisition = new ClaimRequisition(); // List obs = new List(); // // List obsi = new List(); // ClaimBasicItem obsi = new ClaimBasicItem(); // try // { // prevClaimRequisition = _claimRequisitionService.Get(claimId); // obs = _claimBasicService.Get(EnumStatus.Regardless, (int)currentUser.PayrollTypeID); // //field fillup // //if (prevClaimRequisition != null) // //{ // // if (prevClaimRequisition.ClaimBasicID != null && prevClaimRequisition.ClaimBasicID > 0) // // { // // var selecetedClaimBasic = obs.Find(x => x.ID == prevClaimRequisition.ClaimBasicID); // // if (selecetedClaimBasic != null) // // { // // if (selecetedClaimBasic.IsField1 == true && selecetedClaimBasic.Field1Type == EnumFieldTypeStatus.Date) // // { // // prevClaimRequisition.Field1 = Convert.ToDateTime(prevClaimRequisition.Field1); // // } // // else if (selecetedClaimBasic.IsField1 == true && selecetedClaimBasic.Field1Type == EnumFieldTypeStatus.Number) // // { // // prevClaimRequisition.Field1 = Convert.ToDouble(prevClaimRequisition.Field1, CultureInfo.InvariantCulture); ; // // } // // if (selecetedClaimBasic.IsField2 == true && selecetedClaimBasic.Field2Type == EnumFieldTypeStatus.Date) // // { // // prevClaimRequisition.Field2 = Convert.ToDateTime(prevClaimRequisition.Field2); // // } // // else if (selecetedClaimBasic.IsField2 == true && selecetedClaimBasic.Field2Type == EnumFieldTypeStatus.Number) // // { // // prevClaimRequisition.Field2 = Convert.ToDouble(prevClaimRequisition.Field2, CultureInfo.InvariantCulture); ; // // } // // if (selecetedClaimBasic.IsField3 == true && selecetedClaimBasic.Field3Type == EnumFieldTypeStatus.Date) // // { // // prevClaimRequisition.Field3 = Convert.ToDateTime(prevClaimRequisition.Field3); // // } // // else if (selecetedClaimBasic.IsField3 == true && selecetedClaimBasic.Field3Type == EnumFieldTypeStatus.Number) // // { // // prevClaimRequisition.Field3 = Convert.ToDouble(prevClaimRequisition.Field3, CultureInfo.InvariantCulture); ; // // } // // if (selecetedClaimBasic.IsField4 == true && selecetedClaimBasic.Field4Type == EnumFieldTypeStatus.Date) // // { // // prevClaimRequisition.Field4 = Convert.ToDateTime(prevClaimRequisition.Field4); // // } // // else if (selecetedClaimBasic.IsField4 == true && selecetedClaimBasic.Field4Type == EnumFieldTypeStatus.Number) // // { // // prevClaimRequisition.Field4 = Convert.ToDouble(prevClaimRequisition.Field4, CultureInfo.InvariantCulture); ; // // } // // } // // } // //} // if (prevClaimRequisition != null) // { // prevClaimRequisition.ClaimRequisitionItems = _claimRequisitionService.GetClaimRequisitionItem(prevClaimRequisition.ID.ToString()); // if (prevClaimRequisition.ClaimRequisitionItems != null && prevClaimRequisition.ClaimRequisitionItems.Count > 0) // { // foreach (var item in prevClaimRequisition.ClaimRequisitionItems) // { // if (item != null) // { // if (item.ClaimBasicID > 0) // { // var selecetedClaimBasic = obs.Find(x => x.ID == item.ClaimBasicID); // if (selecetedClaimBasic != null) // { // if (selecetedClaimBasic.IsField1 == true) // { // item.Description += " " + selecetedClaimBasic.Field1 +" :"; // if (selecetedClaimBasic.Field1Type == EnumFieldTypeStatus.Date) // { // var Field1 = Convert.ToDateTime(item.Field1) == DateTime.MinValue ? null : Convert.ToDateTime(item.Field1); // item.VisitingDate= Convert.ToDateTime(item.Field1) == DateTime.MinValue ? null : Convert.ToDateTime(item.Field1); // item.Description += " " + Field1 + " "; // } // else if (selecetedClaimBasic.Field1Type == EnumFieldTypeStatus.Number) // { // var Field1 = Convert.ToDouble(item.Field1, CultureInfo.InvariantCulture); // item.Description += " " + Field1 + " "; // } // else // { // item.Description += " " + item.Field1 + " "; // } // } // if (selecetedClaimBasic.IsField2 == true) // item.Description += selecetedClaimBasic.Field2 + " :"; // if (selecetedClaimBasic.IsField2 == true && selecetedClaimBasic.Field2Type == EnumFieldTypeStatus.Date) // { // var Field2 = Convert.ToDateTime(item.Field2); // if (Field2 == DateTime.MinValue) // { // Field2 = null; // } // item.VisitingDate = Field2; // item.Description += " " + Field2 + " " + " "; // } // else if (selecetedClaimBasic.IsField2 == true && selecetedClaimBasic.Field2Type == EnumFieldTypeStatus.Number) // { // var Field2 = Convert.ToDouble(item.Field2, CultureInfo.InvariantCulture); // item.Description += " " + Field2 + " " + " "; // } // else // { // item.Description += " " + item.Field2 + " " + " "; // } // if (selecetedClaimBasic.IsField3 == true) // item.Description += selecetedClaimBasic.Field3 + " :"; // //if (selecetedClaimBasic.IsField3 == true && selecetedClaimBasic.Field3Type == EnumFieldTypeStatus.Date) // //{ // // var Field3 = Convert.ToDateTime(item.Field3); // // if (Field3 == DateTime.MinValue) // // { // // Field3 = null; // // } // // item.Description += " " + Field3 + " "; // // item.VisitingDate = Field3; // //} // //else if (selecetedClaimBasic.IsField3 == true && selecetedClaimBasic.Field3Type == EnumFieldTypeStatus.Number) // //{ // // var Field3 = Convert.ToDouble(item.Field3, CultureInfo.InvariantCulture); // // item.Description += " " + Field3 + " "; // //} // //else // //{ // // item.Description += " " + item.Field3 + " "; // //} // //if (selecetedClaimBasic.IsField4 == true) // // item.Description += selecetedClaimBasic.Field4 + " :"; // //if (selecetedClaimBasic.IsField4 == true && selecetedClaimBasic.Field4Type == EnumFieldTypeStatus.Date) // //{ // // var Field4 = Convert.ToDateTime(item.Field4); // // if (Field4 == DateTime.MinValue) // // { // // Field4 = null; // // } // // item.VisitingDate = Field4; // // item.Description += " " + Field4 + " "; // //} // //else if (selecetedClaimBasic.IsField4 == true && selecetedClaimBasic.Field4Type == EnumFieldTypeStatus.Number) // //{ // // var Field4 = Convert.ToDouble(item.Field4, CultureInfo.InvariantCulture); // // item.Description += " " + Field4 + " "; // //} // //else // //{ // // item.Description += " " + item.Field4 + " "; // //} // if (selecetedClaimBasic.IsField5 == true) // item.Description += selecetedClaimBasic.Field5 + " :"; // if (selecetedClaimBasic.IsField5 == true && selecetedClaimBasic.Field5Type == EnumFieldTypeStatus.Date) // { // var Field5 = Convert.ToDateTime(item.Field5); // if (Field5 == DateTime.MinValue) // { // Field5 = null; // } // item.VisitingDate = Field5; // item.Description += " " + Field5 + " "; // } // else if (selecetedClaimBasic.IsField5 == true && selecetedClaimBasic.Field5Type == EnumFieldTypeStatus.Number) // { // var Field5 = Convert.ToDouble(item.Field5, CultureInfo.InvariantCulture); // item.Description += " " + Field5 + " "; // } // else // { // item.Description += " " + item.Field5 + " "; // } // if (selecetedClaimBasic.IsField6 == true && selecetedClaimBasic.Field6Type == EnumFieldTypeStatus.Date) // { // var Field6 = Convert.ToDateTime(item.Field5); // if (Field6 == DateTime.MinValue) // { // Field6 = null; // } // item.VisitingDate = Field6; // item.Description += " " + Field6 + " "; // } // else if (selecetedClaimBasic.IsField6 == true && selecetedClaimBasic.Field6Type == EnumFieldTypeStatus.Number) // { // var Field6 = Convert.ToDouble(item.Field6, CultureInfo.InvariantCulture); // item.Description += " " + Field6 + " "; // } // else // { // item.Description += " " + item.Field6 + " "; // } // } // } // } // } // //prevClaimRequisition.IRFileAttacments = new List(); // //prevClaimRequisition.IRFileAttacments = _claimRequisitionService.GetIRFileAttachments(prevClaimRequisition.ID); // } // foreach (var item in prevClaimRequisition.ClaimRequisitionItems) // { // obsi = _claimBasicItemService.Get(item.ClaimBasicItemID); // item.ClaimBasicName = obs?.Where(x => x.ID == item.ClaimBasicID)?.FirstOrDefault().ItemName; // item.ClaimBasicItemName = obsi.Name; // //File Retrieve // // item.claimRequisitionFileAttacment = new FileAttachment(); // //item.claimRequisitionFileAttacment = prevClaimRequisition.IRFileAttacments?.Where(x => x.RefchildID == item.ID)?.FirstOrDefault(); // item.claimRequisitionFileAttacment = _claimRequisitionService.GetByRefChildId(prevClaimRequisition.ID, item.ID); // if (item.claimRequisitionFileAttacment != null) // { // item.claimRequisitionFileAttacment.PreviousFileTobase64 = item.claimRequisitionFileAttacment == null ? null : item.claimRequisitionFileAttacment.FileTobase64; // item.IsFileExist = item.claimRequisitionFileAttacment.PreviousFileTobase64 != null ? true : false; // } // } // } // } // catch (Exception ex) // { // return StatusCode(StatusCodes.Status500InternalServerError, ex.Message); // } // return Ok(prevClaimRequisition); //} //[HttpGet] //[Route("GetMyPendingList/{ids}/{fromDate}/{toDate}/")] //public ActionResult GetMyPendingList(string ids, DateTime fromDate, DateTime toDate) //{ // DataTable odata = null; // try // { // ids = (ids == "null" || ids == "undefined") ? null : ids; // CurrentUser currentUser = CurrentUser.GetCurrentUser(HttpContext.User); // odata = this._claimRequisitionService.GetPendingList((int)currentUser.EmployeeID, ids, fromDate, toDate); // } // catch (Exception ex) // { // return StatusCode(StatusCodes.Status500InternalServerError, ex.Message); // } // return Ok(odata); //} #endregion } }