Beispiel #1
0
        public async Task <IActionResult> UpdateCatering([FromRoute] int cateringId, [FromBody] CateringDetailModel model)
        {
            Catering catering = await cateringDbContext.Caterings
                                .Include(x => x.CateringEmployees)
                                .Include(x => x.CateringDishes)
                                .FirstOrDefaultAsync(x => x.CateringId == cateringId);

            catering.CateringName = model.CateringName;
            catering.ClientName   = model.ClientName;
            catering.CateringDate = DateTime.Parse(model.CateringDate, new CultureInfo("hr-HR"));
            catering.VehicleId    = (int)model.Vehicles[0].VehicleId;

            if (catering.VehicleId == 0)
            {
                catering.VehicleId = null;
            }

            catering.CateringEmployees = model.Users.Select(x => new CateringEmployees
            {
                CateringId = cateringId,
                UserId     = (int)x.UserId
            }).ToList();

            catering.CateringDishes = model.Dishes.Select(x => new CateringDishes
            {
                CateringId = cateringId,
                DishId     = x.Id
            }).ToList();

            cateringDbContext.Update <Catering>(catering);
            await cateringDbContext.SaveChangesAsync();

            return(Ok());
        }
Beispiel #2
0
        public async Task <CateringDetailModel> GetSingleCateringDetails([FromRoute] int cateringId)
        {
            Catering catering = await cateringDbContext.Caterings
                                .Include(x => x.CateringEmployees)
                                .ThenInclude(x => x.User)
                                .Include(x => x.CateringDishes)
                                .ThenInclude(x => x.Dish)
                                .ThenInclude(x => x.DishType)
                                .Include(x => x.Vehicle)
                                .FirstOrDefaultAsync(x => x.CateringId == cateringId);

            CateringDetailModel model = catering.GetCateringDetailModel();

            return(model);
        }
Beispiel #3
0
        public async Task <IActionResult> GetCateringDetailPartialView([FromRoute] int cateringId)
        {
            Catering catering = await cateringDbContext.Caterings
                                .Include(x => x.CateringEmployees)
                                .ThenInclude(x => x.User)
                                .Include(x => x.CateringDishes)
                                .ThenInclude(x => x.Dish)
                                .ThenInclude(x => x.DishType)
                                .Include(x => x.Vehicle)
                                .FirstOrDefaultAsync(x => x.CateringId == cateringId);

            CateringDetailModel model = catering.GetCateringDetailModel();

            string viewPath = @"\Views\Caterings\_CateringDetailModalContentPartial.cshtml";

            return(PartialView(viewPath, model));
        }
Beispiel #4
0
        public async Task <IActionResult> SubmitCatering([FromBody] CateringDetailModel model)
        {
            Catering catering = new Catering
            {
                CateringName = model.CateringName,
                ClientName   = model.ClientName,
                CateringDate = DateTime.Parse(model.CateringDate, new CultureInfo("hr-HR")),
                VehicleId    = (int)model.Vehicles[0].VehicleId
            };

            if (catering.VehicleId == 0)
            {
                catering.VehicleId = null;
            }

            cateringDbContext.Caterings.Add(catering);
            await cateringDbContext.SaveChangesAsync();

            List <CateringEmployees> cateringEmployees = new List <CateringEmployees>();
            List <CateringDishes>    cateringDishes    = new List <CateringDishes>();

            foreach (UserViewModel user in model.Users)
            {
                cateringEmployees.Add(new CateringEmployees
                {
                    CateringId = catering.CateringId,
                    UserId     = user.UserId ?? -1
                });
            }

            foreach (FoodItemViewModel item in model.Dishes)
            {
                cateringDishes.Add(new CateringDishes
                {
                    CateringId = catering.CateringId,
                    DishId     = item.Id
                });
            }

            cateringDbContext.AddRange(cateringEmployees);
            cateringDbContext.AddRange(cateringDishes);
            await cateringDbContext.SaveChangesAsync();

            return(Ok());
        }
Beispiel #5
0
        public async Task <CateringDetailModel> GetCateringCreationData()
        {
            CateringDetailModel retModel = new CateringDetailModel();

            List <User> users = await cateringDbContext.Users.ToListAsync();

            List <Vehicle> vehicles = await cateringDbContext.Vehicles.ToListAsync();


            foreach (User user in users)
            {
                retModel.Users.Add(user.GetViewModel());
            }

            foreach (Vehicle vehicle in vehicles)
            {
                retModel.Vehicles.Add(vehicle.GetViewModel());
            }


            return(retModel);
        }