public IActionResult Add()
        {
            DelegateTransferViewModel agencyTransfer = new DelegateTransferViewModel();

            agencyTransfer.TransferDate = DateTime.Now.ToString("d", CultureInfo.InvariantCulture);
            ViewBag.PurposeId           = new SelectList(_purpose.GetTransferPurposes(), "Id", "Name");
            ViewBag.CurrencyId          = new SelectList(_currency.GetCurrencies(), "Id", "Name");
            ViewBag.TransferBankId      = new SelectList(_bank.GetBankDetails(), "Id", "Name");
            ViewBag.PaymentMethodId     = new SelectList(_payment.GetPaymentMethods(), "Id", "Name");
            ViewBag.UserDelegateId      = new SelectList(_userdelegate.GetDelegates(), "Id", "Name");
            return(View(agencyTransfer));
        }
        public IActionResult Add(DelegateTransferViewModel delegatetransferViewModels)
        {
            ViewBag.PurposeId       = new SelectList(_purpose.GetTransferPurposes(), "Id", "Name");
            ViewBag.TransferBankId  = new SelectList(_bank.GetBankDetails(), "Id", "Name");
            ViewBag.CurrencyId      = new SelectList(_currency.GetCurrencies(), "Id", "Name");
            ViewBag.PaymentMethodId = new SelectList(_payment.GetPaymentMethods(), "Id", "Name");
            ViewBag.UserDelegateId  = new SelectList(_userdelegate.GetDelegates(), "Id", "Name");
            if (delegatetransferViewModels.PurposeId == null)
            {
                ModelState.AddModelError("", "الرجاء ادخال الغرض من التحويل");
            }
            if (delegatetransferViewModels.CurrencyId == null)
            {
                ModelState.AddModelError("", "الرجاء ادخال نوع العملة");
            }
            if (delegatetransferViewModels.TransferBankId == null)
            {
                ModelState.AddModelError("", "الرجاء ادخال نوع البنك");
            }
            if (delegatetransferViewModels.PaymentMethodId == null)
            {
                ModelState.AddModelError("", "الرجاء ادخال طريقة الدفع ");
            }
            if (delegatetransferViewModels.UserDelegateId == null)
            {
                ModelState.AddModelError("", "الرجاء تحديد المندوب  ");
            }
            if (delegatetransferViewModels.Id == 0)
            {
                ModelState.Remove("Id");
                ModelState.Remove("PurposeId");
                ModelState.Remove("CurrencyId");
                ModelState.Remove("TransferBankId");
                ModelState.Remove("PaymentMethodId");
                ModelState.Remove("UserDelegateId");
                if (ModelState.IsValid)
                {
                    var delegateTreansfer = _mapper.Map <DelegateTransfer>(delegatetransferViewModels);
                    _delegateTransfer.AddDelegateTransfer(delegateTreansfer);
                    _toastNotification.AddSuccessToastMessage("تم التحويل  للوكيل بنجاح  ");
                    return(RedirectToAction(nameof(Index)));
                }

                return(View(delegatetransferViewModels));
            }
            else
            {
                ModelState.Remove("PurposeId");
                ModelState.Remove("TransferBankId");
                ModelState.Remove("CurrencyId");
                ModelState.Remove("PaymentMethodId");
                ModelState.Remove("UserDelegateId");
                if (ModelState.IsValid)
                {
                    var delegateTransfer = _mapper.Map <DelegateTransfer>(delegatetransferViewModels);
                    _delegateTransfer.UpdateDelegateTransfer(delegatetransferViewModels.Id, delegateTransfer);
                    _toastNotification.AddSuccessToastMessage("تم تعديل أجراء التحويل بنجاح");
                    return(RedirectToAction(nameof(Index)));
                }
                return(View("Add", delegatetransferViewModels));
            }
        }