示例#1
0
        public static string AddEditBank(BankVm bankVm)
        {
            int                bankId  = bankVm.BankId;
            string             isSaved = "true";
            AccountingEntities db      = new AccountingEntities();
            Bank               bankDb;
            List <BankAccount> dbContactList = new List <BankAccount>();

            if (bankId == 0) //Add new case
            {
                bankDb = new Bank();
            }
            else
            {
                bankDb = db.Banks.Include("BankAccounts").Where(x => x.BankId == bankId).FirstOrDefault();
                //delete any removed contact on the screen
                dbContactList = bankDb.BankAccounts.ToList();

                //Get contact Ids sent from the screen
                List <int> contactVmIds = bankVm.BankAccounts.Select(x => x.BankAccId).ToList();
                var        contactDel   = dbContactList.Where(x => !contactVmIds.Contains(x.BankAccId)).ToList();

                foreach (var item in contactDel)
                {
                    db.BankAccounts.Remove(item);
                }
            }

            Mapper.CreateMap <BankVm, Bank>().IgnoreAllNonExisting();
            Mapper.CreateMap <BankAccountVm, BankAccount>().IgnoreAllNonExisting();
            Mapper.Map(bankVm, bankDb);



            if (bankId == 0)
            {
                db.Banks.Add(bankDb);
            }


            try
            {
                db.SaveChanges();
            }
            catch (DbEntityValidationException e)
            {
                isSaved = "false " + e.Message;
            }
            catch (Exception e)
            {
                isSaved = "false " + e.Message;
            }

            return(isSaved);
        }
示例#2
0
        public ActionResult Bank(BankVm model)
        {
            if (ModelState.IsValid)
            {
                Entity.EntityModels.Bank currency = Mapper.Map <Entity.EntityModels.Bank>(model);
                if (currency.Id == 0)
                {
                    ViewBag.message = bankManager.Save(currency);
                }
                else
                {
                    ViewBag.message = bankManager.Update(currency);
                }
                model = new BankVm();
                ModelState.Clear();
            }
            List <Bank> banks = bankManager.GetAllBank();

            ViewBag.Bank = banks;
            return(View(model));
        }
示例#3
0
        public ActionResult Add(int id = 0)
        {
            #region Check Rights
            bool hasRights;
            if (id == 0) //Check export rights
            {
                hasRights = AdminHelper.CheckUserAction(ScreenEnum.Bank, ActionEnum.Add);
            }
            else
            {
                hasRights = AdminHelper.CheckUserAction(ScreenEnum.Bank, ActionEnum.Edit);
            }

            if (!hasRights)
            {
                return(RedirectToAction("UnAuthorized", "Home", new { area = "" }));
            }

            #endregion
            BankVm bankVm = BankHelper.GetBankInfo(id);
            ViewBag.CurrencyList = ListCommonHelper.GetCurrencyList();
            return(View(bankVm));
        }
示例#4
0
        /// <summary>
        /// Add Bank Account to The Accounting chart
        /// </summary>
        /// <param name="bankId">Bank Id .. optional .. if 0 .. will get it in code</param>
        /// <param name="bankAccountId">Bank Account Id</param>
        /// <returns>The Accounting chart Account Number</returns>
        public static string AddBankAccountToChart(int bankId, int bankAccountId)
        {
            string debitAccId;
            string parentAccountId = ((int)AccountingChartEnum.CashInBanks).ToString();

            if (bankId == 0)
            {
                AccountingEntities db = new AccountingEntities();
                bankId = db.BankAccounts.Where(x => x.BankAccId == bankAccountId).FirstOrDefault().BankId;
            }

            BankVm        bankInfo    = BankHelper.GetBankInfo(bankId);
            BankAccountVm bankAccount = bankInfo.BankAccounts.Where(x => x.BankAccId == bankAccountId).FirstOrDefault();
            string        accNameEn   = bankAccount.AccountName + " (" + bankAccount.AccountNumber + ")";

            //Add new accountId to the chart
            debitAccId = AccountingChartHelper
                         .AddAccountToChart(accNameEn, accNameEn, parentAccountId);

            AccountingChartHelper.AddAccountIdToObj(debitAccId, "BankAccount", bankAccountId, "BankAccId");

            return(debitAccId);
        }
示例#5
0
        public static BankVm GetBankInfo(int id)
        {
            BankVm bankVm = new BankVm();

            if (id == 0)
            {
                BankAccountVm bankAccVm = new BankAccountVm();
                bankVm.BankAccounts.Add(bankAccVm);
            }
            else
            {
                AccountingEntities db = new AccountingEntities();
                Bank bankDbObj        = db.Banks.Include("BankAccounts")
                                        .Where(x => x.BankId == id).FirstOrDefault();

                Mapper.CreateMap <Bank, BankVm>()
                .ForMember(x => x.BankAccounts, y => y.MapFrom(s => s.BankAccounts));
                Mapper.CreateMap <BankAccount, BankAccountVm>();

                Mapper.Map(bankDbObj, bankVm);
            }

            return(bankVm);
        }
示例#6
0
        public ActionResult AddEditBank(BankVm bankVm)
        {
            string isSaved = BankHelper.AddEditBank(bankVm);

            return(Json(isSaved));
        }