public PaymentLists GetPaymentLists(PaymentListsInputModel model) { PaymentLists response; response = claimRepository.GetPaymentLists(model); return(response); }
public IActionResult GetPaymentLists([FromBody] PaymentListsInputModel model) { if (!ModelState.IsValid) { var error = ModelState.Values.FirstOrDefault().Errors.FirstOrDefault().ErrorMessage; return(BadRequest(new { error_occured = true, error_message = error })); } try { var response = _imisModules.GetClaimModule().GetClaimLogic().GetPaymentLists(model); return(Json(response)); } catch (Exception e) { return(BadRequest(new { error_occured = true, error_message = e.Message })); } }
public PaymentLists GetPaymentLists(PaymentListsInputModel model) { PaymentLists message = new PaymentLists(); using (var imisContext = new ImisDB()) { int?HFID; int?PLServiceID; int?PLItemID; List <CodeName> hf = new List <CodeName>(); List <CodeNamePrice> plItemsDetail = new List <CodeNamePrice>(); List <CodeNamePrice> plServicesDetail = new List <CodeNamePrice>(); HFID = imisContext.TblClaimAdmin .Where(c => c.ClaimAdminCode == model.claim_administrator_code && c.ValidityTo == null) .Select(x => x.Hfid).FirstOrDefault(); PLServiceID = imisContext.TblHf .Where(h => h.HfId == HFID) .Select(x => x.PlserviceId).FirstOrDefault(); PLItemID = imisContext.TblHf .Where(h => h.HfId == HFID) .Select(x => x.PlitemId).FirstOrDefault(); hf = imisContext.TblHf .Where(h => h.HfId == HFID) .Select(x => new CodeName() { code = x.Hfcode, name = x.Hfname }).ToList(); plItemsDetail = imisContext.TblPlitemsDetail .Join(imisContext.TblItems, p => p.ItemId, i => i.ItemId, (p, i) => new { TblPlitemsDetail = p, TblItems = i }) .Where(r => r.TblItems.ValidityTo == null) .Where(r => r.TblPlitemsDetail.PlitemId == PLItemID && r.TblPlitemsDetail.ValidityTo == null && (model.last_update_date == null || r.TblPlitemsDetail.ValidityFrom >= model.last_update_date)) .Select(x => new CodeNamePrice() { code = x.TblItems.ItemCode, name = x.TblItems.ItemName, price = (x.TblPlitemsDetail.PriceOverule == null) ? x.TblItems.ItemPrice.ToString() : x.TblPlitemsDetail.PriceOverule.ToString() }).ToList(); plServicesDetail = imisContext.TblPlservicesDetail .Join(imisContext.TblServices, p => p.ServiceId, i => i.ServiceId, (p, i) => new { TblPlservicesDetail = p, TblServices = i }) .Where(r => r.TblServices.ValidityTo == null) .Where(r => r.TblPlservicesDetail.PlserviceId == PLServiceID && r.TblPlservicesDetail.ValidityTo == null && (model.last_update_date == null || r.TblPlservicesDetail.ValidityFrom >= model.last_update_date)) .Select(x => new CodeNamePrice() { code = x.TblServices.ServCode, name = x.TblServices.ServName, price = (x.TblPlservicesDetail.PriceOverule == null) ? x.TblServices.ServPrice.ToString() : x.TblPlservicesDetail.PriceOverule.ToString() }).ToList(); message.health_facility_code = hf.Select(x => x.code).FirstOrDefault(); message.health_facility_name = hf.Select(x => x.name).FirstOrDefault(); message.pricelist_items = plItemsDetail; message.pricelist_services = plServicesDetail; message.update_since_last = DateTime.UtcNow; } return(message); }
public PaymentLists GetPaymentLists(PaymentListsInputModel model) { var sSQL = @"DECLARE @HFID INT, @PLServiceID INT, @PLItemID INT SELECT @HFID = HFId FROM tblClaimAdmin WHERE ClaimAdminCode = @ClaimAdminCode AND ValidityTo IS NULL SELECT @PLServiceID = PLServiceID FROM tblHF Where HFid = @HFID SELECT @PLItemID = PLItemID FROM tblHF Where HFid = @HFID SELECT tblHF.HFCode, tblHF.HFName FROM tblHF WHERE HfID = @HFID SELECT Items.ItemCode AS code, Items.ItemName AS name, ISNULL(PLID.PriceOverule,Items.ItemPrice) AS price from tblPLItemsDetail PLID INNER JOIN tblItems Items ON PLID.ItemID = Items.ItemID AND Items.ValidityTo IS NULL WHERE PLItemID = @PLItemID AND PLID.ValidityTo IS NULL AND (PLID.ValidityFrom >= @LastUpdated OR @LastUpdated IS NULL) Select SE.ServCode AS code, SE.ServName AS name, ISNULL(PLSD.PriceOverule,SE.ServPrice) AS price FROM tblPLServicesDetail PLSD INNER JOIN tblServices SE ON PLSD.ServiceID = SE.ServiceID AND SE.ValidityTo IS NULL WHERE PLServiceID = @PLServiceID AND PLSD.ValidityTo IS NULL AND (PLSD.ValidityFrom >= @LastUpdated OR @LastUpdated IS NULL) "; DataHelper helper = new DataHelper(Configuration); SqlParameter date; if (model.last_update_date != null) { date = new SqlParameter("@LastUpdated", model.last_update_date); } else { date = new SqlParameter("@LastUpdated", System.Data.SqlTypes.SqlDateTime.MinValue); } SqlParameter[] sqlParameters = { new SqlParameter("@ClaimAdminCode", model.claim_administrator_code), date }; PaymentLists message = new PaymentLists(); try { var response = helper.FillDataSet(sSQL, sqlParameters, CommandType.Text); if (response.Tables.Count > 0) { var diagnoses = response.Tables[0]; var items = JsonConvert.SerializeObject(response.Tables[1]); var services = JsonConvert.SerializeObject(response.Tables[2]); if (diagnoses.Rows.Count > 0) { message.health_facility_code = diagnoses.Rows[0]["HFCode"].ToString(); message.health_facility_name = diagnoses.Rows[0]["HFName"].ToString(); } message.pricelist_items = JsonConvert.DeserializeObject <List <CodeNamePrice> >(items); message.pricelist_services = JsonConvert.DeserializeObject <List <CodeNamePrice> >(services); message.update_since_last = DateTime.UtcNow; } } catch (Exception e) { throw e; } return(message); }