Beispiel #1
0
        public async Task <IActionResult> EditAccount(AccountBank accountBank)
        {
            if (accountBank.Id == null)
            {
                return(NotFound());
            }

            if (ModelState.IsValid)
            {
                try
                {
                    _context.Update(accountBank);
                    await _context.SaveChangesAsync();
                }
                catch (DbUpdateConcurrencyException)
                {
                    if (!AccountExists(accountBank.Id))
                    {
                        return(NotFound());
                    }
                    else
                    {
                        throw;
                    }
                }
                StatusMessage = "Customer record updated.";

                return(RedirectToAction(nameof(Index)));
            }
            return(View(accountBank));
        }
        internal override void RecieveFunds(Transaction transaction)
        {
            try
            {
                using (SqlConnection conn = new SqlConnection(DataStore.ConnectionString))
                {
                    conn.Open();

                    var recieveFunds = new SqlCommand("UPDATE tb_bank_account SET balance = @balance WHERE bank_account_id = @bank_account_id", conn);
                    recieveFunds.Parameters.Add(new SqlParameter("bank_account_id", Id));
                    recieveFunds.Parameters.Add(new SqlParameter("balance", Balance + transaction.Ammount));

                    recieveFunds.ExecuteNonQuery();
                }
            }
            catch (Exception ex)
            {
                throw ex;
            }
            _balance += transaction.Ammount;
            if (transaction.Sender != AccountBank)
            {
                AccountBank.RecieveFunds(transaction);
            }
        }
        static void Main(string[] args)
        {
            //Instancia d Classe AccountBank
            AccountBank account = new AccountBank();

            //Entarda de dados
            Console.Write("Entre o Numero da Conta: ");
            account.AddNumConta(int.Parse(Console.ReadLine()));
            Console.Write("Entre o Titular da Conta: ");
            account.AddTitular(Console.ReadLine());
            Console.Write("Haverá deposito inicial? (s/n): ");
            account.DepositoInicial(char.Parse(Console.ReadLine()));

            Console.WriteLine();
            Console.WriteLine(account.ToString());

            Console.Write("Entre um valor de deposito: ");
            account.Deposito(double.Parse(Console.ReadLine()));
            Console.WriteLine();

            Console.WriteLine("Dados da Conta Atualizados:");
            Console.WriteLine(account.ToString());
            Console.WriteLine();

            Console.Write("Entre um valor para saque: ");
            account.Saque(double.Parse(Console.ReadLine()));
            Console.WriteLine();
            Console.WriteLine("Dados da Conta Atualizados:");
            Console.WriteLine(account.ToString());
        }
Beispiel #4
0
        static void Main()
        {
            AccountBank ab = new AccountBank();

            Application.EnableVisualStyles();
            Application.SetCompatibleTextRenderingDefault(false);
            Application.Run(new Form1(ab));
        }
Beispiel #5
0
        public ActionResult DeleteConfirmed(int id)
        {
            AccountBank accountBank = db.AccountBank.Find(id);

            db.AccountBank.Remove(accountBank);
            db.SaveChanges();
            return(RedirectToAction("Index"));
        }
Beispiel #6
0
 public override void Transfer(int id, double money)
 {
     Money -= money;
     if (Money < 0)
     {
         Money -= money * Takeoff;
     }
     AccountBank.FindAccountInSystem(id).Replenishment(money);
 }
Beispiel #7
0
        public async Task <IActionResult> Add([Bind("AccountBankId,Name,Active,BusinessEntityId,Code,Agency,DigitAgency,Account,DigitAccount")] AccountBank bank, bool continueAdd)
        {
            if (ModelState.IsValid)
            {
                await _bankServices.AddAsync(bank);

                return(continueAdd ? RedirectToAction(nameof(Add)) : RedirectToAction(nameof(List)));
            }
            return(View(bank));
        }
Beispiel #8
0
 public override void Transfer(int id, double money)
 {
     if (!(Money - money > 0))
     {
         return;
     }
     Money -= money;
     AccountBank.FindAccountInSystem(id).Replenishment(money);
     return;
 }
Beispiel #9
0
        public Form1(AccountBank ab)
        {
            _accountBank = ab;
            InitializeComponent();
            IList <string> accountNames = ab.GetAllAccountStrings();

            foreach (string accountName in accountNames)
            {
                this.listBox1.Items.Add(accountName);
            }
            UpdateAccount(accountNames[0]);
        }
Beispiel #10
0
 public override void Transfer(int id, double money)
 {
     if (Lifespan != 0)
     {
         return;            // Exception: Can't withdraw money from deposit account before it's expiration!
     }
     if (Money - money < 0) // Exception: Not enough money on account!
     {
         return;
     }
     Money -= money;
     AccountBank.FindAccountInSystem(id).Replenishment(money);
 }
Beispiel #11
0
 public ActionResult Edit([Bind(Include = "clientId,bankId,currencyTypeId,accountBank1,titular")] AccountBank accountBank)
 {
     if (ModelState.IsValid)
     {
         db.Entry(accountBank).State = EntityState.Modified;
         db.SaveChanges();
         return(RedirectToAction("Index"));
     }
     ViewBag.bankId         = new SelectList(db.Bank, "bankId", "name", accountBank.bankId);
     ViewBag.clientId       = new SelectList(db.Client, "clientId", "name", accountBank.clientId);
     ViewBag.currencyTypeId = new SelectList(db.CurrencyType, "currencyTypeId", "type", accountBank.currencyTypeId);
     return(View(accountBank));
 }
        public MemoryStream GetExcel(int bankId, int month, int year, int clientTimeZoneOffset)
        {
            string      title           = "Laporan Mutasi Bank Harian";
            AccountBank dataAccountBank = GetAccountBank(bankId).GetAwaiter().GetResult();

            if (dataAccountBank.Currency.Code == "IDR")
            {
                return(GenerateExcel(dataAccountBank, title, month, year, clientTimeZoneOffset));
            }
            else
            {
                return(GenerateExcelValas(dataAccountBank, title, month, year, clientTimeZoneOffset));
            }
        }
Beispiel #13
0
        public ActionResult Create([Bind(Include = "clientId,bankId,currencyTypeId,accountNumber,titular")] AccountBank accountBank)
        {
            if (ModelState.IsValid)
            {
                db.AccountBank.Add(accountBank);
                db.SaveChanges();
                return(RedirectToAction("Index"));
            }

            ViewBag.bankId         = new SelectList(db.Bank, "bankId", "name", accountBank.bankId);
            ViewBag.clientId       = new SelectList(db.Client, "clientId", "name", accountBank.clientId);
            ViewBag.currencyTypeId = new SelectList(db.CurrencyType, "currencyTypeId", "type", accountBank.currencyTypeId);
            return(View(accountBank));
        }
Beispiel #14
0
        // GET: AccountBanks/Details/5
        public ActionResult Details(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            AccountBank accountBank = db.AccountBank.Find(id);

            if (accountBank == null)
            {
                return(HttpNotFound());
            }
            return(View(accountBank));
        }
Beispiel #15
0
        private void button4_Click(object sender, EventArgs e)
        {
            show_name.Text  = "";
            show_money.Text = "";


            BankManage bankM = new BankManage();

            AccountBank acc = bankM.GetDetailBank(iban_det.Text);



            show_name.Text  = acc.Name;
            show_money.Text = acc.Total;
        }
Beispiel #16
0
        // GET: AccountBanks/Edit/5
        public ActionResult Edit(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            AccountBank accountBank = db.AccountBank.Find(id);

            if (accountBank == null)
            {
                return(HttpNotFound());
            }
            ViewBag.bankId         = new SelectList(db.Bank, "bankId", "name", accountBank.bankId);
            ViewBag.clientId       = new SelectList(db.Client, "clientId", "name", accountBank.clientId);
            ViewBag.currencyTypeId = new SelectList(db.CurrencyType, "currencyTypeId", "type", accountBank.currencyTypeId);
            return(View(accountBank));
        }
        public override int GetHashCode()
        {
            // http://www.aaronstannard.com/overriding-equality-in-dotnet/
            // https://stackoverflow.com/questions/263400/what-is-the-best-algorithm-for-an-overridden-system-object-gethashcode/263416#263416
            unchecked
            {
                var hashCode = 13;
                hashCode = (hashCode * 397) ^ (!string.IsNullOrEmpty(ArchiveReference) ? ArchiveReference.GetHashCode() : 0);
                //hashCode = (hashCode * 397) ^ (!string.IsNullOrEmpty(TransactionID) ? TransactionID.GetHashCode() : 0);
                //hashCode = (hashCode * 397) ^ (!string.IsNullOrEmpty(Type) ? Type.GetHashCode() : 0);
                hashCode = (hashCode * 397) ^ (!string.IsNullOrEmpty(Text) ? Text.GetHashCode() : 0);
                hashCode = (hashCode * 397) ^ Date.GetHashCode();
                //hashCode = (hashCode * 397) ^ AccountPaypal.GetHashCode();
                //hashCode = (hashCode * 397) ^ AccountStripe.GetHashCode();
                //hashCode = (hashCode * 397) ^ AccountVipps.GetHashCode();
                hashCode = (hashCode * 397) ^ AccountBank.GetHashCode();

                return(hashCode);
            }
        }
Beispiel #18
0
 public async Task <IActionResult> Edit(int id, [Bind("AccountBankId,Name,Active,BusinessEntityId,Code,Agency,DigitAgency,Account,DigitAccount")] AccountBank bank, bool continueAdd, bool addTrash)
 {
     if (id != bank.AccountBankId)
     {
         return(NotFound());
     }
     if (ModelState.IsValid)
     {
         try
         {
             await _bankServices.UpdateAsync(bank);
         }
         catch (DbUpdateConcurrencyException)
         {
             throw;
         }
         return(continueAdd ? RedirectToAction(nameof(Edit), new { id = bank.AccountBankId }) : RedirectToAction(nameof(List)));
     }
     return(View(bank));
 }
Beispiel #19
0
 public void Save(AccountBankModel obj)
 {
     try
     {
         LaboratoriesEntities ent     = new LaboratoriesEntities();
         AccountBank          accBank = new AccountBank();
         accBank.Id         = obj.Id;
         accBank.Name       = obj.Name;
         accBank.UserCreate = obj.UserCreate;
         accBank.DateCreate = obj.DateCreate;
         accBank.UserModify = obj.UserModify;
         accBank.DateModify = obj.DateModify;
         accBank.IsActive   = obj.IsActive;
         ent.AccountBanks.Add(accBank);
         ent.SaveChanges();
     }
     catch (Exception ex)
     {
         throw new ArgumentException(ex.Message.ToString());
     }
 }
Beispiel #20
0
        public async Task <IActionResult> AddAccount([FromBody] AccountBank accountBank)
        {
            var orgId = getOrg();

            if (accountBank != null)
            {
                accountBank.Id             = Guid.NewGuid();
                accountBank.OrganisationId = orgId;


                try
                {
                    _context.Add(accountBank);
                    await _context.SaveChangesAsync();

                    return(Json(new
                    {
                        msg = "Success"
                    }));
                }
                catch
                {
                    return(Json(new
                    {
                        msg = "Failed"
                    }));
                }


                //StatusMessage = "New Vendor successfully created.";
            }

            //StatusMessage = "Error! Check fields...";
            //ViewData["StatusMessage"] = StatusMessage;
            return(Json(new
            {
                msg = "No Data"
            }));
        }
        private MemoryStream GenerateExcelValas(AccountBank dataAccountBank, string title, int month, int year, int clientTimeZoneOffset)
        {
            var    Query = GetQuery(dataAccountBank.Id, month, year, clientTimeZoneOffset);
            string date  = new DateTime(year, month, DateTime.DaysInMonth(year, month)).ToString("dd MMMM yyyy");

            var    garmentCurrency = GetGarmentCurrency(dataAccountBank.Currency.Code).GetAwaiter().GetResult();
            string bank            = $"Bank {dataAccountBank.BankName} A/C : {dataAccountBank.AccountNumber}";

            DataTable result = new DataTable();

            result.Columns.Add(new DataColumn()
            {
                ColumnName = "Tanggal", DataType = typeof(String)
            });
            result.Columns.Add(new DataColumn()
            {
                ColumnName = "Keterangan", DataType = typeof(String)
            });
            result.Columns.Add(new DataColumn()
            {
                ColumnName = "Nomor Referensi", DataType = typeof(String)
            });
            result.Columns.Add(new DataColumn()
            {
                ColumnName = "Jenis Referensi", DataType = typeof(String)
            });
            result.Columns.Add(new DataColumn()
            {
                ColumnName = "Currency", DataType = typeof(String)
            });
            result.Columns.Add(new DataColumn()
            {
                ColumnName = "Before", DataType = typeof(String)
            });
            result.Columns.Add(new DataColumn()
            {
                ColumnName = "Debit", DataType = typeof(String)
            });
            result.Columns.Add(new DataColumn()
            {
                ColumnName = "Debit2", DataType = typeof(String)
            });
            result.Columns.Add(new DataColumn()
            {
                ColumnName = "Kredit", DataType = typeof(String)
            });
            result.Columns.Add(new DataColumn()
            {
                ColumnName = "Kredit2", DataType = typeof(String)
            });
            result.Columns.Add(new DataColumn()
            {
                ColumnName = "After", DataType = typeof(String)
            });
            result.Columns.Add(new DataColumn()
            {
                ColumnName = "After2", DataType = typeof(String)
            });

            int index = 0;

            if (Query.ToArray().Count() == 0)
            {
                result.Rows.Add("", "", "", "", "", 0.ToString("#,##0.#0"), 0.ToString("#,##0.#0"), 0.ToString("#,##0.#0"), 0.ToString("#,##0.#0")); // to allow column name to be generated properly for empty data as template
            }
            else
            {
                var BalanceByMonthAndYear = GetBalanceMonthAndYear(dataAccountBank.Id, month, year, clientTimeZoneOffset);
                var beforeBalance         = BalanceByMonthAndYear.InitialBalance;
                var beforeBalanceValas    = beforeBalance / garmentCurrency.Rate;
                //var previous = new DailyBankTransactionModel();
                foreach (var item in Query)
                {
                    var debit             = item.Status.ToUpper().Equals("IN") ? item.Nominal.ToString("#,##0.#0") : 0.ToString("#,##0.#0");
                    var kredit            = item.Status.ToUpper().Equals("OUT") ? item.Nominal.ToString("#,##0.#0") : 0.ToString("#,##0.#0");
                    var afterBalance      = beforeBalance + (item.Status.Equals("IN") ? (double)item.Nominal : (double)item.Nominal * -1);
                    var debitValas        = item.Status.ToUpper().Equals("IN") ? item.NominalValas.ToString("#,##0.#0") : 0.ToString("#,##0.#0");
                    var kreditValas       = item.Status.ToUpper().Equals("OUT") ? item.NominalValas.ToString("#,##0.#0") : 0.ToString("#,##0.#0");
                    var afterBalanceValas = beforeBalanceValas + (item.Status.Equals("IN") ? (double)item.NominalValas : (double)item.NominalValas * -1);

                    result.Rows.Add(item.Date.ToOffset(new TimeSpan(clientTimeZoneOffset, 0, 0)).ToString("dd MMM yyyy", new CultureInfo("id-ID")),
                                    item.Remark,
                                    item.ReferenceNo,
                                    item.ReferenceType,
                                    item.AccountBankCurrencyCode,
                                    beforeBalance.ToString("#,##0.#0"),
                                    debit,
                                    debitValas,
                                    kredit,
                                    kreditValas,
                                    afterBalance.ToString("#,##0.#0"),
                                    afterBalanceValas.GetValueOrDefault().ToString("#,##0.#0")
                                    );
                    beforeBalance      = afterBalance;
                    beforeBalanceValas = afterBalanceValas;
                    index++;
                }
            }

            var headers = new List <string> {
                "Tanggal", "Keterangan", "Nomor Referensi", "Jenis Referensi", "Currency", "Before", "DEBIT", "Debit2", "KREDIT", "Kredit2", "SALDO AKHIR", "After2"
            };
            var subHeaders = new List <string> {
                "Original Amount", "Equivalent", "Original Amount", "Equivalent", "Original Amount", "Equivalent"
            };

            ExcelPackage package = new ExcelPackage();
            var          sheet   = package.Workbook.Worksheets.Add("Mutasi");

            sheet.Cells["A2"].Value    = "PT. DANLIRIS";
            sheet.Cells["A2:D2"].Merge = true;

            sheet.Cells["A3"].Value    = title;
            sheet.Cells["A3:D3"].Merge = true;

            sheet.Cells["A4"].Value    = bank;
            sheet.Cells["A4:D4"].Merge = true;

            sheet.Cells["A5"].Value    = $"Per {date}";
            sheet.Cells["A5:D5"].Merge = true;

            sheet.Cells["J6"].Value = "Kurs : Rp.";
            sheet.Cells["J6"].Style.HorizontalAlignment = ExcelHorizontalAlignment.Right;
            sheet.Cells["K6"].Value = $" {garmentCurrency.Rate.GetValueOrDefault().ToString("#,##0.#0")}";

            sheet.Cells["G7"].Value    = headers[6];
            sheet.Cells["G7:H7"].Merge = true;
            sheet.Cells["I7"].Value    = headers[8];
            sheet.Cells["I7:J7"].Merge = true;
            sheet.Cells["K7"].Value    = headers[10];
            sheet.Cells["K7:L7"].Merge = true;

            foreach (var i in Enumerable.Range(0, 6))
            {
                var col = (char)('A' + i);
                sheet.Cells[$"{col}7"].Value        = headers[i];
                sheet.Cells[$"{col}7:{col}8"].Merge = true;
            }

            foreach (var i in Enumerable.Range(0, 6))
            {
                var col = (char)('G' + i);
                sheet.Cells[$"{col}8"].Value = subHeaders[i];
            }

            sheet.Cells["A7:L8"].Style.HorizontalAlignment = ExcelHorizontalAlignment.Center;
            sheet.Cells["A7:L8"].Style.VerticalAlignment   = ExcelVerticalAlignment.Center;
            sheet.Cells["A7:L8"].Style.Font.Bold           = true;

            sheet.Cells["A9"].LoadFromDataTable(result, false, OfficeOpenXml.Table.TableStyles.Light16);
            sheet.Cells[sheet.Dimension.Address].AutoFitColumns();

            int cells = 9;

            sheet.Cells[$"F{cells}:L{cells + index}"].Style.HorizontalAlignment = ExcelHorizontalAlignment.Right;

            MemoryStream stream = new MemoryStream();

            package.SaveAs(stream);
            return(stream);

            //return Excel.DailyMutationReportExcel(new List<KeyValuePair<DataTable, string>>() { new KeyValuePair<DataTable, string>(result, "Mutasi") }, title, bank, date, true, index);
        }
        public async Task Should_Success_AutoJournalFromDailyBankTransaction()
        {
            //Setup
            var dbContext           = GetDbContext(GetCurrentMethod());
            var serviceProviderMock = GetServiceProvider();

            serviceProviderMock.Setup(s => s.GetService(typeof(FinanceDbContext))).Returns(dbContext);
            serviceProviderMock
            .Setup(x => x.GetService(typeof(IHttpClientService)))
            .Returns(new JournalHttpClientTestService());

            Mock <IJournalTransactionService> journalTransactionServiceMock = new Mock <IJournalTransactionService>();

            journalTransactionServiceMock.Setup(s => s.CreateAsync(It.IsAny <JournalTransactionModel>())).ReturnsAsync(1);

            serviceProviderMock
            .Setup(x => x.GetService(typeof(IJournalTransactionService)))
            .Returns(journalTransactionServiceMock.Object);

            var masterCOAServiceMock = new MasterCOAService(serviceProviderMock.Object);

            serviceProviderMock
            .Setup(x => x.GetService(typeof(IMasterCOAService)))
            .Returns(masterCOAServiceMock);

            var httpClientService       = new Mock <IHttpClientService>();
            HttpResponseMessage message = new HttpResponseMessage(System.Net.HttpStatusCode.OK);

            message.Content = new StringContent("{\"data\":{\"Id\":7,\"Code\":\"BB\",\"Rate\":13700.0,\"Date\":\"2018/10/20\"}}");

            httpClientService
            .Setup(x => x.GetAsync(It.IsAny <string>()))
            .ReturnsAsync(message);

            serviceProviderMock
            .Setup(x => x.GetService(typeof(IHttpClientService)))
            .Returns(httpClientService.Object);
            var service = new AutoJournalService(dbContext, serviceProviderMock.Object);

            AccountBank acc1 = new AccountBank()
            {
                AccountCOA    = "AccountCOA",
                AccountName   = "AccountName",
                AccountNumber = "AccountNumber",
                BankCode      = "BankCode",
                BankName      = "BankName",
                Currency      = new Currency()
                {
                    Code   = "Rp",
                    Symbol = "IDR"
                },
            };
            AccountBank acc2 = new AccountBank()
            {
                AccountCOA    = "AccountCOA",
                AccountName   = "AccountName",
                AccountNumber = "AccountNumber",
                BankCode      = "BankCode",
                BankName      = "BankName",
                Currency      = new Currency()
                {
                    Code   = "dolar",
                    Symbol = "USD"
                },
            };

            DailyBankTransactionModel dailyModel = new DailyBankTransactionModel()
            {
                AccountBankAccountName    = "AccountName",
                AccountBankAccountNumber  = "AccountNumber",
                AccountBankCode           = "BankCode",
                AccountBankCurrencyCode   = "CurrencyCode",
                AccountBankCurrencyId     = 1,
                AccountBankCurrencySymbol = "CurrencySymbol",
                AccountBankId             = 1,
                AccountBankName           = "BankName",
                AfterNominal                  = 0,
                BeforeNominal                 = 0,
                BuyerCode                     = "BuyerCode",
                BuyerId                       = 1,
                BuyerName                     = "BuyerName",
                Date                          = DateTimeOffset.UtcNow,
                Nominal                       = 1000,
                ReferenceNo                   = "",
                ReferenceType                 = "ReferenceType",
                Remark                        = "Remark",
                SourceType                    = "Pendanaan",
                SourceFundingType             = "Internal",
                Status                        = "IN",
                SupplierCode                  = "SupplierCode",
                SupplierName                  = "SupplierName",
                SupplierId                    = 1,
                DestinationBankAccountName    = "AccountName",
                DestinationBankAccountNumber  = "AccountNumber",
                DestinationBankCode           = "BankCode",
                DestinationBankCurrencyCode   = "CurrencyCode",
                DestinationBankCurrencyId     = 1,
                DestinationBankCurrencySymbol = "CurrencySymbol",
                DestinationBankId             = 1,
                DestinationBankName           = "BankName",
                IsPosted                      = true,
                AfterNominalValas             = 1,
                BeforeNominalValas            = 1,
                TransactionNominal            = 1,
                NominalValas                  = 1,
                Receiver                      = "Receiver",
                CurrencyRate                  = 10
            };

            //Act
            var result = await service.AutoJournalFromDailyBankTransaction(dailyModel, acc1, acc2);

            //Assert
            Assert.NotEqual(0, result);

            dailyModel.BankCharges = 100;
            var resultwithBankCharges = await service.AutoJournalFromDailyBankTransaction(dailyModel, acc1, acc2);

            Assert.NotEqual(0, resultwithBankCharges);

            dailyModel.DestinationBankCurrencyCode = "IDR";
            dailyModel.BankCharges = 100;
            dailyModel.Rates       = 100;
            var resultDiffCurrencyToIDR = await service.AutoJournalFromDailyBankTransaction(dailyModel, acc1, acc2);

            Assert.NotEqual(0, resultDiffCurrencyToIDR);

            dailyModel.DestinationBankCurrencyCode = "IDR";
            dailyModel.BankCharges = 0;
            dailyModel.Rates       = 100;
            var resultDiffCurrencyToIDRNoCharges = await service.AutoJournalFromDailyBankTransaction(dailyModel, acc1, acc2);

            Assert.NotEqual(0, resultDiffCurrencyToIDR);

            dailyModel.AccountBankCurrencyCode     = "IDR";
            dailyModel.DestinationBankCurrencyCode = "USD";
            dailyModel.BankCharges = 0;
            dailyModel.Rates       = 100;
            var resultDiffCurrencyNoCharges = await service.AutoJournalFromDailyBankTransaction(dailyModel, acc1, acc2);

            Assert.NotEqual(0, resultDiffCurrencyNoCharges);

            dailyModel.AccountBankCurrencyCode     = "IDR";
            dailyModel.DestinationBankCurrencyCode = "USD";
            dailyModel.BankCharges = 100;
            dailyModel.Rates       = 100;
            var resultDiffCurrency = await service.AutoJournalFromDailyBankTransaction(dailyModel, acc1, acc2);

            Assert.NotEqual(0, resultDiffCurrency);
        }
Beispiel #23
0
        public IActionResult Add()
        {
            var data = new AccountBank();

            return(View(data));
        }
Beispiel #24
0
        public async Task <IActionResult> Delete(AccountBank bank)
        {
            await _bankServices.DeleteAsync(bank);

            return(RedirectToAction(nameof(List)));
        }
Beispiel #25
0
        static void Main(string[] args)
        {
            int        option  = 0;
            ISaveMoney account = null;

            do
            {
                Console.WriteLine();
                Console.WriteLine("---------------------");
                Console.WriteLine("Este es el menú. Por favor elija una opción:");
                Console.WriteLine("---------------------");
                Console.WriteLine("Para crear tu cuenta: Pulsa 1");
                Console.WriteLine("Para ingresar dinero: Pulsa 2");
                Console.WriteLine("Para sacar dienro: Pulsa 3");
                Console.WriteLine("Para ver tu saldo: Pulsa 4");
                Console.WriteLine("Para salir Pulsa 5");

                int.TryParse(Console.ReadLine(), out option);

                switch (option)
                {
                case 1:
                    int accountType = 1;
                    Console.WriteLine("De que tipo? 1 Bancaria. 2 Hucha");
                    int.TryParse(Console.ReadLine(), out accountType);
                    switch (accountType)
                    {
                    case 1:
                        account = new AccountBank(0);
                        break;

                    case 2:
                        account = new MoneyBox();
                        break;
                    }
                    Console.WriteLine("La cuenta ha sido creada");
                    break;

                case 2:
                    if (account != null)
                    {
                        Console.WriteLine("¿Cuanto quieres ingresar?");
                        decimal.TryParse(Console.ReadLine(), out decimal amount);
                        account.AddMoney(amount);
                        Console.WriteLine("Se ha ingresado el dinero");
                    }
                    else
                    {
                        Console.WriteLine("No ha creado la cuenta");
                    }
                    break;

                case 3:
                    if (account != null)
                    {
                        Console.WriteLine("¿Cuanto quieres sacar?");
                        decimal.TryParse(Console.ReadLine(), out decimal amountTakeMoney);
                        try
                        {
                            account.TakeMoney(amountTakeMoney);
                            Console.WriteLine("Se ha sacado el dinero");
                        }
                        catch (Exception)
                        {
                            Console.WriteLine("No se puede sacar tanto dinero");
                        }
                    }
                    else
                    {
                        Console.WriteLine("No ha creado la cuenta");
                    }
                    break;

                case 4:
                    if (account != null)
                    {
                        Console.WriteLine($"{account.GetBalanceWithText()}");
                    }
                    else
                    {
                        Console.WriteLine("No ha creado la cuenta");
                    }
                    break;

                case 5:
                    Console.WriteLine("Hasta pronto!");
                    break;
                }
            } while (option != 5);
        }
        private MemoryStream GenerateExcel(AccountBank dataAccountBank, string title, int month, int year, int clientTimeZoneOffset)
        {
            var    Query = GetQuery(dataAccountBank.Id, month, year, clientTimeZoneOffset);
            string date  = new DateTime(year, month, DateTime.DaysInMonth(year, month)).ToString("dd MMMM yyyy");

            string bank = $"Bank {dataAccountBank.BankName} A/C : {dataAccountBank.AccountNumber}";

            DataTable result = new DataTable();

            result.Columns.Add(new DataColumn()
            {
                ColumnName = "Tanggal", DataType = typeof(String)
            });
            result.Columns.Add(new DataColumn()
            {
                ColumnName = "Keterangan", DataType = typeof(String)
            });
            result.Columns.Add(new DataColumn()
            {
                ColumnName = "Nomor Referensi", DataType = typeof(String)
            });
            result.Columns.Add(new DataColumn()
            {
                ColumnName = "Jenis Referensi", DataType = typeof(String)
            });
            result.Columns.Add(new DataColumn()
            {
                ColumnName = "Currency", DataType = typeof(String)
            });
            result.Columns.Add(new DataColumn()
            {
                ColumnName = "Before", DataType = typeof(String)
            });
            result.Columns.Add(new DataColumn()
            {
                ColumnName = "Debit", DataType = typeof(String)
            });
            result.Columns.Add(new DataColumn()
            {
                ColumnName = "Kredit", DataType = typeof(String)
            });
            result.Columns.Add(new DataColumn()
            {
                ColumnName = "Saldo", DataType = typeof(String)
            });

            int index = 0;

            if (Query.ToArray().Count() == 0)
            {
                result.Rows.Add("", "", "", "", "", 0.ToString("#,##0.#0"), 0.ToString("#,##0.#0"), 0.ToString("#,##0.#0"), 0.ToString("#,##0.#0")); // to allow column name to be generated properly for empty data as template
            }
            else
            {
                var BalanceByMonthAndYear = GetBalanceMonthAndYear(dataAccountBank.Id, month, year, clientTimeZoneOffset);
                var beforeBalance         = BalanceByMonthAndYear.InitialBalance;
                //var previous = new DailyBankTransactionModel();
                foreach (var item in Query)
                {
                    var debit        = item.Status.ToUpper().Equals("IN") ? item.Nominal.ToString("#,##0.#0") : 0.ToString("#,##0.#0");
                    var kredit       = item.Status.ToUpper().Equals("OUT") ? item.Nominal.ToString("#,##0.#0") : 0.ToString("#,##0.#0");
                    var afterBalance = beforeBalance + (item.Status.Equals("IN") ? (double)item.Nominal : (double)item.Nominal * -1);

                    result.Rows.Add(item.Date.ToOffset(new TimeSpan(clientTimeZoneOffset, 0, 0)).ToString("dd MMM yyyy", new CultureInfo("id-ID")),
                                    item.Remark,
                                    item.ReferenceNo,
                                    item.ReferenceType,
                                    item.AccountBankCurrencyCode,
                                    beforeBalance.ToString("#,##0.#0"),
                                    debit,
                                    kredit,
                                    afterBalance.ToString("#,##0.#0")
                                    );
                    beforeBalance = afterBalance;
                    index++;
                }
            }

            return(Excel.DailyMutationReportExcel(new List <KeyValuePair <DataTable, string> >()
            {
                new KeyValuePair <DataTable, string>(result, "Mutasi")
            }, title, bank, date, true, index));
        }
Beispiel #27
0
        public ICollection <AccountBank> SetJson(string jsonsList)
        {
            ICollection <AccountBank> listAccountBanks = new List <AccountBank>();
            int  ini      = 0;
            int  end      = 0;
            int  posini   = 0;
            int  posfin   = 0;
            bool foundIni = false;
            bool foundEnd = false;

            foreach (var objectList in jsonsList)
            {
                string trama = objectList.ToString();
                string res   = "";

                //para calcular la position inicial y final
                ini += 1;
                if (trama == "[")
                {
                    foundIni = true;
                    posini   = ini;
                }
                end += 1;
                if (trama == "]")
                {
                    foundEnd = true;
                    posfin   = end;
                    ini      = posfin + 1;
                }

                if (posini < posfin && foundIni && foundEnd)
                {
                    foundIni = false;
                    foundEnd = false;
                    res      = jsonsList.Substring(posini, posfin - posini);
                    var    lista = new List <object>();
                    string temp  = "";
                    for (var i = 0; i < res.Count(); i++)
                    {
                        if (res[i] != '"' && res[i] != '\r' && res[i] != '\n' && res[i] != ',' && res[i] != ' ' && res[i] != ']')
                        {
                            temp += res[i];
                        }
                        if (res[i] == ',' || res[i] == ']')
                        {
                            i = i + 1;
                            lista.Add(temp);
                            temp = "";
                        }
                    }
                    AccountBank accounBank = new AccountBank
                    {
                        accountNumber  = long.Parse(lista[0].ToString()),
                        bankId         = int.Parse(lista[1].ToString()),
                        currencyTypeId = int.Parse(lista[2].ToString()),
                        titular        = lista[3].ToString()
                    };

                    listAccountBanks.Add(accounBank);
                }
            }
            return(listAccountBanks);
        }
Beispiel #28
0
        public async Task <int> AutoJournalFromDailyBankTransaction(DailyBankTransactionModel model, AccountBank accountBank, AccountBank accountBankDestination)
        {
            await Task.Delay(1000);

            return(await Task.FromResult(1));
        }