public async Task <IActionResult> Edit(int id, [Bind("CashReceiptId,InwardDate,TranscationModeId,ReceiptFrom,Amount,SlipNo")] CashReceipt cashReceipt) { if (id != cashReceipt.CashReceiptId) { return(NotFound()); } if (ModelState.IsValid) { try { new AccountsManager().OnUpdate(_context, cashReceipt); _context.Update(cashReceipt); await _context.SaveChangesAsync(); } catch (DbUpdateConcurrencyException) { if (!CashReceiptExists(cashReceipt.CashReceiptId)) { return(NotFound()); } else { throw; } } return(RedirectToAction(nameof(Index))); } ViewData ["TranscationModeId"] = new SelectList(_context.TranscationModes, "TranscationModeId", "Transcation", cashReceipt.TranscationModeId); return(PartialView(cashReceipt)); }
static async Task SendSalesDocumentAsync(CashReceipt preparedReceipt, SalesDocumentDTO doc) { if (doc.IsValid) { logger.Info("Отправка документа на сервер фискализации..."); var httpCode = await PostSalesDocumentAsync(doc); switch (httpCode) { case HttpStatusCode.OK: logger.Info("Документ успешно отправлен на сервер фискализации."); preparedReceipt.Sent = true; break; default: logger.Warn(string.Format("Документ не был отправлен на сервер фискализации. Http код - {0} ({1}).", (int)httpCode, httpCode)); preparedReceipt.Sent = false; break; } preparedReceipt.HttpCode = (int)httpCode; } else { logger.Warn(string.Format("Документ \"{0}\" не валиден и не был отправлен на сервер фискализации (-1).", doc.DocNum)); preparedReceipt.HttpCode = -1; preparedReceipt.Sent = false; } }
public async Task <IActionResult> Edit(int id, [Bind("CashReceiptId,InwardDate,TranscationModeId,ReceiptFrom,Amount,SlipNo,Remarks,StoreId,UserId,EntryStatus,IsReadOnly")] CashReceipt cashReceipt) { if (id != cashReceipt.CashReceiptId) { return(NotFound()); } if (ModelState.IsValid) { try { _context.Update(cashReceipt); await _context.SaveChangesAsync(); } catch (DbUpdateConcurrencyException) { if (!CashReceiptExists(cashReceipt.CashReceiptId)) { return(NotFound()); } else { throw; } } return(RedirectToAction(nameof(Index))); } ViewData["TranscationModeId"] = new SelectList(_context.TranscationModes, "TranscationModeId", "Transcation", cashReceipt.TranscationModeId); // ViewData["StoreId"] = new SelectList(_context.Stores, "StoreId", "StoreId", cashReceipt.StoreId); return(View(cashReceipt)); }
public async Task <ActionResult <CashReceipt> > PostCashReceipt(CashReceipt cashReceipt) { _context.CashReceipts.Add(cashReceipt); await _context.SaveChangesAsync(); return(CreatedAtAction("GetCashReceipt", new { id = cashReceipt.CashReceiptId }, cashReceipt)); }
public void TestIfCashReceiptOutCorrectlySaveAndRetrievedWhenNoCashReceiptOut() { contractForAPerson.Disbursed = false; CashReceipt cashReceipt = new CashReceipt(contractForAPerson, _person, null, "USD", "en-US", new ExchangeRate(new DateTime(2006, 2, 1), 3), new DateTime(2006, 2, 1), false, User.CurrentUser, GeneralSettings.GetInstance(""), ChartOfAccounts.GetInstance(User.CurrentUser), true); Assert.AreEqual(1, cashReceipt.CashReceiptOut.Value); }
public void TestIfUserIdCorrectlySaveAndRetrieved() { CashReceipt cashReceipt = new CashReceipt(contractForAPerson, _person, 0, "USD", "en-US", new ExchangeRate(new DateTime(2006, 2, 1), 3), new DateTime(2006, 2, 1), false, User.CurrentUser, GeneralSettings.GetInstance(""), ChartOfAccounts.GetInstance(User.CurrentUser), true); Assert.AreEqual(1, cashReceipt.UserId); }
public void TestIfLoanOfficerNameCorrectlyRetrieved() { CashReceipt cashReceipt = new CashReceipt(contractForAPerson, _person, 0, "USD", "en-US", new ExchangeRate(new DateTime(2006, 2, 1), 3), new DateTime(2006, 2, 1), false, User.CurrentUser, GeneralSettings.GetInstance(""), ChartOfAccounts.GetInstance(User.CurrentUser), true); Assert.AreEqual("Nicolas MANGIN", cashReceipt.LoanOfficerName_Contract); }
public void CashReceipt_CorrectlySaveAndRetrieved_LoanAmount() { contractForAPerson.Disbursed = true; _person.CashReceiptIn = 1; CashReceipt cashReceipt = new CashReceipt(contractForAPerson, _person, 0, "USD", "en-US", new ExchangeRate(new DateTime(2006, 2, 1), 3), new DateTime(2006, 2, 1), false, User.CurrentUser, GeneralSettings.GetInstance(""), ChartOfAccounts.GetInstance(User.CurrentUser), true); Assert.AreEqual(1000, cashReceipt.LoanAmount); }
private async System.Threading.Tasks.Task AddCashReceiptAsync() { var ws = xS.GetWS("CashReceipts"); var nonEmptyDataRows = ws.RowsUsed(); int Row = 6;//Title; // CashReceiptId InwardDate TranscationModeId Mode ReceiptFrom Amount SlipNo StoreId UserName foreach (var dR in nonEmptyDataRows) { if (dR.RowNumber() > Row) { CashReceipt exp = new CashReceipt { InwardDate = dR.Cell(2).GetDateTime(), TranscationModeId = dR.Cell(3).GetValue <int>(), ReceiptFrom = dR.Cell(5).Value.ToString(), Amount = dR.Cell(6).GetValue <decimal>(), SlipNo = dR.Cell(7).Value.ToString(), Remarks = "Imported", StoreId = dR.Cell(8).GetValue <int>(), UserId = dR.Cell(9).Value.ToString(), EntryStatus = 0, IsReadOnly = true, }; db.CashReceipts.Add(exp); } } await db.SaveChangesAsync();; }
public void TestIfDistrictCorrectlyRetrievedWhenContractBeneficiaryIsAGroup() { CashReceipt cashReceipt = new CashReceipt(contractForAGroup, _group, 0, "USD", "en-US", new ExchangeRate(new DateTime(2006, 2, 1), 3), new DateTime(2006, 2, 1), false, User.CurrentUser, GeneralSettings.GetInstance(""), ChartOfAccounts.GetInstance(User.CurrentUser), true); Assert.AreEqual("Lorraine", cashReceipt.District); }
public void TestIfCityCorrectlyRetrievedWhenContractBeneficiaryIsAPerson() { CashReceipt cashReceipt = new CashReceipt(contractForAPerson, _person, 0, "USD", "en-US", new ExchangeRate(new DateTime(2006, 2, 1), 3), new DateTime(2006, 2, 1), false, User.CurrentUser, GeneralSettings.GetInstance(""), ChartOfAccounts.GetInstance(User.CurrentUser), true); Assert.AreEqual("Paris", cashReceipt.City); }
public async Task <IActionResult> PutCashReceipt(int id, CashReceipt cashReceipt) { if (id != cashReceipt.CashReceiptId) { return(BadRequest()); } _context.Entry(cashReceipt).State = EntityState.Modified; try { await _context.SaveChangesAsync(); } catch (DbUpdateConcurrencyException) { if (!CashReceiptExists(id)) { return(NotFound()); } else { throw; } } return(NoContent()); }
public ActionResult DeleteConfirmed(int id) { CashReceipt cashReceipt = db.CashReceipts.Find(id); db.CashReceipts.Remove(cashReceipt); db.SaveChanges(); return(RedirectToAction("Index")); }
public void CashReceipt_CorrectlySaveAndRetrieved_GracePeriod() { contractForAPerson.Disbursed = true; _person.CashReceiptIn = 1; CashReceipt cashReceipt = new CashReceipt(contractForAPerson, _person, 0, "USD", "en-US", new ExchangeRate(new DateTime(2006, 2, 1), 3), new DateTime(2006, 2, 1), false, User.CurrentUser, GeneralSettings.GetInstance(""), ChartOfAccounts.GetInstance(User.CurrentUser), true); Assert.AreEqual(1, cashReceipt.GracePeriod); }
public void OnUpdate(AprajitaRetailsContext db, CashReceipt reciepts) { var oldPay = db.CashReceipts.Where(c => c.CashReceiptId == reciepts.CashReceiptId).Select(d => new { d.Amount, d.InwardDate }).FirstOrDefault(); if (oldPay != null) { CashTrigger.UpdateCashInHand(db, oldPay.InwardDate, 0 - oldPay.Amount); } CashTrigger.UpdateCashInHand(db, reciepts.InwardDate, reciepts.Amount); }
public void TestIfLocalAccountNumberCorrectlyRetrievedWhenDisburse() { ChartOfAccounts chartOfAccounts = ChartOfAccounts.GetInstance(User.CurrentUser); CashReceipt cashReceipt = new CashReceipt(contractForAPerson, _person, null, "USD", "en-US", null, new DateTime(2006, 1, 1), false, User.CurrentUser, GeneralSettings.GetInstance(""), ChartOfAccounts.GetInstance(User.CurrentUser), true); Assert.AreEqual(String.Empty, cashReceipt.InterestLocalAccountNumber); Assert.AreEqual(chartOfAccounts.GetAccountByTypeCode("CASH").LocalNumber, cashReceipt.PrincipalLocalAccountNumber); Assert.AreEqual(chartOfAccounts.GetAccountByTypeCode("COMMISSIONS").LocalNumber, cashReceipt.FeesLocalAccountNumber); }
public void TestIfInterestPrincipalAndFeesCorrectlyRetrievedWhenDisburseAndFees() { Assert.AreEqual(new DateTime(2006, 1, 1), contractForAGroup.StartDate); CashReceipt cashReceipt = new CashReceipt(contractForAGroup, _person, null, "USD", "en-US", new ExchangeRate(new DateTime(2006, 1, 1), 3), new DateTime(2006, 1, 1), false, User.CurrentUser, GeneralSettings.GetInstance(""), ChartOfAccounts.GetInstance(User.CurrentUser), true); //Negative value for principal if event is a loanDisbursmentEvent Assert.AreEqual(-3000, cashReceipt.PaidPrincipalInExternalCurrency); Assert.AreEqual(0, cashReceipt.PaidInterestInExternalCurrency); Assert.AreEqual(90, cashReceipt.PaidFeesInExternalCurrency); }
/// <summary> /// Deletes a cash receipt and moves all the revisions into the history table. /// </summary> /// <param name="currentUser">The user deletingthe cash receipt.</param> /// <param name="cashReceiptId">the id of the cash receipt being deleted.</param> /// /// <exception cref="NullReferenceException">This gets thrown when the invoiceId is not found in the database.</exception> /// <returns></returns> public async Task DeleteCashReceipt(PortalUser currentUser, int cashReceiptId) { // First we get the cash receipt. CashReceipt cashReceipt = await repository.GetCashReceiptById(cashReceiptId); if (cashReceipt == null) { throw new NullReferenceException("The cash receipt could not be found."); } cashReceipt.TransactionStatusTypeId = (int)TransactionStatusType.Enum.Void; await repository.SaveChanges(); // Second we go and create a revision for deleting. await CreateCashReceiptRevision(currentUser, cashReceiptId, "Deleted"); // Then we move all of the revisions into the history table and delete them. var revisions = await repository.GetCashReceiptRevListByCashReceiptId(cashReceiptId); foreach (CashReceiptRev cashReceiptRev in revisions) { CashReceiptHist newHistory = new CashReceiptHist() { CenterId = cashReceiptRev.CenterId, CompanyId = cashReceiptRev.CompanyId, PaymentNumber = cashReceiptRev.PaymentNumber, PaymentDate = cashReceipt.PaymentDate, DispatchLoadNumber = cashReceiptRev.DispatchLoadNumber, DriverFuelSurcharge = cashReceiptRev.DriverFuelSurcharge, DriverId = cashReceiptRev.DriverId, DriverRate = cashReceiptRev.DriverRate, CashReceiptHistId = 0, CashReceiptId = cashReceiptRev.CashReceiptId, IsActive = cashReceiptRev.IsActive, ManufacturerFuelSurcharge = cashReceiptRev.ManufacturerFuelSurcharge, ManufacturerId = cashReceiptRev.ManufacturerId, ManufacturerRate = cashReceiptRev.ManufacturerRate, Note = cashReceiptRev.Note, RevisedBy = cashReceiptRev.RevisedBy, RevisionDate = cashReceiptRev.RevisionDate, TransactionStatusTypeId = (int)TransactionStatusType.Enum.Void, TruckId = cashReceiptRev.TruckId, Version = cashReceiptRev.Version, VIN = cashReceiptRev.VIN }; repository.Insert(newHistory); repository.Delete(cashReceiptRev); } repository.Delete(cashReceipt); await repository.SaveChanges(); }
/// <summary> /// Starts the process of reconciling a cash receipt. /// </summary> /// <param name="currentUser">The user that started the process.</param> /// <param name="cashReceipt">The cash receipt being reconciled.</param> /// <returns></returns> public async Task ReconcileCashReceipt(PortalUser currentUser, CashReceiptModel cashReceipt) { CashReceipt dbCashReceipt = await repository.GetCashReceiptById(cashReceipt.CashReceiptId); dbCashReceipt.TransactionStatusTypeId = (int)TransactionStatusType.Enum.Reconciled; dbCashReceipt.ModifiedBy = currentUser.PortalUsername; dbCashReceipt.ModifiedDate = DateTime.UtcNow; await repository.SaveChanges(); await CreateCashReceiptRevision(currentUser, cashReceipt.CashReceiptId, "Reconciled"); }
public ActionResult Edit([Bind(Include = "CashReceiptId,InwardDate,TranscationModeId,ReceiptFrom,Amount,SlipNo")] CashReceipt cashReceipt) { if (ModelState.IsValid) { Utils.UpDateCashInHand(db, cashReceipt.InwardDate, cashReceipt.Amount); db.Entry(cashReceipt).State = EntityState.Modified; db.SaveChanges(); return(RedirectToAction("Index")); } ViewBag.TranscationModeId = new SelectList(db.TranscationModes, "TranscationModeId", "Transcation", cashReceipt.TranscationModeId); return(View(cashReceipt)); }
public void TestIfInterestPrincipalAndFeesCorrectlyRetrievedWhenRepayAndFees() { Credit contract = contractForAPerson.Copy(); contract.Disburse(new DateTime(2006, 1, 1), true, false); Assert.AreEqual(new DateTime(2006, 2, 1), contract.GetInstallment(0).ExpectedDate); CashReceipt cashReceipt = new CashReceipt(contract, _person, 0, "USD", "en-US", new ExchangeRate(new DateTime(2006, 3, 1), 3), new DateTime(2006, 3, 1), false, User.CurrentUser, GeneralSettings.GetInstance(""), ChartOfAccounts.GetInstance(User.CurrentUser), true); Assert.AreEqual(0, cashReceipt.PaidPrincipalInExternalCurrency); Assert.AreEqual(90, cashReceipt.PaidInterestInExternalCurrency); Assert.AreEqual(252.00m, Math.Round(cashReceipt.PaidFeesInExternalCurrency, 2)); }
public void TestIfLocalAccountNumberCorrectlyRetrievedWhenRepayAGoodLoan() { ChartOfAccounts chartOfAccounts = ChartOfAccounts.GetInstance(User.CurrentUser); Credit contract = contractForAPerson.Copy(); contract.Disburse(new DateTime(2006, 1, 1), true, false); CashReceipt cashReceipt = new CashReceipt(contract, _person, 0, "USD", "en-US", new ExchangeRate(new DateTime(2006, 3, 1), 3), new DateTime(2006, 3, 1), false, User.CurrentUser, GeneralSettings.GetInstance(""), ChartOfAccounts.GetInstance(User.CurrentUser), true); Assert.AreEqual(chartOfAccounts.GetAccountByNumber(OAccounts.INTERESTS_ON_CASH_CREDIT_INDIVIDUAL_LOAN).LocalNumber, cashReceipt.InterestLocalAccountNumber); Assert.AreEqual(chartOfAccounts.GetAccountByNumber(OAccounts.CASH_CREDIT_INDIVIDUAL_LOAN).LocalNumber, cashReceipt.PrincipalLocalAccountNumber); Assert.AreEqual(chartOfAccounts.GetAccountByTypeCode("COMMISSIONS").LocalNumber, cashReceipt.FeesLocalAccountNumber); }
public async Task <IActionResult> Create([Bind("CashReceiptId,InwardDate,TranscationModeId,ReceiptFrom,Amount,SlipNo")] CashReceipt cashReceipt) { if (ModelState.IsValid) { _context.Add(cashReceipt); new AccountsManager().OnInsert(_context, cashReceipt); await _context.SaveChangesAsync(); return(RedirectToAction(nameof(Index))); } ViewData ["TranscationModeId"] = new SelectList(_context.TranscationModes, "TranscationModeId", "Transcation", cashReceipt.TranscationModeId); return(PartialView(cashReceipt)); }
public void TestIfInterestPrincipalAndFeesInLetterCorrectlyRetrievedWhenDisburseAndNoFeesWhenCurrencyIsSOMAndLanguageIsRussian() { Assert.AreEqual(new DateTime(2006, 1, 1), contractForAPerson.StartDate); CashReceipt cashReceipt = new CashReceipt(contractForAPerson, _person, null, "SOM", "ru-RU", new ExchangeRate(new DateTime(2006, 1, 1), 3), new DateTime(2006, 1, 1), false, User.CurrentUser, GeneralSettings.GetInstance(""), ChartOfAccounts.GetInstance(User.CurrentUser), true); //Negative value for principal if event is a loanDisbursmentEvent Assert.AreEqual(-3000, cashReceipt.PaidPrincipalInExternalCurrency); Assert.AreEqual(0, cashReceipt.PaidInterestInExternalCurrency); Assert.AreEqual(0, cashReceipt.PaidFeesInExternalCurrency); Assert.AreEqual("ноль SOM", cashReceipt.PaidInterestInLetter); Assert.AreEqual("ноль SOM", cashReceipt.PaidFeesInLetter); Assert.AreEqual("три тысячи SOM", cashReceipt.PaidPrincipalInLetter); }
// GET: CashReceipts/Details/5 public ActionResult Details(int?id) { if (id == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } CashReceipt cashReceipt = db.CashReceipts.Find(id); if (cashReceipt == null) { return(HttpNotFound()); } return(PartialView(cashReceipt)); }
// GET: CashReceipts/Edit/5 public ActionResult Edit(int?id) { if (id == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } CashReceipt cashReceipt = db.CashReceipts.Find(id); if (cashReceipt == null) { return(HttpNotFound()); } ViewBag.TranscationModeId = new SelectList(db.TranscationModes, "TranscationModeId", "Transcation", cashReceipt.TranscationModeId); return(View(cashReceipt)); }
public void TestIfInterestPrincipalAndFeesInLetterCorrectlyRetrievedWhenRepayAndFeesWhenCurrencyIsUSDAndLanguageIsEnglish() { Credit contract = contractForAPerson.Copy(); contract.Disburse(new DateTime(2006, 1, 1), true, false); CashReceipt cashReceipt = new CashReceipt(contract, _person, 0, "USD", "en-US", new ExchangeRate(new DateTime(2006, 3, 1), 3), new DateTime(2006, 3, 1), false, User.CurrentUser, GeneralSettings.GetInstance(""), ChartOfAccounts.GetInstance(User.CurrentUser), true); Assert.AreEqual(0, cashReceipt.PaidPrincipalInExternalCurrency); Assert.AreEqual(90, cashReceipt.PaidInterestInExternalCurrency); Assert.AreEqual(252.00m, Math.Round(cashReceipt.PaidFeesInExternalCurrency, 2)); Assert.AreEqual("ninety USD", cashReceipt.PaidInterestInLetter); Assert.AreEqual("two hundred and fifty-two USD", cashReceipt.PaidFeesInLetter); Assert.AreEqual("zero USD", cashReceipt.PaidPrincipalInLetter); }
public void TestIfInterestPrincipalAndFeesInLetterCorrectlyRetrievedWhenRepayAndFeesWhenCurrencyIsUSDAndLanguageIsRussian() { Credit contract = contractForAPerson.Copy(); contract.Disburse(new DateTime(2006, 1, 1), true, false); CashReceipt cashReceipt = new CashReceipt(contract, _person, 0, "USD", "ru-RU", new ExchangeRate(new DateTime(2006, 3, 1), 3), new DateTime(2006, 3, 1), false, User.CurrentUser, GeneralSettings.GetInstance(""), ChartOfAccounts.GetInstance(User.CurrentUser), true); Assert.AreEqual(0, cashReceipt.PaidPrincipalInExternalCurrency); Assert.AreEqual(90, cashReceipt.PaidInterestInExternalCurrency); Assert.AreEqual(252.00m, Math.Round(cashReceipt.PaidFeesInExternalCurrency, 2)); Assert.AreEqual("девяносто USD", cashReceipt.PaidInterestInLetter); Assert.AreEqual("двести пятьдесят два USD", cashReceipt.PaidFeesInLetter); Assert.AreEqual("ноль USD", cashReceipt.PaidPrincipalInLetter); }
public async Task <IActionResult> Create([Bind("CashReceiptId,InwardDate,TranscationModeId,ReceiptFrom,Amount,SlipNo,Remarks,StoreId,UserId,EntryStatus,IsReadOnly")] CashReceipt cashReceipt) { if (ModelState.IsValid) { _context.Add(cashReceipt); await _context.SaveChangesAsync(); return(RedirectToAction(nameof(Index))); } ViewData["TranscationModeId"] = new SelectList(_context.TranscationModes, "TranscationModeId", "Transcation", cashReceipt.TranscationModeId); // ViewData["StoreId"] = new SelectList(_context.Stores, "StoreId", "StoreId", cashReceipt.StoreId); ViewData["StoreId"] = ActiveSession.GetActiveSession(HttpContext.Session, HttpContext.Response, _returnUrl); return(View(cashReceipt)); }
public ActionResult CashReceipt() { CashReceipt model = new CashReceipt(); bool Exists = db.Voucher_Entry_Credit.Any(c => c.voucher_type.Equals("CashReceipt")); if (Exists == true && db.Voucher_Entry_Credit.Select(p => p.record_no).Count() > 0) { var id = (from n in db.Voucher_Entry_Credit.Where(x => x.voucher_type == "CashReceipt") select n.record_no).Max(); int recno = Convert.ToInt32(id) + 1; model.RecordNo = recno.ToString(); } else { model.RecordNo = "1"; } return(View(model)); }
/// <summary> /// This method will convert from the database model of cash receipt to the DTO verison. /// </summary> /// <param name="cashReceipt">The database model of cash receipt.</param> /// <returns>The DTO of cash receipt.</returns> public CashReceiptModel LoadCashReceipt(CashReceipt cashReceipt) { CashReceiptModel resp = new CashReceiptModel() { PaymentDate = cashReceipt.PaymentDate, PaymentNumber = cashReceipt.PaymentNumber, DispatchLoadNumber = cashReceipt.DispatchLoadNumber, Driver = null, DriverFuelSurcharge = cashReceipt.DriverFuelSurcharge, DriverRate = cashReceipt.DriverRate, CashReceiptId = cashReceipt.CashReceiptId, ManufacturerFuelSurcharge = cashReceipt.ManufacturerFuelSurcharge, ManufacturerRate = cashReceipt.ManufacturerRate, Terminal = cashReceipt.CenterId, TrackingIdNumber = cashReceipt.VIN, VendorId = cashReceipt.ManufacturerId, IsReconciled = false, IsDeleted = false }; //if (cashReceipt.Driver != null) //{ // resp.Driver = new DriverModel() // { // DriverId = cashReceipt.Driver.DriverId, // DriverFirstName = cashReceipt.Driver.FirstName, // DriverLastName = cashReceipt.Driver.LastName, // DriverFullName = $"{cashReceipt.Driver.FirstName} {cashReceipt.Driver.LastName}" // }; //} if (cashReceipt.Truck != null) { resp.TruckId = cashReceipt.Truck.TruckId; resp.TruckNumber = cashReceipt.Truck.TruckNumber; } return(resp); }
public void TestIfInterestPrincipalAndFeesCorrectlyRetrievedWhenRepayAndNoFees() { Credit contract = contractForAPerson.Copy(); contract.Disburse(new DateTime(2006, 1, 1), true, false); Assert.AreEqual(new DateTime(2006, 2, 1), contract.GetInstallment(0).ExpectedDate); CashReceipt cashReceipt = new CashReceipt(contract, _person, 0, "USD", "en-US", new ExchangeRate(new DateTime(2006, 2, 1), 3), new DateTime(2006, 2, 1), false, User.CurrentUser, GeneralSettings.GetInstance(""), ChartOfAccounts.GetInstance(User.CurrentUser), true); Assert.AreEqual(0, cashReceipt.PaidPrincipalInExternalCurrency); Assert.AreEqual(90, cashReceipt.PaidInterestInExternalCurrency); Assert.AreEqual(0, cashReceipt.PaidFeesInExternalCurrency); }
public void TestIfInterestPrincipalAndFeesCorrectlyRetrievedWhenDisburseAndNoFeesButNoExchangeRate() { Assert.AreEqual(new DateTime(2006, 1, 1), contractForAPerson.StartDate); CashReceipt cashReceipt = new CashReceipt(contractForAPerson, _person, null, "USD", "en-US", null, new DateTime(2006, 1, 1), false, User.CurrentUser, GeneralSettings.GetInstance(""), ChartOfAccounts.GetInstance(User.CurrentUser), true); //Negative value for principal if event is a loanDisbursmentEvent but ExternalCurrencyIs null Assert.AreEqual(-1000, cashReceipt.PaidPrincipalInInternalCurrency); Assert.AreEqual(0, cashReceipt.PaidInterestInInternalCurrency); Assert.AreEqual(0, cashReceipt.PaidFeesInInternalCurrency); Assert.AreEqual(-1, cashReceipt.PaidPrincipalInExternalCurrency); Assert.AreEqual(-1, cashReceipt.PaidInterestInExternalCurrency); Assert.AreEqual(-1, cashReceipt.PaidFeesInExternalCurrency); }
public void TestIfInterestPrincipalAndFeesInLetterCorrectlyRetrievedWhenDisburseAndNoFeesWhenCurrencyIsUSDAndLanguageIsEnglish() { Assert.AreEqual(new DateTime(2006, 1, 1), contractForAPerson.StartDate); CashReceipt cashReceipt = new CashReceipt(contractForAPerson, _person, null, "USD", "en-US", new ExchangeRate(new DateTime(2006, 1, 1), 3), new DateTime(2006, 1, 1), false, User.CurrentUser, GeneralSettings.GetInstance(""), ChartOfAccounts.GetInstance(User.CurrentUser), true); //Negative value for principal if event is a loanDisbursmentEvent Assert.AreEqual(-3000, cashReceipt.PaidPrincipalInExternalCurrency); Assert.AreEqual(0, cashReceipt.PaidInterestInExternalCurrency); Assert.AreEqual(0, cashReceipt.PaidFeesInExternalCurrency); Assert.AreEqual("zero USD", cashReceipt.PaidInterestInLetter); Assert.AreEqual("zero USD", cashReceipt.PaidFeesInLetter); Assert.AreEqual("three thousand USD", cashReceipt.PaidPrincipalInLetter); }
public void TestIfUserIdCorrectlySaveAndRetrieved() { CashReceipt cashReceipt = new CashReceipt(contractForAPerson,_person, 0, "USD", "en-US", new ExchangeRate(new DateTime(2006, 2, 1), 3), new DateTime(2006, 2, 1), false, User.CurrentUser, GeneralSettings.GetInstance(""), ChartOfAccounts.GetInstance(User.CurrentUser), true); Assert.AreEqual(1, cashReceipt.UserId); }
public void TestIfNameCorrectlyRetrievedWhenContractBeneficiaryIsAPerson() { CashReceipt cashReceipt = new CashReceipt(contractForAPerson, _person, 0, "USD", "en-US", new ExchangeRate(new DateTime(2006, 2, 1), 3), new DateTime(2006, 2, 1), false, User.CurrentUser, GeneralSettings.GetInstance(""), ChartOfAccounts.GetInstance(User.CurrentUser), true); Assert.AreEqual("Nicolas MANGIN", cashReceipt.Name); }
public void TestIfLocalAccountNumberCorrectlyRetrievedWhenRepayARescheduledLoan() { ChartOfAccounts chartOfAccounts = ChartOfAccounts.GetInstance(User.CurrentUser); Credit contract = contractForAPerson.Copy(); contract.Disburse(new DateTime(2006, 1, 1), true, false); contract.Rescheduled = true; CashReceipt cashReceipt = new CashReceipt(contract, _person, 0, "USD", "en-US", new ExchangeRate(new DateTime(2006, 3, 1), 3), new DateTime(2006, 3, 1), false, User.CurrentUser, GeneralSettings.GetInstance(""), ChartOfAccounts.GetInstance(User.CurrentUser), true); Assert.AreEqual(chartOfAccounts.GetAccountByTypeCode("INTERESTS_ON_RESCHEDULED_LOANS").LocalNumber, cashReceipt.InterestLocalAccountNumber); Assert.AreEqual(chartOfAccounts.GetAccountByTypeCode("RESCHEDULED_LOANS").LocalNumber, cashReceipt.PrincipalLocalAccountNumber); Assert.AreEqual(chartOfAccounts.GetAccountByTypeCode("COMMISSIONS").LocalNumber, cashReceipt.FeesLocalAccountNumber); }