コード例 #1
0
        public PartialViewResult EditTaskHelideck(int id)
        {
            var selectedTask = _selectedTaskDAO.Get(id);

            var helicopterTask = _helicopterTaskDAO.Get(selectedTask.HelicopterTaskId);

            var viewModel = new HelideckViewModel
            {
                NoiseProtectionId = selectedTask.NoiseProtectionId,
                TaskId            = selectedTask.Task.Id,
                SelectedTaskId    = selectedTask.Id,
                Title             = selectedTask.Task.Title,
                Role         = selectedTask.Task.Role.Title,
                RoleType     = RoleTypeEnum.Helideck.ToString(),
                HelicopterId = helicopterTask.HelicopterType.Id,
                NoiseLevel   = helicopterTask.NoiseLevel
            };

            viewModel.Helicopters.Add(new SelectListItem {
                Text = TaskResources.SelectOne, Value = "0"
            });
            foreach (var type in _helicopterTypeDAO.GetAll())
            {
                var selectListItem = new SelectListItem {
                    Text = type.Title, Value = type.Id.ToString()
                };
                if (viewModel.HelicopterId == type.Id)
                {
                    selectListItem.Selected = true;
                }

                viewModel.Helicopters.Add(selectListItem);
            }

            viewModel.NoiseProtection.Add(new SelectListItem {
                Text = TaskResources.SelectOne, Value = "0"
            });
            foreach (var noiseProtection in _noiseProtectionDAO.GetAllFilteredByCurrentCulture())
            {
                var selectListItem = new SelectListItem {
                    Text = noiseProtection.Title, Value = noiseProtection.Id.ToString()
                };
                if (viewModel.NoiseProtectionId == noiseProtection.Id)
                {
                    selectListItem.Selected = true;
                }

                viewModel.NoiseProtection.Add(selectListItem);
            }

            Response.Cache.SetCacheability(HttpCacheability.NoCache);

            return(PartialView("_EditHelideckTask", viewModel));
        }
コード例 #2
0
        private ValidationErrorSummaryViewModel ValidateInput(HelideckViewModel viewModel)
        {
            var errorSummaryViewModel = new ValidationErrorSummaryViewModel();

            if (viewModel.HelicopterId == 0)
            {
                errorSummaryViewModel.ValidationErrors.Add(TaskResources.ValidationErrorHelicopterTypeRequired);
            }

            if (viewModel.NoiseProtectionId == 0)
            {
                errorSummaryViewModel.ValidationErrors.Add(TaskResources.ValidationErrorHelicopterNoiseLevelRequired);
            }

            return(errorSummaryViewModel);
        }
コード例 #3
0
        public PartialViewResult AddTaskHelideck(int id)
        {
            var task = _taskDAO.Get(id);

            var viewModel = new HelideckViewModel
            {
                TaskId                      = task.Id,
                Title                       = task.Title,
                Role                        = task.Role.Title,
                RoleType                    = RoleTypeEnum.Helideck.ToString(),
                NoiseLevel                  = task.NoiseLevelGuideline,
                NoiseProtectionId           = task.NoiseProtection.Id,
                NoiseProtectionDefinitionId = task.NoiseProtection.NoiseProtectionDefinition.Id
            };

            AppendHelideckMasterData(viewModel);

            Response.Cache.SetCacheability(HttpCacheability.NoCache);

            return(PartialView("_CreateHelideckTask", viewModel));
        }
コード例 #4
0
        private void AppendHelideckMasterData(HelideckViewModel viewModel)
        {
            viewModel.Helicopters.Add(new SelectListItem {
                Text = TaskResources.SelectOne, Value = "0"
            });
            foreach (var type in _helicopterTypeDAO.GetAll())
            {
                var selectListItem = new SelectListItem {
                    Text = type.Title, Value = type.Id.ToString()
                };
                if (viewModel.HelicopterId == type.Id)
                {
                    selectListItem.Selected = true;
                }

                viewModel.Helicopters.Add(selectListItem);
            }

            viewModel.NoiseProtection.Add(new SelectListItem {
                Text = TaskResources.SelectOne, Value = "0"
            });
            foreach (var noiseProtection in _noiseProtectionDAO.GetAllFilteredByCurrentCulture())
            {
                var selectListItem = new SelectListItem {
                    Text = noiseProtection.Title, Value = noiseProtection.Id.ToString()
                };
                if (viewModel.NoiseProtectionDefinitionId == noiseProtection.NoiseProtectionDefinition.Id)
                {
                    selectListItem.Selected = true;
                }

                if (noiseProtection.NoiseProtectionDefinition.Id == 6 || noiseProtection.NoiseProtectionDefinition.Id == 7)
                {
                    // Skumpropp tas ikke med i helideck operasjoner
                    continue;
                }

                viewModel.NoiseProtection.Add(selectListItem);
            }
        }
コード例 #5
0
        public PartialViewResult EditTaskHelideck(int id, HelideckViewModel viewModel)
        {
            var selectedTask   = _selectedTaskDAO.Get(id);
            var helicopterTask = _helicopterTaskDAO.Get(selectedTask.HelicopterTaskId);

            var validationViewModel = ValidateInput(viewModel);

            if (validationViewModel.ValidationErrors.Count > 0)
            {
                Response.StatusCode = 500;
                return(PartialView("_ValidationErrorSummary", validationViewModel));
            }

            var noiseProtection = _noiseProtectionDAO.Get(selectedTask.NoiseProtectionId);

            var taskValuesHaveBeenChanged = (viewModel.HelicopterId != helicopterTask.HelicopterType.Id ||
                                             (viewModel.NoiseProtectionId != noiseProtection.Id));

            if (taskValuesHaveBeenChanged)
            {
                var newNoiseProtection = _noiseProtectionDAO.Get(viewModel.NoiseProtectionId);
                var newHelicopterTask  = _helicopterTaskDAO.Get(viewModel.HelicopterId, selectedTask.Task.Id);

                selectedTask.Title           = string.Format("{0} - {1}", selectedTask.Task.Title, newHelicopterTask.HelicopterType.Title);
                selectedTask.NoiseProtection = newNoiseProtection.Title;
                selectedTask.Percentage      =
                    (int)
                    CalculatePercentage(newHelicopterTask.NoiseLevel, selectedTask.ButtonPressed, 80,
                                        newNoiseProtection, new TimeSpan(0, 0, selectedTask.Minutes, 0));
                selectedTask.Minutes           = selectedTask.Minutes;
                selectedTask.HelicopterTaskId  = newHelicopterTask.Id;
                selectedTask.NoiseProtectionId = newNoiseProtection.Id;

                _selectedTaskDAO.Store(selectedTask);
            }

            return(PartialView("_SelectedTask", new SelectedTaskViewModel(selectedTask)));
        }
コード例 #6
0
        public ActionResult AddTaskHelideck(HelideckViewModel viewModel)
        {
            var task = _taskDAO.Get(viewModel.TaskId);

            var validationViewModel = ValidateInput(viewModel);

            if (validationViewModel.ValidationErrors.Count > 0)
            {
                Response.StatusCode = 500;
                return(PartialView("_ValidationErrorSummary", validationViewModel));
            }

            var noiseProtection = _noiseProtectionDAO.Get(viewModel.NoiseProtectionId);
            var helicopterTask  = _helicopterTaskDAO.Get(viewModel.HelicopterId, task.Id);

            var selectedTask = new SelectedTask
            {
                NoiseLevel        = task.NoiseLevelGuideline,
                ButtonPressed     = task.ButtonPressed,
                NoiseProtectionId = viewModel.NoiseProtectionId,
                Title             = string.Format("{0} - {1}", task.Title, helicopterTask.HelicopterType.Title),
                Role             = task.Role.Title,
                NoiseProtection  = noiseProtection.Title,
                Percentage       = (int)CalculatePercentage(helicopterTask.NoiseLevel, task.ButtonPressed, 0, noiseProtection, new TimeSpan(0, 0, task.AllowedExposureMinutes, 0)),
                Minutes          = task.AllowedExposureMinutes,
                Task             = task,
                HelicopterTaskId = helicopterTask.Id,
                CreatedBy        = string.IsNullOrEmpty(User.Identity.Name) ? Session.SessionID : User.Identity.Name,
                CreatedDate      = DateTime.Now.Date,
                IsNoiseMeassured = false
            };

            _selectedTaskDAO.Store(selectedTask);

            return(PartialView("_SelectedTask", new SelectedTaskViewModel(selectedTask)));
        }