Exemple #1
0
        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 }));
            }
        }
Exemple #3
0
        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);
        }