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

            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.ForeignAgencyId     = new SelectList(_agency.GetAgencies(), "Id", "OfficeName");
            return(View(agencyTransfer));
        }
        public IActionResult Add(ForeignAgencyTransferViewModel agencytransferViewModels)
        {
            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.ForeignAgencyId = new SelectList(_agency.GetAgencies(), "Id", "OfficeName");
            if (agencytransferViewModels.PurposeId == null)
            {
                ModelState.AddModelError("", "الرجاء ادخال الغرض من التحويل");
            }
            if (agencytransferViewModels.CurrencyId == null)
            {
                ModelState.AddModelError("", "الرجاء ادخال نوع العملة");
            }
            if (agencytransferViewModels.TransferBankId == null)
            {
                ModelState.AddModelError("", "الرجاء ادخال نوع البنك");
            }
            if (agencytransferViewModels.PaymentMethodId == null)
            {
                ModelState.AddModelError("", "الرجاء ادخال طريقة الدفع ");
            }
            if (agencytransferViewModels.ForeignAgencyId == null)
            {
                ModelState.AddModelError("", "الرجاء تحديد الوكيل  ");
            }
            if (agencytransferViewModels.Id == 0)
            {
                ModelState.Remove("Id");
                ModelState.Remove("PurposeId");
                ModelState.Remove("CurrencyId");
                ModelState.Remove("TransferBankId");
                ModelState.Remove("PaymentMethodId");
                ModelState.Remove("ForeignAgencyId");
                if (ModelState.IsValid)
                {
                    var agency = _mapper.Map <ForeignAgencyTransfer>(agencytransferViewModels);
                    _agencyTransfer.AddForeignAgencyTransfer(agency);
                    _toastNotification.AddSuccessToastMessage("تم التحويل  للوكيل بنجاح  ");
                    return(RedirectToAction(nameof(Index)));
                }

                return(View(agencytransferViewModels));
            }
            else
            {
                ModelState.Remove("PurposeId");
                ModelState.Remove("CurrencyId");
                ModelState.Remove("TransferBankId");
                ModelState.Remove("PaymentMethodId");
                ModelState.Remove("ForeignAgencyId");
                if (ModelState.IsValid)
                {
                    var agency = _mapper.Map <ForeignAgencyTransfer>(agencytransferViewModels);
                    _agencyTransfer.UpdateForeignAgencyTransfer(agencytransferViewModels.Id, agency);
                    _toastNotification.AddSuccessToastMessage("تم تعديل أجراء التحويل بنجاح");
                    return(RedirectToAction(nameof(Index)));
                }
                return(View("Add", agencytransferViewModels));
            }
        }