public async Task <IActionResult> Edit(int id, [Bind("Id")] AdminRestaurant adminRestaurant)
        {
            if (id != adminRestaurant.Id)
            {
                return(NotFound());
            }

            if (ModelState.IsValid)
            {
                try
                {
                    _dataContext.Update(adminRestaurant);
                    await _dataContext.SaveChangesAsync();
                }
                catch (DbUpdateConcurrencyException)
                {
                    if (!AdminRestaurantExists(adminRestaurant.Id))
                    {
                        return(NotFound());
                    }
                    else
                    {
                        throw;
                    }
                }
                return(RedirectToAction(nameof(Index)));
            }
            return(View(adminRestaurant));
        }
Пример #2
0
        public JsonResult GetAdminRestaurant(int restaurantId)
        {
            var adminRestaurant = new AdminRestaurant
            {
                Restaurant     = restaurantRepository.GetRestaurant(restaurantId),
                FoodTypeIdList = new List <int>(),
                Sessions       = 0
            };
            var foodTypes = restaurantFoodTypeRepository.GetFoodTypeByRestaurantId(restaurantId).ToList();

            foreach (var foodType in foodTypes)
            {
                adminRestaurant.FoodTypeIdList.Add(foodType.Id);
            }
            var first = true;

            foreach (var dinnerSession in dinnerSessionRepository.GetAllDinnerSessions())
            {
                if (dinnerSession.RestaurantId == adminRestaurant.Restaurant.Id && dinnerSession.DayId == 1)
                {
                    if (first)
                    {
                        first = false;
                        adminRestaurant.StartTime = dinnerSession.StartTime;
                        adminRestaurant.Duration  = dinnerSession.Duration;
                    }
                    adminRestaurant.Sessions++;
                }
            }

            return(Json(adminRestaurant, JsonRequestBehavior.AllowGet));
        }
Пример #3
0
        //Creates a list of Restaurants to be shown on the Dinner page
        private List <object> CreateAdminRestaurantList()
        {
            var dinnerSessions      = dinnerSessionRepository.GetAllDinnerSessions();
            var restaurantList      = restaurantRepository.GetAllRestaurants();
            var adminRestaurantList = new List <AdminRestaurant>();

            foreach (var restaurant in restaurantList)
            {
                var adminRestaurant = new AdminRestaurant();
                adminRestaurant.Restaurant = restaurant;
                var sessionCount = 0;
                var first        = true;
                foreach (var dinnerSession in dinnerSessions)
                {
                    if (dinnerSession.RestaurantId == restaurant.Id && dinnerSession.DayId == 1)
                    {
                        if (first)
                        {
                            first = false;
                            adminRestaurant.StartTime = dinnerSession.StartTime;
                            adminRestaurant.Duration  = dinnerSession.Duration;
                        }
                        sessionCount++;
                    }
                }
                adminRestaurant.Sessions  = sessionCount;
                adminRestaurant.FoodTypes = restaurantFoodTypeRepository.GetFoodTypeByRestaurantId(restaurant.Id).ToList();
                adminRestaurantList.Add(adminRestaurant);
            }

            return(adminRestaurantList.ToList <object>());
        }
Пример #4
0
        public ActionResult CreateAdminRestaurant(AdminRestaurant adminRestaurant)
        {
            if (ModelState.IsValid)
            {
                var filename = CreateFileName(adminRestaurant.Restaurant.Name);
                var path     = Path.Combine(Server.MapPath(restaurantImagePath), filename);
                adminRestaurant.Restaurant.ImagePath = restaurantImagePath + filename;
                Image sourceimage = Image.FromStream(adminRestaurant.File.InputStream);
                sourceimage.Save(path, ImageFormat.Jpeg);
                restaurantRepository.AddRestaurant(adminRestaurant.Restaurant);
                //New DinnerSessions are created
                foreach (var day in dayRepository.GetAllDays())
                {
                    var startTime = adminRestaurant.StartTime;
                    for (var i = 0; i < adminRestaurant.Sessions; i++)
                    {
                        var dinnerSession = new DinnerSession
                        {
                            DayId          = day.Id,
                            AvailableSeats = adminRestaurant.Restaurant.Seats,
                            RestaurantId   = adminRestaurant.Restaurant.Id,
                            Duration       = adminRestaurant.Duration,
                            TableType      = "DinnerSessions"
                        };
                        if (i != 0)
                        {
                            startTime.AddHours((double)adminRestaurant.Duration);
                        }
                        dinnerSession.StartTime = startTime;
                        dinnerSessionRepository.AddDinnerSession(dinnerSession);
                    }
                }

                foreach (var id in adminRestaurant.FoodTypeIdList)
                {
                    RestaurantFoodType restaurantFoodType = new RestaurantFoodType()
                    {
                        FoodTypeId   = id,
                        RestaurantId = restaurantRepository.GetLastRestaurant()
                    };
                    restaurantFoodTypeRepository.AddRestaurantFoodType(restaurantFoodType);
                }
            }
            else
            {
                ModelState.AddModelError("Error", "One or more Fields were empty.");
            }



            var adminEventEditViewModel = (AdminEventEditViewModel)Session["adminEventEditViewModel"];

            adminEventEditViewModel.AdminRestaurant = adminRestaurant;
            Session["adminEventEditViewModel"]      = adminEventEditViewModel;

            return(RedirectToAction("AdminEventEdit"));
        }
Пример #5
0
        //Creates a new model for the Dinner page
        private AdminRestaurant CreateAdminRestaurant()
        {
            var adminRestaurant = new AdminRestaurant();

            var locationList = locationRepository.GetAllLocations().Select(x =>
                                                                           new SelectListItem()
            {
                Text  = $"{ x.Street} {x.HouseNumber}, {x.ZipCode} {x.City}",
                Value = x.Id.ToString()
            });
            var foodTypeList = foodTypeRepository.GetAllFoodTypes().Select(x =>
                                                                           new SelectListItem()
            {
                Text  = x.Name.ToString(),
                Value = x.Id.ToString()
            });

            adminRestaurant.LocationList       = locationList;
            adminRestaurant.FoodTypeSelectList = foodTypeList;
            return(adminRestaurant);
        }
        public async Task <IActionResult> Create(AddUserViewModel model)
        {
            if (ModelState.IsValid)
            {
                var user = await CreateUserAsync(model);

                if (user != null)
                {
                    var admin = new AdminRestaurant
                    {
                        Restaurants = new List <Restaurant>(),
                        User        = user
                    };

                    _dataContext.AdminRestaurants.Add(admin);
                    await _dataContext.SaveChangesAsync();

                    var myToken = await _userHelper.GenerateEmailConfirmationTokenAsync(user);

                    var tokenLink = Url.Action("ConfirmEmail", "Account", new
                    {
                        userid = user.Id,
                        token  = myToken
                    }, protocol: HttpContext.Request.Scheme);

                    _mailHelper.SendMail(model.Username, "Email confirmation",
                                         $"<table style = 'max-width: 600px; padding: 10px; margin:0 auto; border-collapse: collapse;'>" +
                                         $"  <tr>" +
                                         $"    <td style = 'background-color: #34495e; text-align: center; padding: 0'>" +
                                         $"       <a href = '' >" +
                                         $"         <img width = '20%' style = 'display:block; margin: 1.5% 3%' src= ''>" +
                                         $"       </a>" +
                                         $"  </td>" +
                                         $"  </tr>" +
                                         $"  <tr>" +
                                         $"  <td style = 'padding: 0'>" +
                                         $"     <img style = 'padding: 0; display: block' src = '' width = '100%'>" +
                                         $"  </td>" +
                                         $"</tr>" +
                                         $"<tr>" +
                                         $" <td style = 'background-color: #ecf0f1'>" +
                                         $"      <div style = 'color: #34495e; margin: 4% 10% 2%; text-align: justify;font-family: sans-serif'>" +
                                         $"            <h1 style = 'color: #e67e22; margin: 0 0 7px' > Hola </h1>" +
                                         $"                    <p style = 'margin: 2px; font-size: 15px'>" +
                                         $"                      La mejor página  Especializada en ofertar servicios alimenticios<br>" +
                                         $"                      ofreciendo las recetas mas deliciosas en diferentes tipos de restaurantes y en el momento oportuno....<br>" +
                                         $"                      Entre los tipos de restaurantes  tenemos:</p>" +
                                         $"      <ul style = 'font-size: 15px;  margin: 10px 0'>" +
                                         $"        <li> Fast Casual.</li>" +
                                         $"        <li> Buffet.</li>" +
                                         $"        <li>  Fast Food.</li>" +
                                         $"      </ul>" +
                                         $"  <div style = 'width: 100%;margin:20px 0; display: inline-block;text-align: center'>" +
                                         $"    <img style = 'padding: 0; width: 200px; margin: 5px' src = 'https://veterinarianuske.com/wp-content/uploads/2018/07/tarjetas.png'>" +
                                         $"  </div>" +
                                         $"  <div style = 'width: 100%; text-align: center'>" +
                                         $"    <h2 style = 'color: #e67e22; margin: 0 0 7px' >Email Confirmation </h2>" +
                                         $"    " +

                                         $"    <a style ='text-decoration: none; border-radius: 5px; padding: 11px 23px; color: white; background-color: #3498db' href = \"{tokenLink}\">Confirm Email</a>" +
                                         $"    <p style = 'color: #b3b3b3; font-size: 12px; text-align: center;margin: 30px 0 0' > LocationFood  2019 </p>" +
                                         $"  </div>" +
                                         $" </td >" +
                                         $"</tr>" +
                                         $"</table>");
                    ViewBag.Message = "The instructions to allow your user has been sent to email.";

                    return(RedirectToAction("Index"));
                }

                ModelState.AddModelError(string.Empty, "User with this emailalready exist");
            }
            return(View(model));
        }