public static int AddPay(Com.Pay mPay) { try { using (var ent = DB.Entity) { ent.Pays.Add(mPay); ent.SaveChanges(); return(mPay.PayID); } } catch (Exception e) { Log.DoLog(Com.Common.Action.AddPay, mPay.BuyID, -100, e.Message); return(-100); } }
public static bool UpdatePayAfterConfirm(Com.Pay mPay) { try { using (var ent = DB.Entity) { ent.Pays.Attach(mPay); var Entry = ent.Entry(mPay); Entry.Property(ex => ex.IsReverse).IsModified = true; Entry.Property(ex => ex.FinalState).IsModified = true; ent.SaveChanges(); return(true); } } catch (Exception e) { Log.DoLog(Com.Common.Action.UpdatePayAfterConfirm, mPay.BuyID, -100, e.Message); return(false); } }
public static bool UpdatePayAfterDargah(Com.Pay mPay) { try { using (var ent = DB.Entity) { ent.Pays.Attach(mPay); var Entry = ent.Entry(mPay); Entry.Property(ex => ex.DargahState).IsModified = true; Entry.Property(ex => ex.Token).IsModified = true; Entry.Property(ex => ex.TrackingNumber).IsModified = true; Entry.Property(ex => ex.ReferenceNumber).IsModified = true; Entry.Property(ex => ex.EndMoment).IsModified = true; ent.SaveChanges(); return(true); } } catch (Exception e) { Log.DoLog(Com.Common.Action.UpdateProduct, mPay.BuyID, -100, e.Message); return(false); } }
public async Task <Com.BuyResult> Buy() { Com.BuyResult buyResult = new Com.BuyResult(); try { if (!Request.Content.IsMimeMultipartContent()) { buyResult.HasError = true; buyResult.StateDesc = "Exception dade: UnsupportedMediaType"; return(buyResult); } var filesReadToProvider = await Request.Content.ReadAsMultipartAsync(); if (filesReadToProvider.Contents[0].Headers.ContentDisposition.Name == "Object" || filesReadToProvider.Contents[0].Headers.ContentDisposition.Name == "\"Object\"") { var jsonString = await filesReadToProvider.Contents[0].ReadAsStringAsync(); var serializer = new JavaScriptSerializer(); Com.MiddlePayment mMiddlePayment = serializer.Deserialize <Com.MiddlePayment>(jsonString); double SumPrice = 0; foreach (var itemPro in mMiddlePayment.productInfos) { var pr = BLL.Product.GetProductByID(itemPro.PID); if (pr == null) { buyResult.HasError = true; buyResult.StateDesc = "product nistesh"; return(buyResult); } SumPrice = SumPrice + (pr.Discount * itemPro.Count); } Com.Order order = new Com.Order() { IsDelivered = false, OrderTime = DateTime.Now, PayStatus = false, ProductsInfo = JsonConvert.SerializeObject(mMiddlePayment.productInfos), ReciverInfo = JsonConvert.SerializeObject(mMiddlePayment.MiliUser), UID = mMiddlePayment.MiliUser.UID, }; int OIDRes = BLL.Salement.AddOrder(order); if (OIDRes < 0) { buyResult.HasError = true; buyResult.StateDesc = "Etela'at Kharid dar DB Save nashode"; return(buyResult); } string BuyID = "70000332" + DateTime.Now.ToString("MMddyyyyhmms"); Com.PayResultRequested payResultRequested = PayStart(10000, BuyID); if (payResultRequested.Result > 0) { Com.Pay newPay = new Com.Pay() { Amount = 10000,//MablagheGhabelePardakht BuyID = BuyID, StartMoment = DateTime.Now, UID = mMiddlePayment.MiliUser.UID, OID = OIDRes }; int resDB = BLL.Payment.AddPay(newPay); if (resDB < 0) { buyResult.HasError = true; buyResult.StateDesc = "Etela'at pardakht dar DB Save nashode"; return(buyResult); } buyResult.PayID = resDB; buyResult.MablagheKoleKharid = (long)SumPrice; buyResult.HasError = false; buyResult.LinkPardakht = "http://www.poolban.ir/V2PayGate/Pool/StartPayRedirectww/" + payResultRequested.Result; buyResult.StateDesc = "OK Successsssss hoooraaa"; } else { buyResult.MablagheKoleKharid = (long)SumPrice; buyResult.HasError = true; buyResult.StateDesc = "irad dar dargahe pardakht"; } return(buyResult); } else { buyResult.HasError = true; buyResult.StateDesc = "eshtbahi dar ersal Post pish amade"; return(buyResult); } } catch (Exception e) { new System.Threading.Thread(delegate() { BLL.Log.DoLog(Com.Common.Action.Buy, "", -100, e.Message); }).Start(); buyResult.HasError = true; buyResult.StateDesc = "Exception dade: " + e.Message; return(buyResult); } }