public async Task <IActionResult> Edit(int id, [Bind("Id,Name,Rank,OfficerId,IsAllotted,HasAppliedForResidence,HasAppliedForResidenceChange,ApplicationDate")] OfficerResidenceInfo officerResidenceInfo) { if (id != officerResidenceInfo.Id) { return(NotFound()); } if (ModelState.IsValid) { try { _context.Update(officerResidenceInfo); await _context.SaveChangesAsync(); } catch (DbUpdateConcurrencyException) { if (!OfficerResidenceInfoExists(officerResidenceInfo.Id)) { return(NotFound()); } else { throw; } } return(RedirectToAction(nameof(Roster))); } ViewData["OfficerId"] = new SelectList(_context.Officers, "Id", "Id", officerResidenceInfo.OfficerId); return(View(officerResidenceInfo)); }
public async Task <IActionResult> ApplyForAllotte(OfficerResidenceInfo officerResidenceInfo) { if (ModelState.IsValid) { OfficerResidenceInfo tempOfficerResidenceInfo = new OfficerResidenceInfo(); tempOfficerResidenceInfo.OfficerId = officerResidenceInfo.OfficerId; tempOfficerResidenceInfo.ApplicationTypeId = officerResidenceInfo.ApplicationTypeId; tempOfficerResidenceInfo.ApplicationDate = officerResidenceInfo.ApplicationDate; tempOfficerResidenceInfo.JoiningDate = officerResidenceInfo.JoiningDate; tempOfficerResidenceInfo.Preference = officerResidenceInfo.Preference; tempOfficerResidenceInfo.Remarks = officerResidenceInfo.Remarks; tempOfficerResidenceInfo.HasAppliedForResidence = true; _context.Add(tempOfficerResidenceInfo); await _context.SaveChangesAsync(); return(RedirectToAction(nameof(Roster))); } ViewData["Ranks"] = new SelectList(_context.OfficerRanks, "Id", "Name"); ViewData["ApplicationType"] = new SelectList(_context.ApplicationTypes, "Id", "Name"); return(View()); }
public async Task <IActionResult> AddProbableVacancy(OfficerResidenceInfo officerResidenceInfo) { if (ModelState.IsValid) { var tempOfficerResidenceInfo = await _context.OfficerResidenceInfoes.Where(m => m.Id == officerResidenceInfo.Id).FirstOrDefaultAsync(); tempOfficerResidenceInfo.ProbableVacancyDate = officerResidenceInfo.ProbableVacancyDate; tempOfficerResidenceInfo.VacancyReason = officerResidenceInfo.VacancyReason; tempOfficerResidenceInfo.Remarks = officerResidenceInfo.Remarks; tempOfficerResidenceInfo.IsVancancyProbable = true; _context.Update(tempOfficerResidenceInfo); await _context.SaveChangesAsync(); return(RedirectToAction(nameof(ProbableVacancyList))); } var officerResidenceInfoTemp = _context.OfficerResidenceInfoes .Include(m => m.Officer) .ThenInclude(m => m.OfficerRank) .Include(m => m.Residence) .ThenInclude(m => m.ResidenceBuilding) .ThenInclude(m => m.BuildingType) .Where(m => m.Id == officerResidenceInfo.Id) .ToList(); ViewData["OfficerResidenceInfo"] = officerResidenceInfoTemp; return(View()); }
public async Task <IActionResult> ApplyForChange(OfficerResidenceInfo officerResidenceInfo) { if (ModelState.IsValid) { var tempOfficerResidenceInfo = await _context.OfficerResidenceInfoes.Where(m => m.Id == officerResidenceInfo.Id).FirstOrDefaultAsync(); tempOfficerResidenceInfo.ApplicationTypeId = officerResidenceInfo.ApplicationTypeId; tempOfficerResidenceInfo.ApplicationDate = officerResidenceInfo.ApplicationDate; tempOfficerResidenceInfo.JoiningDate = officerResidenceInfo.JoiningDate; tempOfficerResidenceInfo.Reason = officerResidenceInfo.Reason; tempOfficerResidenceInfo.Remarks = officerResidenceInfo.Remarks; tempOfficerResidenceInfo.HasAppliedForResidence = false; tempOfficerResidenceInfo.IsAllotted = true; tempOfficerResidenceInfo.HasAppliedForResidenceChange = true; _context.Update(tempOfficerResidenceInfo); await _context.SaveChangesAsync(); return(RedirectToAction(nameof(ApplicationsForChange))); } var ranks = _context.OfficerRanks .ToList(); ViewData["Ranks"] = new SelectList(ranks, "Id", "Name"); return(View()); }
public async Task <IActionResult> GeneralAllotte(OfficerResidenceInfo officerResidenceInfo) { if (ModelState.IsValid) { OfficerResidenceInfo tempOfficerResidenceInfo = new OfficerResidenceInfo(); tempOfficerResidenceInfo.OfficerId = officerResidenceInfo.OfficerId; tempOfficerResidenceInfo.AllottementDate = officerResidenceInfo.AllottementDate; tempOfficerResidenceInfo.Preference = ""; tempOfficerResidenceInfo.Remarks = ""; tempOfficerResidenceInfo.HasAppliedForResidence = false; tempOfficerResidenceInfo.HasAppliedForResidenceChange = false; tempOfficerResidenceInfo.IsAllotted = true; tempOfficerResidenceInfo.ResidenceId = officerResidenceInfo.ResidenceId; var residence = _context.Residences .Where(m => m.Id == officerResidenceInfo.ResidenceId) .FirstOrDefault(); residence.IsAllotted = true; _context.Add(tempOfficerResidenceInfo); _context.Update(residence); await _context.SaveChangesAsync(); return(RedirectToAction(nameof(AllottementState))); } var residenceZones = _context.ResidenceZones .ToList(); var ranks = _context.OfficerRanks .ToList(); ViewData["Ranks"] = new SelectList(ranks, "Id", "Name"); ViewData["ResidenceZones"] = new SelectList(residenceZones, "Id", "Name"); return(View()); }
public async Task <IActionResult> ChangeResidence(OfficerResidenceInfo officerResidenceInfo) { if (ModelState.IsValid) { var previousInfo = await _context.OfficerResidenceInfoes.Where(m => m.Id == officerResidenceInfo.Id).FirstOrDefaultAsync(); var previousResidence = await _context.Residences.Where(m => m.Id == previousInfo.ResidenceId).FirstOrDefaultAsync(); previousResidence.IsAllotted = false; _context.Remove(previousInfo); _context.Update(previousResidence); await _context.SaveChangesAsync(); OfficerResidenceInfo tempOfficerResidenceInfo = new OfficerResidenceInfo(); tempOfficerResidenceInfo.OfficerId = officerResidenceInfo.OfficerId; tempOfficerResidenceInfo.AllottementDate = officerResidenceInfo.AllottementDate; tempOfficerResidenceInfo.ApplicationTypeId = officerResidenceInfo.ApplicationTypeId; tempOfficerResidenceInfo.Preference = ""; tempOfficerResidenceInfo.Remarks = ""; tempOfficerResidenceInfo.HasAppliedForResidence = false; tempOfficerResidenceInfo.HasAppliedForResidenceChange = false; tempOfficerResidenceInfo.IsAllotted = true; tempOfficerResidenceInfo.ResidenceId = officerResidenceInfo.ResidenceId; var residence = _context.Residences .Where(m => m.Id == officerResidenceInfo.ResidenceId) .FirstOrDefault(); residence.IsAllotted = true; _context.Add(tempOfficerResidenceInfo); _context.Update(residence); await _context.SaveChangesAsync(); return(RedirectToAction(nameof(ApplicationsForChange))); } var finalOfficerResidenceInfo = _context.OfficerResidenceInfoes .Include(m => m.Officer) .ThenInclude(m => m.OfficerRank) .Include(m => m.Residence) .ThenInclude(m => m.ResidenceBuilding) .ThenInclude(m => m.BuildingType) .Where(m => m.Id == officerResidenceInfo.Id) .FirstOrDefault(); var residenceZones = _context.ResidenceZones .ToList(); ViewData["ResidenceZones"] = new SelectList(residenceZones, "Id", "Name"); ViewData["OfficerResidenceInfo"] = finalOfficerResidenceInfo; return(View()); }
public async Task <IActionResult> Create(OfficerResidenceInfo officerResidenceInfo) { if (ModelState.IsValid) { _context.Add(officerResidenceInfo); await _context.SaveChangesAsync(); return(RedirectToAction(nameof(Roster))); } ViewData["OfficerId"] = new SelectList(_context.Officers, "Id", "Id", officerResidenceInfo.OfficerId); return(View(officerResidenceInfo)); }
public async Task <IActionResult> Allotte(OfficerResidenceInfo officerResidenceInfo) { if (ModelState.IsValid) { var tempOfficerResidenceInfo = _context.OfficerResidenceInfoes .Include(o => o.Officer) .Where(m => m.OfficerId == officerResidenceInfo.OfficerId && m.HasAppliedForResidence) .FirstOrDefault(); tempOfficerResidenceInfo.AllottementDate = officerResidenceInfo.AllottementDate; tempOfficerResidenceInfo.Preference = ""; tempOfficerResidenceInfo.Remarks = ""; tempOfficerResidenceInfo.HasAppliedForResidence = false; tempOfficerResidenceInfo.HasAppliedForResidenceChange = false; tempOfficerResidenceInfo.IsAllotted = true; tempOfficerResidenceInfo.ResidenceId = officerResidenceInfo.ResidenceId; var residence = _context.Residences .Where(m => m.Id == officerResidenceInfo.ResidenceId) .FirstOrDefault(); residence.IsAllotted = true; _context.Update(residence); _context.Update(tempOfficerResidenceInfo); await _context.SaveChangesAsync(); return(RedirectToAction(nameof(Roster))); } var officer = _context.Officers .Include(o => o.OfficerRank) .Where(m => m.Id == officerResidenceInfo.OfficerId) .FirstOrDefault(); var residenceZones = _context.ResidenceZones .ToList(); ViewData["Officer"] = officer; ViewData["ResidenceZones"] = new SelectList(residenceZones, "Id", "Name"); return(View()); }