public bool RemoveDayCupons(string day) { DateTime selectDay; if (DateTime.TryParse(day, out selectDay)) { RemoveCuponsModel model = new RemoveCuponsModel { beginDate = selectDay, endDate = selectDay, daysOfWeek = new bool[6] }; if (User.Identity.IsAuthenticated && User.IsInRole("superuser")) { var user = db.Users.FirstOrDefault(x => x.Login == User.Identity.Name); model.AreaId = user.AreaId.Value; } if (User.Identity.IsAuthenticated && User.IsInRole("admin")) { model.AreaId = HttpContext.Session.GetInt32("Area").Value; } RemoveCuponsMethod(model); return(true); } return(false); }
public ActionResult RemoveCupons() { RemoveCuponsModel model = new RemoveCuponsModel(); model.daysOfWeek = new bool[7]; ViewBag.Areas = db.Areas.ToList(); return(View(model)); }
public ActionResult RemoveCupons(RemoveCuponsModel model) { if (User.Identity.IsAuthenticated && User.IsInRole("superuser")) { var user = db.Users.FirstOrDefault(x => x.Login == User.Identity.Name); model.AreaId = user.AreaId.Value; } RemoveCuponsMethod(model); return(RedirectToAction("Index", "Home")); }
void RemoveCuponsMethod(RemoveCuponsModel model) { bool isNotSelectedDays = true; for (int i = 0; i < model.daysOfWeek.Count(); i++) { if (model.daysOfWeek[i] == true) { isNotSelectedDays = true; break; } } List <CuponDate> removeList = new List <CuponDate>(); DateTime tempDate = model.beginDate; while (model.endDate >= tempDate) { DateTime tempBeginTime = new DateTime(tempDate.Year, tempDate.Month, tempDate.Day, 0, 0, 0); DateTime tempEndTime = new DateTime(tempDate.Year, tempDate.Month, tempDate.Day, 23, 59, 59); var a = (int)tempBeginTime.DayOfWeek; if (model.daysOfWeek[(int)tempBeginTime.DayOfWeek] || isNotSelectedDays) { removeList.AddRange(db.CuponDates.Where(x => x.AreaId == model.AreaId && x.date > tempBeginTime && x.date < tempEndTime).ToList()); } tempDate = tempDate.AddDays(1); } foreach (var item in removeList) { if (db.Orders.Where(x => x.CuponDateId == item.id).Count() > 0) { continue; } db.CuponDates.Remove(item); } db.SaveChanges(); }