public bool Remove(int id) { Payment payment = _context.Payment.Where(m => m.Lite_Merchant_Trace == id).FirstOrDefault(); PaymentAddress paymentAddress = _context.PaymentAddress.Where(m => m.Lite_Merchant_Trace == id).FirstOrDefault(); if (payment != null) { _context.Payment.Remove(payment); var result = _context.SaveChanges(); } if (paymentAddress != null) { _context.PaymentAddress.Remove(paymentAddress); var result = _context.SaveChanges(); } List <PaymentLists> paymentLists = _context.PaymentLists.Where(m => m.Lite_Merchant_Trace == id).ToList(); foreach (var listItem in paymentLists) { _context.PaymentLists.Remove(listItem); _context.SaveChanges(); } if (paymentLists.Count > 0) { PaymentLists paylist = paymentLists.FirstOrDefault(); List <PaymentProducts> paymentProducts = _context.PaymentProducts.Where(m => m.Lite_Merchant_Trace == id && m.PaymentListsId == paylist.PaymentListsId).ToList(); foreach (var product in paymentProducts) { _context.PaymentProducts.Remove(product); _context.SaveChanges(); } } return(true); }
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 Resultss Success([FromBody] PaymentData model) { Resultss resultss = new Resultss(); string s = ""; try { Payment payment = _context.Payment.Where(m => m.Lite_Merchant_Trace == model.PData.Lite_Merchant_Trace).FirstOrDefault(); if (payment == null) { //Mapper.Map(model.PData, payment); _context.Payment.Add(model.PData); var result = _context.SaveChanges(); } else { _context.Payment.Remove(payment); _context.SaveChanges(); _context.Payment.Add(model.PData); var result = _context.SaveChanges(); } PaymentAddress paymentAddress = _context.PaymentAddress.Where(m => m.Lite_Merchant_Trace == model.PData.Lite_Merchant_Trace).FirstOrDefault(); if (paymentAddress == null) { model.AData.Lite_Merchant_Trace = model.PData.Lite_Merchant_Trace; _context.PaymentAddress.Add(model.AData); var result = _context.SaveChanges(); } else { model.AData.Lite_Merchant_Trace = model.PData.Lite_Merchant_Trace; _context.PaymentAddress.Remove(paymentAddress); _context.SaveChanges(); model.AData.Lite_Merchant_Trace = model.PData.Lite_Merchant_Trace; _context.PaymentAddress.Add(model.AData); _context.SaveChanges(); } List <PaymentLists> paymentLists = _context.PaymentLists.Where(m => m.Lite_Merchant_Trace == model.PData.Lite_Merchant_Trace).ToList(); foreach (var listItem in paymentLists) { _context.PaymentLists.Remove(listItem); _context.SaveChanges(); } if (paymentLists.Count > 0) { PaymentLists paylist = paymentLists.FirstOrDefault(); List <PaymentProducts> paymentProducts = _context.PaymentProducts.Where(m => m.Lite_Merchant_Trace == model.PData.Lite_Merchant_Trace && m.PaymentListsId == paylist.PaymentListsId).ToList(); foreach (var product in paymentProducts) { _context.PaymentProducts.Remove(product); _context.SaveChanges(); } } foreach (var item in model.OData) { s = item.Total; if (paymentLists.Count == 0) { PaymentLists paymentL = new PaymentLists { Grade = item.Grade, Lite_Merchant_Trace = model.PData.Lite_Merchant_Trace, NoOfLearners = item.NoOfLearners, Total = Convert.ToDecimal(item.Total) }; _context.PaymentLists.Add(paymentL); var result = _context.SaveChanges(); List <PaymentProducts> Plist = new List <PaymentProducts>(); foreach (var items in item.Products) { PaymentProducts paymentProducts1 = new PaymentProducts() { Grade = items.Grade, Description = items.Description, LineTotal = items.LineTotal, Lite_Merchant_Trace = model.PData.Lite_Merchant_Trace, PaymentListsId = paymentL.PaymentListsId, ProductCode = items.ProductCode, Quantity = items.Quantity, ScoolGradesListID = items.ScoolGradesListID, Selected = items.Selected, UnitPrice = items.UnitPrice }; _context.PaymentProducts.Attach(paymentProducts1); } var results = _context.SaveChanges(); } } resultss.awnser = true; return(resultss); } catch (Exception ex) { var aa = ex.InnerException; resultss.awnser = false; resultss.error = ex.Message.ToString(); return(resultss); } //var client = new RestClient("https://backoffice.nedsecure.co.za/Lite/Transactions/New/EasyAuthorise.aspx"); //var request = new RestRequest(Method.POST); //request.AddHeader("postman-token", "f76737bf-5509-94d4-50e1-5ac40f6780d8"); //request.AddHeader("cache-control", "no-cache"); //request.AddHeader("content-type", "application/x-www-form-urlencoded"); //request.AddParameter("application/x-www-form-urlencoded", "Lite_Merchant_Applicationid=%7B9EBD4A80-3CA5-4968-9004-1A5A827E506E%7D&Lite_Website_Fail_url=http%3A%2F%2Flocalhost%3A58128%2Fapi%2FFail&Lite_Website_TryLater_url=http%3A%2F%2Flocalhost%3A58128%2Fapi%2FTrylater&Lite_Website_Error_url=http%3A%2F%2Flocalhost%3A58128%2Fapi%2FTrylater&Lite_Order_LineItems_Product_1=Donation&Lite_Order_LineItems_Quantity_1=1&Lite_Order_LineItems_Amount_1=1000&Lite_ConsumerOrderID_PreFix=DML&Ecom_BillTo_Online_Email=mathhys.smith%40gmail.com&Ecom_Payment_Card_Protocols=iVeri&Ecom_ConsumerOrderID=AUTOGENERATE&Ecom_TransactionComplete=&Lite_Result_Description=&Lite_Merchant_Trace=779", ParameterType.RequestBody); //IRestResponse response = client.Execute(request); }
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); }