Esempio n. 1
0
        public ActionResult Create(int? aircraftId)
        {
            CreateSquawkViewModel model = new CreateSquawkViewModel()
            {
                AircraftList = _dataService.GetAllAirplanes()
            };

            if (aircraftId != null)
            {
                model.AircraftId = (int)aircraftId;
            }

            return View(model);
        } 
Esempio n. 2
0
        public ActionResult Create(CreateSquawkViewModel model)
        {
            if (ModelState.IsValid)
            {
                Squawk squawk = new Squawk()
                {
                    AircraftId = model.AircraftId,
                    Subject = model.Subject,
                    Description = model.Description,
                    GroundAircraft = model.GroundAircraft,
                    PostedById = ProfileCommon.GetProfile().MemberId,
                    PostedOn = DateTime.Now,
                    Status = SquawkStatus.Open.ToString()
                };
                _dataService.AddSquawk(squawk);

                if (model.GroundAircraft)
                    _dataService.UpdateAircraftStatus(model.AircraftId, AircraftStatus.Grounded.ToString());

                try
                {
                    Aircraft aircraft = _dataService.GetAircraftById(model.AircraftId);

                    MailMessage message = new MailMessage();
                    message.Subject = "Squawk posted for " + aircraft.RegistrationNumber;
                    message.From = new MailAddress("*****@*****.**");
                    message.Body = model.Subject + "\t";
                    message.Body += model.Description;

                    List<Member> owners = _dataService.GetAircraftOwners(model.AircraftId);
                    foreach (var owner in aircraft.Owners)
                        message.To.Add(new MailAddress(owner.Login.Email));

                    SendEmail(message);
                }
                catch (Exception ex)
                {
                    LogError("Error while sending squawk notification email for aircraftId " + model.AircraftId + "\t" + ex.ToString());
                }

                return RedirectToAction("ListActiveSquawks");  
            }

            return View(model);
        }