public ActionResult UpdateFlight(Guid?flightId)
        {
            var flight = _flightService.FindById(flightId.Value).Result;

            var flightModel = new FlightDataModel()
            {
                Id            = flight.Id,
                Number        = flight.Number,
                FromCity      = flight.From.Id,
                ToCity        = flight.To.Id,
                DepartureDate = flight.DepartureDate,
                ArrivalDate   = flight.ArrivalDate,
                Status        = flight.Status.GetDescription()
            };

            var cities = _cityService.GetAll().Result;

            var model = new FlightCreateUpdateModel()
            {
                FlightDataModel        = flightModel,
                Cities                 = cities,
                Statuses               = _flightService.GetAvailableStatuses().Result,
                CurrentAircrewMemebers = flight.AircrewMembers
            };

            return(View("UpdateFlight", model));
        }
        public ActionResult AddFlight()
        {
            var cities = _cityService.GetAll().Result;

            var model = new FlightCreateUpdateModel()
            {
                Cities = cities
            };

            return(View(model));
        }
        public ActionResult Edit(FlightCreateUpdateModel flight)
        {
            if (ModelState.IsValid)
            {
                Mapper.Initialize(cfg1 => cfg1.CreateMap <FlightCreateUpdateModel, Flight>());
                var flight1 = Mapper.Map <FlightCreateUpdateModel, Flight>(flight);

                flightCrud.FlightUpdate(flight1);
                return(RedirectToAction("Index"));
            }
            return(View(flight));
        }
        public ActionResult AddFlight(FlightDataModel flightDataModel)
        {
            if (ModelState.IsValid)
            {
                var flight = CollectRawData(flightDataModel);

                var result = _flightService.Crete(flight);
                if (result.Status == AnswerStatus.Success)
                {
                    return(RedirectToAction("AddFlight"));
                }
                else
                {
                    foreach (var error in result.Errors)
                    {
                        if (error.Key == "Number error")
                        {
                            ModelState.AddModelError("flightDataModel.Number", error.Value);
                        }

                        if (error.Key == "Date error")
                        {
                            ModelState.AddModelError("flight.ArrivalDate", error.Value);
                        }

                        ModelState.AddModelError(error.Key, error.Value);
                    }
                }
            }

            var cities         = _cityService.GetAll().Result;
            var members        = GetMemberCollection(flightDataModel);
            var lodededMembers = _aircrewMemberService.FindByIds(members.Select(x => x.Id)).Result;

            var model = new FlightCreateUpdateModel()
            {
                Cities                 = cities,
                FlightDataModel        = flightDataModel,
                CurrentAircrewMemebers = lodededMembers
            };

            return(View("AddFlight", model));
        }