示例#1
0
        public virtual ActionResult CreateFlightLog(FlightLogViewModel flightLogViewModel)
        {
            this.Validate(flightLogViewModel, string.Empty);
            if (!ModelState.IsValid)
            {
                return(View(CreateFlightLogViewModel(null)));
            }
            var flightLog = Mapper.Map <FlightLogViewModel, FlightLog>(flightLogViewModel);

            flightLog.Location = Repository.Get <ProgramLocation>(flightLogViewModel.LocationId);
            flightLog          = flightLogRepository.AddFlightLog(flightLog);
            return(RedirectToAction(MVC.FlightLogs.EditFlightLog(flightLog.Id.Value)));
        }
示例#2
0
        private FlightLogViewModel CreateFlightLogViewModel(FlightLog flightLog)
        {
            var viewModel       = new FlightLogViewModel();
            var activeLocations = flightProgramsRepository.GetAllActiveProgramLocations();
            var activeAircraft  = flightProgramsRepository.GetAllActiveAircraftMds();

            if (flightLog != null)
            {
                Mapper.Map <FlightLog, FlightLogViewModel>(flightLog, viewModel);
                activeLocations = activeLocations.Union(new ProgramLocation[] { flightLog.Location });
            }
            viewModel.SetActiveLocations(activeLocations);
            viewModel.SetActiveAircraft(activeAircraft);
            viewModel.IsFlightLogManager = CurrentUser.Roles.FlightLogManager;
            return(viewModel);
        }
示例#3
0
        public virtual ActionResult EditFlightLog(Guid id, FlightLogViewModel flightLogViewModel)
        {
            var flightLog = Repository.Get <FlightLog>(id);

            this.Validate(flightLogViewModel, string.Empty);
            if (!ModelState.IsValid)
            {
                var viewModel = CreateFlightLogViewModel(flightLog);
                return(View(viewModel));
            }
            Mapper.Map <FlightLogViewModel, FlightLog>(flightLogViewModel, flightLog);
            flightLog.Location = Repository.Get <ProgramLocation>(flightLogViewModel.LocationId);
            flightLog.MarkedUpdated();
            TempData["SavedFlightLog"] = true;
            return(RedirectToAction(MVC.FlightLogs.EditFlightLog(id)));
        }
        public async Task <IActionResult> Post([FromBody] FlightLogViewModel flightLogViewModel)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            var flightLog = new FlightLog
            {
                DepartmentId             = flightLogViewModel.DepartmentId,
                ApplicationUserIdPiloted = flightLogViewModel.ApplicationUserIdPiloted,
                ApplicationUserIdLogged  = flightLogViewModel.ApplicationUserIdLogged,
                EntityId                  = flightLogViewModel.EntityId,
                CountryId                 = flightLogViewModel.CountryId,
                DateTakeOff               = flightLogViewModel.DateTakeOff,
                AddressTakeOff            = flightLogViewModel.AddressTakeOff,
                LatitudeTakeOff           = flightLogViewModel.LatitudeTakeOff,
                LongitudeTakeOff          = flightLogViewModel.LongitudeTakeOff,
                SecondsFlown              = flightLogViewModel.SecondsFlown,
                AddressLanding            = flightLogViewModel.AddressLanding,
                LatitudeLanding           = flightLogViewModel.LatitudeLanding,
                LongitudeLanding          = flightLogViewModel.LongitudeLanding,
                Remarks                   = flightLogViewModel.Remarks,
                FlightLogTypeOfOperations = new List <FlightLogTypeOfOperation>()
            };

            foreach (var typeOfOperationViewModel in flightLogViewModel.TypeOfOperationViewModels)
            {
                flightLog.FlightLogTypeOfOperations.Add(new FlightLogTypeOfOperation {
                    TypeOfOperationId = typeOfOperationViewModel.TypeOfOperationId
                });
            }

            await repository.Save(flightLog);

            flightLogViewModel.FlightLogId = flightLog.FlightLogId;
            return(CreatedAtAction("Get", new { id = flightLog.FlightLogId }, flightLogViewModel));
        }