public ActionResult WorkingPlacePage(string id) { if (id == null || !id.IsInt()) { return(RedirectToAction("FindWorkPlaces")); } WorkingPlaceModel modelPlace = Utilities.SendDbUtility.GetWorkingPlace(Int32.Parse(id)); if (modelPlace == null) { return(RedirectToAction("FindWorkPlaces")); } SalonModel modelSalon = Utilities.SendDbUtility.GetSalon(modelPlace.SalonId); List <TimeSlotModel> modelsTime = Utilities.SendDbUtility.GetTimeSlots(modelPlace.Id); if (modelSalon == null) { return(RedirectToAction("FindWorkPlaces")); } ViewBag.ErrorMessage = TempData["ErrorMessage"]; ViewBag.InfoMessage = TempData["InfoMessage"]; bool isAdminOfSalon = false; int userId = 0; if (Request.Cookies.AllKeys.Contains("SalonId") && Request.Cookies["SalonId"].Value == modelPlace.SalonId.ToString() && Utilities.SendDbUtility.CheckAdmin(modelPlace.SalonId, User.Identity.Name)) { isAdminOfSalon = true; } else { userId = Utilities.SendDbUtility.GetResidentId(User.Identity.Name); } ViewBag.Favorites = Utilities.SendDbUtility.CheckFavorite(modelPlace.Id, userId); ViewBag.IsAdminOfSalon = isAdminOfSalon; BookingModel modelBooking = new BookingModel() { PlaceId = Int32.Parse(id), SalonId = modelPlace.SalonId, ResidentId = userId }; object[] x = new object[] { modelPlace, modelSalon, modelsTime, modelBooking }; return(View(x)); }
public ActionResult AddWorkingPlace(WorkingPlaceModel model, IEnumerable <HttpPostedFileBase> SalonPhoto) { if (!ModelState.IsValid) { TempData["ErrorMessage"] = "Не заполнены все обязательные поля!"; return(RedirectToAction("SalonPlaces", "Admin", new { id = model.SalonId })); } Utilities.SendDbUtility.AddWorkingPlace(model); foreach (var file in SalonPhoto) { if (file != null) { SendDbUtility.SaveSalonPhoto(file, model.Id.ToString()); } } return(RedirectToAction("SalonPlaces", "Admin", new { id = model.SalonId })); }
public ActionResult ViewFavorites() { List <FavoriteModel> models = new List <FavoriteModel>(); int userId = Utilities.SendDbUtility.GetResidentId(User.Identity.Name); string[] favorites = Utilities.SendDbUtility.GetFavorites(userId).Split(','); for (int i = 0; i < favorites.Length - 1; i++) { WorkingPlaceModel place = Utilities.SendDbUtility.GetWorkingPlace(Int32.Parse(favorites[i])); SalonModel salon; try { salon = SendDbUtility.GetSalon(place.SalonId); models.Add(new FavoriteModel() { PlaceId = Int32.Parse(favorites[i]), SalonTitle = salon.SalonTitle, SalonAdress = salon.Adress, Rate1h = place.Rate1h, Rateday = place.RateDay, RateHalfMounth = place.RateHalfMounth, RateMounth = place.RateMounth }); } catch (Exception e) { } } if (Request.Cookies.AllKeys.Contains("SalonId")) { models.Clear(); } ViewBag.ErrorMessage = TempData["ErrorMessage"]; ViewBag.InfoMessage = TempData["InfoMessage"]; return(View(models)); }
public ActionResult Booking(BookingModel model) { if (ModelState.IsValid) { if (Request.Cookies.AllKeys.Contains("SalonId")) { if (Request.Cookies["SalonId"].Value != model.SalonId.ToString()) { TempData["ErrorMessage"] = "Ошибка бронирования."; return(RedirectToAction("WorkingPlacePage", "TimerClub", new { id = model.PlaceId.ToString() })); } if (model.Name == "" || model.Surname == "" || model.Phone == "") { TempData["ErrorMessage"] = "Введите имя, фамилию и телефон мастера"; return(RedirectToAction("WorkingPlacePage", "TimerClub", new { id = model.PlaceId.ToString() })); } } var timesCount = model.Times.Split(';').Length - 1; WorkingPlaceModel place = Utilities.SendDbUtility.GetWorkingPlace(model.PlaceId); SalonModel salon = Utilities.SendDbUtility.GetSalon(place.SalonId); string[] times = new string[] {}; if (model.Date.DayOfWeek == DayOfWeek.Saturday) { times = salon.OperatingModeSat.Split('-'); } else if (model.Date.DayOfWeek == DayOfWeek.Sunday) { times = salon.OperatingModeSun.Split('-'); } else if (model.Date.DayOfWeek == DayOfWeek.Monday) { times = salon.OperatingModeMon.Split('-'); } else if (model.Date.DayOfWeek == DayOfWeek.Tuesday) { times = salon.OperatingModeTue.Split('-'); } else if (model.Date.DayOfWeek == DayOfWeek.Wednesday) { times = salon.OperatingModeWed.Split('-'); } else if (model.Date.DayOfWeek == DayOfWeek.Thursday) { times = salon.OperatingModeThu.Split('-'); } else if (model.Date.DayOfWeek == DayOfWeek.Friday) { times = salon.OperatingModeFri.Split('-'); } else { TempData["ErrorMessage"] = "Ошибка бронирования!"; return(RedirectToAction("WorkingPlacePage", "TimerClub", new { id = model.PlaceId })); } if (times.Length != 2) { TempData["ErrorMessage"] = "Ошибка бронирования!"; return(RedirectToAction("WorkingPlacePage", "TimerClub", new { id = model.PlaceId })); } int fullDayCount = Int32.Parse(times[1].Split(':')[0]) - Int32.Parse(times[0].Split(':')[0]); double total; if (timesCount >= fullDayCount && place.RateDay != 0) { total = place.RateDay; } else { total = timesCount * place.Rate1h; } model.Sum = total; if (!Utilities.SendDbUtility.SetBooking(model)) { TempData["ErrorMessage"] = "Ошибка бронирования!"; } else { TempData["InfoMessage"] = "Рабочее место успешно забронировано!"; } } else { TempData["ErrorMessage"] = "Не все обязательные поля заполнены!"; } return(RedirectToAction("WorkingPlacePage", "TimerClub", new { id = model.PlaceId })); }
public static bool AddWorkingPlace(WorkingPlaceModel model) { using (UserContext dbUse = new UserContext()) { try { dbUse.WorkingPlaceModels.Add(model); dbUse.SaveChanges(); SalonModel salon = GetSalon(model.SalonId); string[] workingTimeMon = salon.OperatingModeMon.Split('-'); int constFromMon = Int32.Parse(workingTimeMon[0].Trim().Substring(0, 2)); int constToMon = Int32.Parse(workingTimeMon[1].Trim().Substring(0, 2)); string[] workingTimeTue = salon.OperatingModeTue.Split('-'); int constFromTue = Int32.Parse(workingTimeTue[0].Trim().Substring(0, 2)); int constToTue = Int32.Parse(workingTimeTue[1].Trim().Substring(0, 2)); string[] workingTimeWed = salon.OperatingModeWed.Split('-'); int constFromWed = Int32.Parse(workingTimeWed[0].Trim().Substring(0, 2)); int constToWed = Int32.Parse(workingTimeWed[1].Trim().Substring(0, 2)); string[] workingTimeThu = salon.OperatingModeThu.Split('-'); int constFromThu = Int32.Parse(workingTimeThu[0].Trim().Substring(0, 2)); int constToThu = Int32.Parse(workingTimeThu[1].Trim().Substring(0, 2)); string[] workingTimeFri = salon.OperatingModeFri.Split('-'); int constFromFri = Int32.Parse(workingTimeFri[0].Trim().Substring(0, 2)); int constToFri = Int32.Parse(workingTimeFri[1].Trim().Substring(0, 2)); string[] workingTimeSat = salon.OperatingModeSat.Split('-'); int constFromSat = Int32.Parse(workingTimeSat[0].Trim().Substring(0, 2)); int constToSat = Int32.Parse(workingTimeSat[1].Trim().Substring(0, 2)); string[] workingTimeSun = salon.OperatingModeSun.Split('-'); int constFromSun = Int32.Parse(workingTimeSun[0].Trim().Substring(0, 2)); int constToSun = Int32.Parse(workingTimeSun[1].Trim().Substring(0, 2)); if (constFromMon > constToMon) { constFromMon = constToMon; } if (constFromTue > constToTue) { constFromTue = constToTue; } if (constFromWed > constToWed) { constFromWed = constToWed; } if (constFromThu > constToThu) { constFromThu = constToThu; } if (constFromFri > constToFri) { constFromFri = constToFri; } if (constFromSat > constToSat) { constFromSat = constToSat; } if (constFromSun > constToSun) { constFromSun = constToSun; } int from; int to; int tempTo; int tempFrom; DateTime dateNow = DateTime.Today; for (int i = 0; i < 14; i++) { if (dateNow.DayOfWeek == DayOfWeek.Saturday) { from = constFromSat; to = constToSat; } else if (dateNow.DayOfWeek == DayOfWeek.Sunday) { from = constFromSun; to = constToSun; } else if (dateNow.DayOfWeek == DayOfWeek.Monday) { from = constFromMon; to = constToMon; } else if (dateNow.DayOfWeek == DayOfWeek.Tuesday) { from = constFromTue; to = constToTue; } else if (dateNow.DayOfWeek == DayOfWeek.Wednesday) { from = constFromWed; to = constToWed; } else if (dateNow.DayOfWeek == DayOfWeek.Thursday) { from = constFromThu; to = constToThu; } else if (dateNow.DayOfWeek == DayOfWeek.Friday) { from = constFromFri; to = constToFri; } else { throw new NotImplementedException(); } while (from != to) { tempFrom = from; tempTo = ++from; dbUse.TimeSlotModels.Add(new TimeSlotModel() { PlaceId = model.Id, SalonId = model.SalonId, Time = tempFrom.ToString() + ":00-" + tempTo.ToString() + ":00", Booked = false, Date = dateNow }); } dateNow = dateNow.AddDays(1); } dbUse.SaveChanges(); } catch (Exception e) { return(false); } return(true); } }