Ejemplo n.º 1
0
        public async Task <ActionResult> Create(BankAccount account)
        {
            try
            {
                if (!BankAccountBL.ComprobateIdentify(account.User.DNI.Trim()))
                {
                    ModelState.AddModelError("", "El DNI/Pasaporte no está registrado");
                    return(View(account));
                }

                account.User      = BankAccountBL.GetUser(account.User.DNI);
                account.UserId    = BankAccountBL.GetUser(account.User.DNI).Id;
                account.TimeStamp = DateTime.Now;
                account.Balance   = 1000;

                var comission = new Enums();
                comission.SetComission(account.Type);
                account.Commission = comission.GetComissionValue(comission.comission);
                account.Code       = Utilities.Utilities.GenerateCode();
                while (!BankAccountBL.ValidateCode(account.Code))
                {
                    account.Code = Utilities.Utilities.GenerateCode();
                }

                await BankAccountBL.Create(account);

                return(RedirectToAction("Index"));
            }
            catch
            {
                return(View(account));
            }
        }
Ejemplo n.º 2
0
        public ActionResult Delete(int?id)
        {
            if (id == null || !BankAccountBL.ExistsAccount(id.Value))
            {
                return(RedirectToAction("Index"));
            }
            BankAccount account = BankAccountBL.Details(id.Value);

            return(View(account));
        }
Ejemplo n.º 3
0
        public async Task <ActionResult> Delete(int id)
        {
            try
            {
                await BankAccountBL.Delete(id);

                return(RedirectToAction("Index"));
            }
            catch
            {
                ModelState.AddModelError("", "No se pudo eliminar esta cuenta");
                return(View());
            }
        }
Ejemplo n.º 4
0
        public ActionResult <ListBankAccountResponseModel> GetListBankAccount()
        {
            ListBankAccountResponseModel res = new ListBankAccountResponseModel();

            try
            {
                BankAccountBL bl   = new BankAccountBL(DbContext);
                var           temp = bl.GetBankAccount();

                res.data     = temp;
                res.Message  = "Success";
                res.Response = true;

                return(res);
            }
            catch (Exception ex)
            {
                res.Message  = ex.Message;
                res.Response = false;

                return(res);
            }
        }
Ejemplo n.º 5
0
        public ActionResult <DeleteBankAccountResponseModel> DeleteBankAccount([FromBody] DeleteBankAccountInputModel data)
        {
            DeleteBankAccountResponseModel res = new DeleteBankAccountResponseModel();

            try
            {
                BankAccountBL posBL  = new BankAccountBL(DbContext);
                var           result = posBL.Delete(data);

                res.data = result;

                res.Message  = result.Message;
                res.Response = true;

                return(Ok(res));
            }
            catch (Exception ex)
            {
                res.Message  = ex.Message;
                res.Response = false;
                return(BadRequest(res));
            }
        }
Ejemplo n.º 6
0
        // GET: BankAccount
        public ActionResult Index()
        {
            var bankAccounts = BankAccountBL.BankAccountList();

            return(View(bankAccounts));
        }
Ejemplo n.º 7
0
        public async Task <ActionResult> Edit(BankAccount account)
        {
            await BankAccountBL.Edit(account);

            return(RedirectToAction("Index"));
        }
        private Guid GetStatusChangeAccounts(Entity statusChangeEntity,
                                             out Guid?personID, out Guid?costCenterID, out Guid?projectID, out Guid?foreignCurrencyID)
        {
            var dbHelper = CoreComponent.Instance.MainDbHelper;

            Guid?accountID = null;

            personID          = statusChangeEntity.GetFieldValue <Guid?>("Person");
            costCenterID      = statusChangeEntity.GetFieldValue <Guid?>("CostCenter");
            projectID         = statusChangeEntity.GetFieldValue <Guid?>("Project");
            foreignCurrencyID = statusChangeEntity.GetFieldValue <Guid?>("ForeignCurrency");

            if (foreignCurrencyID != null)
            {
                throw new NotImplementedException("ForeignCurrency not implemented in GetStatusChangeAccounts");
            }

            try
            {
                var newStatus              = statusChangeEntity.GetFieldValue <Guid>("NewStatus");
                var newStatusName          = OptionSetHelper.GetOptionSetItemName(newStatus);
                var newStatusFinancialYear = statusChangeEntity.GetFieldValue <Guid>("FinancialYear");

                if (newStatusName == "AsnadeDaryaftani")
                {
                    //در وضعیت اسناد دریافتنی، حسابی که درگیر می شود، همان حساب بدهکار در عملیات دریافت است
                    var receiveReceiptItem = dbHelper.FetchSingleByID("rp.ReceiveReceiptItem",
                                                                      statusChangeEntity.GetFieldValue <Guid>("Cheque_ReceiveReceiptItemID"), null);
                    accountID = receiveReceiptItem.GetFieldValue <Guid>("DebtorAccount");
                    //personID = receiveReceiptItem.GetFieldValue<Guid?>("Debtor_Person");
                    //costCenterID = receiveReceiptItem.GetFieldValue<Guid?>("Debtor_CostCenter");
                    //projectID = receiveReceiptItem.GetFieldValue<Guid?>("Debtor_Project");
                    //foreignCurrencyID = receiveReceiptItem.GetFieldValue<Guid?>("Debtor_ForeignCurrency");
                    //حساب اسناد دریافتنی شناور ندارد
                }
                else if (newStatusName == "DarJaryaneVosol")
                {
                    if (statusChangeEntity.GetFieldValue <Guid?>("BankAccount") == null)
                    {
                        throw new AfwException("حساب بانکی در تغییر وضعیت ثبت نشده است.");
                    }

                    accountID = new BankAccountBL().GetBankAccountAccAccountID(
                        statusChangeEntity.GetFieldValue <Guid>("BankAccount"), statusChangeEntity.GetFieldValue <Guid>("FinancialYear"),
                        BankAccountBL.AccAccountNames.HesabeAsnadeDarJaryaneVosool);
                }
                else if (newStatusName == "VosoolShode")
                {
                    if (statusChangeEntity.GetFieldValue <Guid?>("BankAccount") == null)
                    {
                        throw new AfwException("حساب بانکی در تغییر وضعیت ثبت نشده است.");
                    }

                    accountID = new BankAccountBL().GetBankAccountAccAccountID(
                        statusChangeEntity.GetFieldValue <Guid>("BankAccount"), statusChangeEntity.GetFieldValue <Guid>("FinancialYear"),
                        BankAccountBL.AccAccountNames.AccountInCoding);
                }
                else if (newStatusName == "VarizShodeBeSandogh")
                {
                    if (statusChangeEntity.GetFieldValue <Guid?>("Cash") == null)
                    {
                        throw new AfwException("صندوق در تغییر وضعیت ثبت نشده است.");
                    }

                    var cash = dbHelper.FetchSingleByID("rp.Cash", statusChangeEntity.GetFieldValue <Guid>("Cash"), null);
                    if (cash == null)
                    {
                        throw new AfwException("صندوق موجود نمی باشد.");
                    }

                    var cashAccSetting = dbHelper.FetchSingle("rp.CashAccSetting",
                                                              string.Format("Cash = '{0}' and FinancialYear = '{1}'",
                                                                            cash.GetFieldValue <Guid>("ID"), statusChangeEntity.GetFieldValue <Guid>("FinancialYear")), null);

                    if (cashAccSetting == null)
                    {
                        throw new AfwException("تنظیمات حسابداری صندوق موجود نمی باشد.");
                    }

                    accountID = cashAccSetting.GetFieldValue <Guid>("AccountInCoding");

                    if (cashAccSetting.GetFieldValue <Guid?>("CashOwnerPerson") == null)
                    {
                        throw new AfwException("مالک صندوق تعیین نشده است.");
                    }

                    personID = cashAccSetting.GetFieldValue <Guid>("CashOwnerPerson");
                }
                else if (newStatusName == "VagozariBeShakhs")
                {
                    if (statusChangeEntity.GetFieldValue <Guid?>("ChequeStatusChangeAccSetting") == null)
                    {
                        throw new AfwException("تنظیم حساب تغییر وضعیت چک ثبت نشده است.");
                    }

                    accountID = new ChequeStatusChangeAccSettingBL().GetChequeStatusChangeAccSettingAccAccountID(
                        statusChangeEntity.GetFieldValue <Guid>("ChequeStatusChangeAccSetting"), "AccountInCoding");

                    if (personID == null)
                    {
                        throw new AfwException("شخص تعیین نشده است.");
                    }
                }
                else if (newStatusName == "BargashtBeMalekeCheque")
                {
                    //در حالت خروج از وضعیت اسناد دریافتنی، حسابی که بستانکار می شود، همان حساب بدهکار در عملیات دریافت است
                    var receiveReceiptItem = dbHelper.FetchSingleByID("rp.ReceiveReceiptItem",
                                                                      statusChangeEntity.GetFieldValue <Guid>("Cheque_ReceiveReceiptItemID"), null);
                    accountID = receiveReceiptItem.GetFieldValue <Guid>("CreditorAccount");

                    personID     = receiveReceiptItem.GetFieldValue <Guid?>("Creditor_Person");
                    costCenterID = receiveReceiptItem.GetFieldValue <Guid?>("Creditor_CostCenter");
                    projectID    = receiveReceiptItem.GetFieldValue <Guid?>("Creditor_Project");
                    //foreignCurrencyID = receiveReceiptItem.GetFieldValue<Guid?>("Creditor_ForeignCurrency");
                }
                else
                {
                    new NotImplementedException();
                }
            }
            catch (Exception ex)
            {
                throw ex;
            }

            return((Guid)accountID);
        }
Ejemplo n.º 9
0
        public ActionResult <EditBankAccountResponseMoodel> EditBankAccount([FromBody] EditBankAccountInputModel data)
        {
            BankAccountBL bl = new BankAccountBL(DbContext);

            return(bl.Edit(data));
        }
Ejemplo n.º 10
0
        public ActionResult <AddBankAccountResponseMoodel> AddBankAccount([FromBody] AddBankAccountInputModel data)
        {
            BankAccountBL bl = new BankAccountBL(DbContext);

            return(bl.Save(data));
        }