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)); }
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)); }
//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>()); }
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")); }
//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)); }