public ActionResult Create(HouseTaxViewModel model) { db.HouseTaxHistories.Add(model.HouseTax); var citizenHouse = db.CitizenHouses.First(c => c.Id == model.HouseTax.CitizenHouseId); db.SaveChanges(); //Move to land calculations var citizenLand = db.CitizenLands.First(c => c.CitizenId == citizenHouse.CitizenId); var landTaxViewModel = new LandTaxViewModel { CitizenLand = db.CitizenLands.First(c => c.CitizenId == citizenHouse.CitizenId), LandTaxHistory = new LandTaxHistory { CitizenId = citizenHouse.CitizenId, ValuationArea = citizenLand.ValuationArea, CitizenLandId = citizenLand.Id, HouseTaxHistoryId = model.HouseTax.Id }, CitizenLands = db.CitizenLands.ToList(), Citizens = db.Citizens.ToList() }; return(View("~/Views/LandTax/LandTaxCalculationForm.cshtml", landTaxViewModel)); }
// GET: LandTax public ActionResult Index() { var landTaxHistories = db.LandTaxHistories.Include(c => c.CitizenLand).ToList(); var landTaxViewModel = new LandTaxViewModel { LandTaxHistories = landTaxHistories }; return(View(landTaxViewModel)); }
public ActionResult LandTax(int?CitizenId) { var citizenLand = db.CitizenLands.First(c => c.CitizenId == CitizenId); var landTaxViewModel = new LandTaxViewModel { CitizenLand = db.CitizenLands.First(c => c.CitizenId == CitizenId), LandTaxHistory = new LandTaxHistory { CitizenId = CitizenId, ValuationArea = citizenLand.ValuationArea, CitizenLandId = citizenLand.Id }, CitizenLands = db.CitizenLands.ToList(), Citizens = db.Citizens.ToList() }; return(View("LandTaxCalculationForm", landTaxViewModel)); }
public ActionResult Save(LandTaxViewModel viewModel) { if (!ModelState.IsValid) { var invalidViewModel = new LandTaxViewModel { LandTaxHistory = viewModel.LandTaxHistory, }; return(View("LandTaxCalculationForm", invalidViewModel)); } if (viewModel.LandTaxHistory.Id == 0) { db.LandTaxHistories.Add(viewModel.LandTaxHistory); } db.SaveChanges(); string ReportType = "pdf"; LocalReport localReport = new LocalReport(); localReport.ReportPath = Server.MapPath("~/Reports/TaxReport.rdlc"); localReport.DataSources.Add(new ReportDataSource { Name = "HouseTax", Value = db.HouseTaxHistories.Where(h => h.Id == viewModel.LandTaxHistory.HouseTaxHistoryId).ToList() }); localReport.DataSources.Add(new ReportDataSource { Name = "LandTax", Value = db.LandTaxHistories.Where(l => l.Id == viewModel.LandTaxHistory.Id).ToList() }); localReport.DataSources.Add(new ReportDataSource { Name = "Citizen", Value = db.Citizens.Where(c => c.CitizenId == viewModel.LandTaxHistory.CitizenId).ToList() }); localReport.DataSources.Add(new ReportDataSource { Name = "Lands", Value = db.CitizenLands.Where(l => l.CitizenId == viewModel.LandTaxHistory.CitizenId).ToList() }); localReport.DataSources.Add(new ReportDataSource { Name = "houses", Value = db.CitizenHouses.Where(l => l.CitizenId == viewModel.LandTaxHistory.CitizenId).ToList() }); string reportType = ReportType; string mimeType; string encoding; string fileNameExtension; //if (ReportType == "Excel") //{ // fileNameExtension = "xlsx"; //} //else if (ReportType == "PDF") //{ // fileNameExtension = "pdf"; //} //else //{ // fileNameExtension = "docx"; //} string[] streams; Warning[] warnings; byte[] renderByte; renderByte = localReport.Render(reportType, "", out mimeType, out encoding, out fileNameExtension, out streams, out warnings); Response.AddHeader("content-disposition", "attachment:filename= TaxReport." + fileNameExtension); return(File(renderByte, fileNameExtension)); //return RedirectToAction("Index", "LandTax"); }