public IActionResult Create(int mt) { var currentRoleId = partnerManager.GetCurrentUserRole(this.HttpContext); var permission = partnerActivity.GetPartAct("MoneyTransfer.Adjustment", currentRoleId); if (permission == null) { toastNotification.AddErrorToastMessage("ليس لديك الصلاحيات الكافية ", new ToastrOptions { Title = "" }); return(Redirect(Request.Headers["Referer"].ToString())); } if (permission.Details == null) { toastNotification.AddErrorToastMessage("ليس لديك الصلاحيات الكافية ", new ToastrOptions { Title = "" }); return(Redirect(Request.Headers["Referer"].ToString())); } if (permission.Details.Count == 0) { toastNotification.AddErrorToastMessage("ليس لديك الصلاحيات الكافية ", new ToastrOptions { Title = "" }); return(Redirect(Request.Headers["Referer"].ToString())); } var moneyTransfer = new MoneyTransferRepo(db, partnerManager, partnerActivity).GetSingleOrDefault(mt); if (moneyTransfer == null) { toastNotification.AddErrorToastMessage("لا توجد بيانات "); return(Redirect(Request.Headers["Referer"].ToString())); } if (moneyTransfer.Adjusted || moneyTransfer.AdjustmentNo > 0) { toastNotification.AddErrorToastMessage("تم اجراء تسوية سابقة على هذه العملية ", new ToastrOptions { Title = "" }); return(Redirect(Request.Headers["Referer"].ToString())); } if (!permission.Details.Any(x => x.ToRole.Id == moneyTransfer.CreatedBy.Role.Id)) { toastNotification.AddErrorToastMessage("ليس لديك الصلاحيات الكافية لاجراء تسوية لهذه الجهة ", new ToastrOptions { Title = "" }); return(Redirect(Request.Headers["Referer"].ToString())); } var model = new CreateAdjustmentDto(); model.OriginTrans = moneyTransfer; model.TaxPercent = moneyTransfer.TaxPercent; model.BonusPercent = moneyTransfer.BonusPercent; model.BounsTaxPercent = moneyTransfer.BounsTaxPercent; model.FixedFactor = moneyTransfer.FixedFactor; return(View(model)); }
public IActionResult Create(CreateAdjustmentDto model) { if (ModelState.IsValid) { var adj = new Adjustment(); adj.CreatedBy.Id = partnerManager.GetCurrentUserId(this.HttpContext); adj.CreatedBy.Account = partnerManager.GetCurrentUserAccount(this.HttpContext); adj.MoneyTransferId = model.OriginTrans.Id; adj.Amount = model.Amount; adj.AccessChannel.Id = "web"; adj.Note = model.Note; var result = new AdjustmentRepo(db, partnerManager, partnerActivity).Create(adj); if (result.Success) { adj.DestPartner = partnerManager.GetPartnerByAccount(model.OriginTrans.Partner.Account); adj.SrcPartner = partnerManager.GetPartnerByAccount(model.OriginTrans.CreatedBy.Account); toastNotification.AddInfoToastMessage("تم انشاء التسوية بنجاح ", new ToastrOptions { Title = "" }); new NotificationRepo(db, partnerManager).SendNotification <Adjustment>("MoneyTransfer.Adjustment", result.AffectedCount, adj); return(RedirectToAction("Index", "Home")); } else { switch (result.AffectedCount) { case -513: model.Error = "ليس لديك الصلاحية الكافية لاجراء التسوية"; break; case -505: model.Error = "هناك خطأ في احدى القيم ، مما ادى الى فشل اجراء التسوية"; break; case -500: model.Error = "هناك احدى البيانات المهمة لم تعد متوفرة"; break; case -502: model.Error = "مبلغ التسوية اقل من المبلغ المسموح به"; break; case -503: model.Error = "مبلغ التسوية اكبر من المبلغ المسموح به"; break; case -509: model.Error = "تم عمل تسوية في وقت سابق"; break; case -510: model.Error = "مبلغ التسوية غير صحيح سوف يجعل الحركة السابقة غير صحيحة"; break; case -507: model.Error = "بيانات الارصدة لم تعد محدثة"; break; case -508: model.Error = "فات الاوان على اجراء تسوية لهذه العملية"; break; case -501: model.Error = "الرصيد غير كافي"; break; default: model.Error = "لم يتم اجراء التسوية بنجاح" + result.AffectedCount; break; } } } return(View(model)); }