Exemple #1
0
        public async Task <IActionResult> TemporaryPassProcessing(int id, int visitorId)
        {
            TemporaryPass temporaryPass;

            if (id != 0)
            {
                temporaryPass = await passRepository.GetAll()
                                .Where(v => v.Id == id)
                                .Include(v => v.StationFacilities)
                                .Include(v => v.TemporaryPassIssued)
                                .ThenInclude(v => v.Department)
                                .FirstAsync();
            }
            else
            {
                if (visitorId != 0)
                {
                    temporaryPass = new TemporaryPass();
                    temporaryPass.TemporaryPassIssued = await GetRequestUserAsync();

                    temporaryPass.ValidWith  = DateTime.Now;
                    temporaryPass.ValitUntil = DateTime.Now;
                    temporaryPass.VisitorId  = visitorId;
                }
                else
                {
                    return(new BadRequestResult());
                }
            }
            return(View(new TemporaryPassVM
            {
                ProcessingTemporaryPass = temporaryPass,
                ShowAdvancedFeatures = HttpContext.User.IsInRole("Administrator") || HttpContext.User.IsInRole("Moderator")
            }));
        }
Exemple #2
0
        public async Task <RedirectToActionResult> TemporaryPassProcessing(TemporaryPass ProcessingTemporaryPass,
                                                                           List <int> facilitiesId)
        {
            await passRepository.Update(ProcessingTemporaryPass);

            passRepository.GetAll().Where(v => v.Id == ProcessingTemporaryPass.Id).
            Include(v => v.StationFacilities)
            .First();

            ProcessingTemporaryPass.StationFacilities =
                facilitiesId.Select(id => stationFacilitysRepository.GetAll()
                                    .Where(v => v.Id == id)
                                    .Include(v => v.TemporaryPasses)
                                    .First()).ToList();

            ProcessingTemporaryPass.TemporaryPassIssued = await GetRequestUserAsync();

            await passRepository.Update(ProcessingTemporaryPass);

            int id = ProcessingTemporaryPass.Id;

            return(RedirectToAction("TemporaryPassProcessing", new { id = id }));
        }
Exemple #3
0
        public async Task <IActionResult> GetAllowedList(int processingPass)
        {
            var pass = await passRepository.GetAll()
                       .Where(v => v.Id == processingPass)
                       .Include(v => v.StationFacilities).FirstOrDefaultAsync();

            if (pass == null)
            {
                pass = new TemporaryPass();
                pass.StationFacilities = new List <StationFacility>();
            }
            var allPass = await stationFacilitysRepository.GetAll().ToListAsync();

            var accessPairs = allPass.Select(s => new
            {
                Facility = s,
                Allow    = pass.StationFacilities
                           .Where(v => v.Id == s.Id)
                           .Any()
            })
                              .ToDictionary(v => v.Facility, i => i.Allow);

            return(View(accessPairs));
        }