public ActionResult New() { ViewBag.MainNav = Navigator.Main.ABOUT; ViewBag.SubNav = Navigator.Sub.FINANCIAL; FinancialReportViewModel view_model = new FinancialReportViewModel(); view_model.ExpencesEntries = new List<FinancialReportEntry>(); view_model.FundingEntries = new List<FinancialReportEntry>(); return View(view_model); }
public ActionResult New(FinancialReportViewModel report, IEnumerable<HttpPostedFileBase> Files) { ViewBag.MainNav = Navigator.Main.ABOUT; ViewBag.SubNav = Navigator.Sub.FINANCIAL; if (ModelState.IsValid) { int new_id = financialService.AddReport(report, Files); if (new_id > 0) { TempData["SuccessMessage"] = "Report Added Successfully"; return RedirectToAction("Edit", new { id = new_id }); } else TempData["ErrorMessage"] = "Report Failed To Add"; } return View(); }
public FinancialReportViewModel GetFinancialReport(int id) { FinancialReport FR = DbContext.FinancialReports.Where(fr => fr.ID == id).Include(fr=> fr.FinancialReportEntries).FirstOrDefault(); FinancialReportViewModel result = new FinancialReportViewModel() { Expences = FR.Expences, FileURL = FR.FileURL, ExpencesEntries = FR.FinancialReportEntries.Where(a=> a.Type == "expences").ToList(), FundingEntries = FR.FinancialReportEntries.Where(a=> a.Type == "funding").ToList(), Funding = FR.Funding, ID = FR.ID, Year = FR.Year }; return result; }
public int UpdateReport(FinancialReportViewModel report, IEnumerable<HttpPostedFileBase> Files = null) { FinancialReport FR = DbContext.FinancialReports.Where(f => f.ID == report.ID).Include(a=> a.FinancialReportEntries).FirstOrDefault(); if (FR == null) return -1; FR.Expences = report.ExpencesEntries.Sum(a=> a.Value); FR.Funding = report.FundingEntries.Sum(a => a.Value); FR.Year = report.Year; foreach (FinancialReportEntry e in FR.FinancialReportEntries.ToList()) DbContext.FinancialReportEntries.Remove(e); FR.FinancialReportEntries = new List<FinancialReportEntry>(); foreach(FinancialReportEntry fe in report.ExpencesEntries.Where(a=> a.Value != 0)) FR.FinancialReportEntries.Add(fe); foreach (FinancialReportEntry fe in report.FundingEntries.Where(a => a.Value != 0)) FR.FinancialReportEntries.Add(fe); //Update Entries if (Files.Where(f => f != null).Count() > 0) { FilesService fs = new FilesService(); string file_url = fs.SaveFiles(Files); FR.FileURL = file_url; } DbContext.SaveChanges(); return FR.ID; }
public int AddReport(FinancialReportViewModel report, IEnumerable<HttpPostedFileBase> Files = null) { FinancialReport FR = new FinancialReport(); FR.Expences = report.ExpencesEntries.Sum(a => a.Value); FR.Funding = report.FundingEntries.Sum(a => a.Value); FR.Year = report.Year; FR.FinancialReportEntries = new List<FinancialReportEntry>(); foreach (FinancialReportEntry fe in report.ExpencesEntries) FR.FinancialReportEntries.Add(fe); foreach (FinancialReportEntry fe in report.FundingEntries) FR.FinancialReportEntries.Add(fe); //Update Entries if (Files.Where(f => f != null).Count() > 0) { FilesService fs = new FilesService(); string file_url = fs.SaveFiles(Files); FR.FileURL = file_url; } DbContext.FinancialReports.Add(FR); DbContext.SaveChanges(); return FR.ID; }