public async Task <IActionResult> UpdateLandDetail(int id, LandDetail LandDetail) { if (id != LandDetail.ID) { return(BadRequest()); } _context.Entry(LandDetail).State = EntityState.Modified; try { await _context.SaveChangesAsync(); } catch (DbUpdateConcurrencyException) { if (!LandDetailExists(id)) { return(NotFound()); } else { throw; } } return(NoContent()); }
public async Task <ActionResult <LandDetail> > AddLandDetail([FromBody] LandDetailViewModel input) { try { if (isExists(input.Name, input.UserId, input.ID)) { return(new JsonResult(new { status = true, ErrorMessage = "Given land name exist" })); } LandDetail landDetails = null; if (input != null) { landDetails = input.Adapt <LandDetail>(); var stateList = _context.StateLists.Where(s => s.ID == input.StateId).FirstOrDefault(); if (stateList == null) { return(new JsonResult(new { ErrorMessage = "The given state id not found." })); } var user = _context.Users.Where(s => s.ID == input.UserId).FirstOrDefault(); if (user == null) { return(new JsonResult(new { ErrorMessage = "The given user id not found." })); } landDetails.User = user; landDetails.State = stateList; if (input.ID <= 0) { _context.LandDetails.Add(landDetails); } else { _context.LandDetails.Update(landDetails); } } await _context.SaveChangesAsync(); return(new JsonResult(landDetails)); } catch (Exception _ex) { return(new JsonResult(new { ErrorMessage = _ex.Message })); } }
private bool isExists(string landName, int userId, int id) { LandDetail landDetail = null; if (id == 0) { landDetail = _context.LandDetails.Where(a => a.Name.Equals(landName) && a.UserId == userId).FirstOrDefault(); } else { landDetail = _context.LandDetails.Where(a => a.Name.Equals(landName) && a.ID != id && a.UserId == userId).FirstOrDefault(); } if (landDetail != null) { return(true); } return(false); }
public async Task <ActionResult <IEnumerable <ViewReportViewModel> > > GetViewReport(int id) { LandDetail landDetailViewModel = await _context.LandDetails.FindAsync(id); List <PartitionLandDetail> partitionLandViewModel = await _context.PartitionLandDetails.Where(p => p.LandDetailId == id).ToListAsync(); List <ViewReportViewModel> viewReportViewModel = new List <ViewReportViewModel>(); List <Plowing> plowing = null; List <Seeding> seeding = null; List <PestControl> pestControl = null; List <WeedRemove> weedRemove = null; List <Sale> sale = null; List <Harvestings> harvestings = null; foreach (var partition in partitionLandViewModel) { plowing = await _context.Plowings.Where(p => p.PartitionLandDetailId == partition.ID).ToListAsync(); seeding = await _context.Seedings.Where(s => s.PartitionLandDetailId == partition.ID).ToListAsync(); pestControl = await _context.PestControls.Where(p => p.PartitionLandDetailId == partition.ID).ToListAsync(); weedRemove = await _context.WeedRemove.Where(p => p.PartitionLandDetailId == partition.ID).ToListAsync(); sale = await _context.Sales.Where(p => p.PartitionLandDetailId == partition.ID).ToListAsync(); harvestings = await _context.Harvestings.Where(p => p.PartitionLandDetailId == partition.ID).ToListAsync(); foreach (var plow in plowing) { viewReportViewModel.Add(new ViewReportViewModel { Expense = plow.PlowingExp, Income = 0, LandName = landDetailViewModel.Name, Partition = partition.LandDirection, Purpose = "Plowing" }); } foreach (var seed in seeding) { viewReportViewModel.Add(new ViewReportViewModel { Expense = seed.SeedCost + seed.LabourCost, Income = 0, LandName = landDetailViewModel.Name, Partition = partition.LandDirection, Purpose = "Seeding" }); } foreach (var pest in pestControl) { viewReportViewModel.Add(new ViewReportViewModel { Expense = pest.LabourCost + pest.Cost, Income = 0, LandName = landDetailViewModel.Name, Partition = partition.LandDirection, Purpose = "PestControl" }); } foreach (var weed in weedRemove) { viewReportViewModel.Add(new ViewReportViewModel { Expense = weed.Cost + weed.LabourCost, Income = 0, LandName = landDetailViewModel.Name, Partition = partition.LandDirection, Purpose = "WeedRemove" }); } foreach (var harvest in harvestings) { viewReportViewModel.Add(new ViewReportViewModel { Expense = harvest.Cost + harvest.LabourCost, Income = 0, LandName = landDetailViewModel.Name, Partition = partition.LandDirection, Purpose = "Harvesting" }); } foreach (var sales in sale) { viewReportViewModel.Add(new ViewReportViewModel { Expense = sales.Price, Income = 0, LandName = landDetailViewModel.Name, Partition = partition.LandDirection, Purpose = "Sale" }); } } return(viewReportViewModel); }