public ActionResult SaveJournalEntry(Models.ViewModels.Financials.AddJournalEntry model) { if (model.AddJournalEntryLines.Count < 2) { return(View(model)); } var journalEntry = new JournalEntryHeader() { Date = model.Date, Memo = model.Memo, ReferenceNo = model.ReferenceNo, CreatedBy = User.Identity.Name, CreatedOn = DateTime.Now, ModifiedBy = User.Identity.Name, ModifiedOn = DateTime.Now, }; foreach (var line in model.AddJournalEntryLines) { journalEntry.JournalEntryLines.Add(new JournalEntryLine() { AccountId = line.AccountId, DrCr = line.DrCr, Amount = line.Amount, Memo = line.Memo }); } _financialService.AddJournalEntry(journalEntry); return(RedirectToAction("JournalEntries")); }
public ActionResult EditJournalEntry(int id, bool fromGL = false) { // for now, use the same view model as add journal entry. nothing different var je = _financialService.GetJournalEntry(id, fromGL); var model = new Models.ViewModels.Financials.AddJournalEntry(); model.Date = je.Date; model.Memo = je.Memo; model.ReferenceNo = je.ReferenceNo; model.Id = je.Id; model.JournalEntryId = je.Id; foreach (var line in je.JournalEntryLines) { model.AddJournalEntryLines.Add(new Models.ViewModels.Financials.AddJournalEntryLine() { RowId = line.Id.ToString(), AccountId = line.AccountId, AccountName = line.Account.AccountName, DrCr = line.DrCr, Amount = line.Amount, Memo = line.Memo }); } return(View(model)); }
public ActionResult SaveJournalEntry(Models.ViewModels.Financials.AddJournalEntry model) { if (model.AddJournalEntryLines.Count < 2) { return(View(model)); } var journalEntry = new JournalEntryHeader() { Date = model.Date, Memo = model.Memo, ReferenceNo = model.ReferenceNo, VoucherType = model.JournalVoucherType }; foreach (var line in model.AddJournalEntryLines) { journalEntry.JournalEntryLines.Add(new JournalEntryLine() { AccountId = line.AccountId, DrCr = line.DrCr, Amount = line.Amount, Memo = line.Memo }); } _financialService.AddJournalEntry(journalEntry); return(RedirectToAction("JournalEntries")); }
public ActionResult UpdateJournalEntryLine(Models.ViewModels.Financials.AddJournalEntry model) { var request = HttpContext.Request; var deletedItem = request.Form["DeletedLineItem"]; model.AddJournalEntryLines.Remove(model.AddJournalEntryLines.Where(i => i.RowId.ToString() == deletedItem.ToString()).FirstOrDefault()); return(View(model)); }
public ActionResult AddJournalEntryLine(Models.ViewModels.Financials.AddJournalEntry model) { if (model.AccountId != -1 && model.Amount > 0) { var rowId = Guid.NewGuid().ToString(); model.AddJournalEntryLines.Add(new Models.ViewModels.Financials.AddJournalEntryLine() { RowId = rowId, AccountId = model.AccountId, AccountName = _financialService.GetAccounts().Where(a => a.Id == model.AccountId).FirstOrDefault().AccountName, DrCr = model.DrCr, Amount = model.Amount, Memo = model.MemoLine }); } return(View(model)); }
public ActionResult EditJournalEntry(Models.ViewModels.Financials.AddJournalEntry model) { if (model.AddJournalEntryLines.Count < 2) { return(View(model)); } var journalEntry = _financialService.GetJournalEntry(model.JournalEntryId); journalEntry.Date = model.Date; journalEntry.Memo = model.Memo; journalEntry.ReferenceNo = model.ReferenceNo; journalEntry.ModifiedBy = User.Identity.Name; journalEntry.ModifiedOn = DateTime.Now; foreach (var line in model.AddJournalEntryLines) { if (journalEntry.JournalEntryLines.Any(l => l.AccountId == line.AccountId)) { var existingLine = journalEntry.JournalEntryLines.Where(l => l.AccountId == line.AccountId).FirstOrDefault(); existingLine.DrCr = line.DrCr; existingLine.Amount = line.Amount; existingLine.Memo = line.Memo; } else { journalEntry.JournalEntryLines.Add(new JournalEntryLine() { AccountId = line.AccountId, DrCr = line.DrCr, Amount = line.Amount, Memo = line.Memo }); } } _financialService.UpdateJournalEntry(journalEntry); return(RedirectToAction("JournalEntries")); }
public ActionResult AddJournalEntry() { var model = new Models.ViewModels.Financials.AddJournalEntry(); return View(model); }
public ActionResult AddJournalEntry() { var model = new Models.ViewModels.Financials.AddJournalEntry(); return(View(model)); }
public ActionResult EditJournalEntry(int id, bool fromGL = false) { // for now, use the same view model as add journal entry. nothing different var je = _financialService.GetJournalEntry(id, fromGL); var model = new Models.ViewModels.Financials.AddJournalEntry(); model.Date = je.Date; model.Memo = je.Memo; model.ReferenceNo = je.ReferenceNo; model.Id = je.Id; model.JournalEntryId = je.Id; foreach (var line in je.JournalEntryLines) { model.AddJournalEntryLines.Add(new Models.ViewModels.Financials.AddJournalEntryLine() { RowId = line.Id.ToString(), AccountId = line.AccountId, AccountName = line.Account.AccountName, DrCr = line.DrCr, Amount = line.Amount, Memo = line.Memo }); } return View(model); }