public async Task <RedirectToActionResult> ShootingPermissionProcessing(ShootingPermission ProcessingShootingPermission,
                                                                                List <int> facilitiesId)
        {
            if (ModelState.IsValid)
            {
                await passRepository.Update(ProcessingShootingPermission);

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

                ProcessingShootingPermission.StationFacilities =
                    await Task.Run(() => facilitiesId.Select(id => stationFacilitysRepository.GetAll()
                                                             .Where(v => v.Id == id)
                                                             .Include(v => v.ShootingPermissions)
                                                             .First()).ToList());

                ProcessingShootingPermission.ShootingPermissionIssued = await GetRequestUserAsync();

                await passRepository.Update(ProcessingShootingPermission);

                int id = ProcessingShootingPermission.Id;
                return(RedirectToAction("ShootingPermissionProcessing", new { id = id }));
            }
            return(RedirectToAction(nameof(CarPassController.BadRedirectRequest),
                                    nameof(VisitorFormController)));
        }
        public async Task <IActionResult> ShootingPermissionProcessing(int id, int visitorId)
        {
            ShootingPermission shootingPermission;

            if (id != 0)
            {
                shootingPermission = await passRepository.GetAll()
                                     .Where(v => v.Id == id)
                                     .Include(v => v.StationFacilities)
                                     .Include(v => v.ShootingPermissionIssued)
                                     .ThenInclude(v => v.Department)
                                     .FirstAsync();
            }
            else
            {
                if (visitorId != 0)
                {
                    shootingPermission            = new ShootingPermission();
                    shootingPermission.ValidWith  = DateTime.Now;
                    shootingPermission.ValitUntil = DateTime.Now;
                    shootingPermission.VisitorId  = visitorId;
                    shootingPermission.ShootingPermissionIssued = await GetRequestUserAsync();
                }
                else
                {
                    return(new BadRequestResult());
                }
            }
            return(View(new ShootingPermissionVM
            {
                ProcessingShootingPermission = shootingPermission,
                ShowAdvancedFeatures = HttpContext.User.IsInRole("Administrator") || HttpContext.User.IsInRole("Moderator")
            }));
        }
Exemplo n.º 3
0
        public Visitor()
        {
            SinglePass = new SinglePass {
                Visitor = this
            };
            SinglePasses        = new ObservableCollection <SinglePass>();
            TemporaryPasses     = new ObservableCollection <TemporaryPass>();
            ShootingPermissions = new ObservableCollection <ShootingPermission>();
            ShootingPermission  = new ShootingPermission {
                Visitor = this
            };


            var stationDBContext = MainBDContext.GetRef;

            stationDBContext.DocumentTypes.Load();
            stationDBContext.IssuingAuthorities.Load();
            stationDBContext.Departments.Load();
            stationDBContext.Employees.Load();
            stationDBContext.StationFacilities.Load();
        }
        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 ShootingPermission();
                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));
        }
Exemplo n.º 5
0
 public ShootingPermissionDocument(ShootingPermission shootingPermission)
 {
     this.ShootingPermission = shootingPermission;
 }