Exemple #1
0
        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));
        }
Exemple #2
0
        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());
        }
Exemple #3
0
        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());
        }
Exemple #4
0
        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());
        }
Exemple #5
0
        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());
        }
Exemple #6
0
        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());
        }
Exemple #7
0
        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));
        }
Exemple #8
0
        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());
        }