Ejemplo n.º 1
0
        public ActionResult EditView(int id)
        {
            var dbContext = new ApplicationDbContext();
            var user      = dbContext.Users.FirstOrDefault(u => u.UserName == User.Identity.Name);
            var airline   = dbContext.AirlineDbModels.FirstOrDefault(a => a.Id == id && a.UserId == user.Id);

            if (airline != null)
            {
                var anyCertificates = dbContext.AirlineCertificatesDbModels.Any(c => c.Airline.Id == airline.Id);
                var view            = new AirlineViewModel()
                {
                    Id                  = airline.Id,
                    Name                = airline.Name,
                    Description         = airline.Description,
                    Country             = airline.Country,
                    Score               = airline.Score,
                    LogoPath            = airline.Logo,
                    RequireCertificates = anyCertificates
                };
                return(PartialView("Edit", view));
            }
            else
            {
                TempData["Message"] = "You must be the owner of the airline to edit.";
                return(null);
            }
        }
        public async Task <ActionResult <AirlineViewModel> > Post(AirlineViewModel airline)
        {
            var response = await _airlineService.Create(airline.ToModel());

            if (response != BusinessLogic.Enums.StatusCode.Created)
            {
                _logger.LogError($"Airline {airline.Name} not Created.");
            }

            return(response == BusinessLogic.Enums.StatusCode.Created
                ? (ActionResult <AirlineViewModel>)Ok()
                : Conflict());
        }
Ejemplo n.º 3
0
        public ActionResult Create(AirlineViewModel airline)
        {
            if (ModelState.IsValid)
            {
                airlineManager.AddAirline(airline.AirlineName);

                //unitOfWork.AirlineRepository.AddAirline(airline.AirlineName);
                //unitOfWork.Save();

                TempData["Message"] = this.airlineManager.Message;
                return(RedirectToAction("Create", "Airline"));
            }
            return(View(airline));
        }
Ejemplo n.º 4
0
        public ActionResult AddView()
        {
            var dbContext  = new ApplicationDbContext();
            var user       = dbContext.Users.FirstOrDefault(u => u.UserName == User.Identity.Name);
            var statistics = dbContext.StatisticsDbModels.FirstOrDefault(s => s.User.Id == user.Id);

            if (statistics != null && statistics.BankBalance >= airlinePrice)
            {
                var airlineModel = new AirlineViewModel();
                return(PartialView("Add", airlineModel));
            }
            else
            {
                TempData["Message"] = "You don't have enough bank balance to buy new airline.";
                return(null);
            }
        }
Ejemplo n.º 5
0
        // GET: AirLines
        public ActionResult Index()
        {
            List <AirLine> airLines = db.AirLines.Include(p => p.Routes).Where(p => p.IsActive == true).ToList();

            List <AirlineViewModel> airlineViewModels = new List <AirlineViewModel>();

            foreach (var airline in airLines)
            {
                AirlineViewModel model = new AirlineViewModel()
                {
                    Name       = airline.Name,
                    Country    = airline.Country,
                    LinkToPage = airline.LinkToPage,
                    Routes     = airline.Routes,
                    PublicId   = airline.PublicId
                };
                airlineViewModels.Add(model);
            }

            return(View(airlineViewModels));
        }
Ejemplo n.º 6
0
        // GET: AirLines/Details/5
        public ActionResult Details(Guid id)
        {
            if (id == Guid.Empty)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            AirLine airLine = db.AirLines.FirstOrDefault(p => p.PublicId == id);

            if (airLine == null)
            {
                return(HttpNotFound());
            }

            AirlineViewModel model = new AirlineViewModel()
            {
                Name       = airLine.Name,
                Country    = airLine.Country,
                LinkToPage = airLine.LinkToPage,
                PublicId   = airLine.PublicId,
                Routes     = airLine.Routes
            };

            return(View(model));
        }
Ejemplo n.º 7
0
        public IEnumerable <AirlineViewModel> Retreive()
        {
            using (var context = new ABS())
            {
                List <Airline> airlines = new List <Airline>();
                airlines = context.Airlines.ToList();

                if (airlines == null)
                {
                    return(null);
                }
                List <AirlineViewModel> airlinesDisplay = new List <AirlineViewModel>();
                foreach (var airline in airlines)
                {
                    AirlineViewModel airlineDisplay = new AirlineViewModel()
                    {
                        AirlineId = airline.AirlineId,
                        Name      = airline.Name
                    };
                    airlinesDisplay.Add(airlineDisplay);
                }
                return(airlinesDisplay);
            }
        }
 public static Airline ToModel(this AirlineViewModel model) => Mapper.Map <Airline>(model);
Ejemplo n.º 9
0
        public ActionResult Update(AirlineViewModel model)
        {
            var dbContext = new ApplicationDbContext();
            // Check GUEST
            var user = dbContext.Users.FirstOrDefault(u => u.UserName == User.Identity.Name);

            if (user != null && user.Email == AccountController.GuestEmail)
            {
                TempData["GuestMessage"] = AccountController.GuestMessage;
                return(RedirectToAction("Register", "Account"));
            }
            var airline = dbContext.AirlineDbModels.FirstOrDefault(a => a.Id == model.Id && a.UserId == user.Id);

            if (airline != null)
            {
                var certsAirline = dbContext.AirlineCertificatesDbModels.Include("Certificate").Where(c => c.Airline.Id == airline.Id).ToList();
                if (!model.RequireCertificates)
                {
                    dbContext.AirlineCertificatesDbModels.RemoveRange(certsAirline);
                }
                else
                {
                    foreach (var cert in dbContext.CertificateDbModels)
                    {
                        if (!certsAirline.Any(x => x.Certificate.Id == cert.Id))
                        {
                            var airlineCertificates = new AirlineCertificatesDbModel()
                            {
                                Certificate = cert,
                                Airline     = airline
                            };
                            dbContext.AirlineCertificatesDbModels.Add(airlineCertificates);
                        }
                    }
                }

                airline.Name        = model.Name;
                airline.Description = model.Description;
                airline.Country     = model.Country;
                airline.Score       = model.Score;

                if (model.FilesInput != null && model.FilesInput.Any())
                {
                    var file = model.FilesInput.FirstOrDefault();
                    if (file != null)
                    {
                        var filePath = Upload(file);
                        airline.Logo = filePath;
                    }
                }


                dbContext.SaveChanges();

                TempData["Message"]         = "You update the airline. Now you can invite pilots to work with you.";
                Session["HeaderStatistics"] = null;
            }
            else
            {
                TempData["Message"] = "You must be the owner of the airline to edit.";
            }
            return(RedirectToAction("Index"));
        }
Ejemplo n.º 10
0
        public ActionResult Add(AirlineViewModel model)
        {
            var dbContext = new ApplicationDbContext();
            // Check GUEST
            var user = dbContext.Users.FirstOrDefault(u => u.UserName == User.Identity.Name);

            if (user != null && user.Email == AccountController.GuestEmail)
            {
                TempData["GuestMessage"] = AccountController.GuestMessage;
                return(RedirectToAction("Register", "Account"));
            }
            var statistics = dbContext.StatisticsDbModels.FirstOrDefault(s => s.User.Id == user.Id);

            if (statistics != null && statistics.BankBalance >= airlinePrice)
            {
                var dbModel = new AirlineDbModel()
                {
                    Name             = model.Name,
                    Description      = model.Description,
                    Country          = model.Country,
                    Salary           = 20,
                    Score            = model.Score,
                    UserId           = user.Id,
                    DebtMaturityDate = DateTime.Now
                };

                if (model.FilesInput != null && model.FilesInput.Any())
                {
                    var    file     = model.FilesInput.FirstOrDefault();
                    string filePath = @"/Content/img/logo/LogoDefault.png";//Upload(file);
                    dbModel.Logo = filePath;
                }

                dbContext.AirlineDbModels.Add(dbModel);

                statistics.BankBalance = statistics.BankBalance - airlinePrice;
                statistics.Airline     = dbModel;

                if (model.RequireCertificates)
                {
                    foreach (var cert in dbContext.CertificateDbModels)
                    {
                        var airlineCertificates = new AirlineCertificatesDbModel()
                        {
                            Certificate = cert,
                            Airline     = dbModel
                        };
                        dbContext.AirlineCertificatesDbModels.Add(airlineCertificates);
                    }
                }

                dbContext.SaveChanges();

                TempData["Message"]         = "Congratulation you created a new airline. Now you can invite pilots to work with you.";
                Session["HeaderStatistics"] = null;
            }
            else
            {
                TempData["Message"] = "You don't have enough bank balance to buy new airline.";
            }
            return(RedirectToAction("Index"));
        }
Ejemplo n.º 11
0
 public Airlines()
 {
     InitializeComponent();
     DataContext = new AirlineViewModel();
 }