public async Task <ViewResult> CreateMany(ActivitySchedule actSched, string userName) { var instances = actSched.stopDate.Subtract(actSched.dateStart).Days; if (!await TryUpdateModelAsync(actSched) || instances == 0) { ModelState.AddModelError("ActivitySchedule", "Select an appropriate length of time for these events."); return(View("CreateMany", actSched)); } var length = actSched.dateEnd.Subtract(actSched.dateStart).TotalMinutes; var utcDate = TimeZoneInfo.ConvertTimeToUtc(actSched.dateStart, _clientTimeZoneInfo); for (var i = 1; i <= instances; i++) { var currentDate = utcDate.AddDays(i); var day = currentDate.DayOfWeek; switch (day) { case DayOfWeek.Sunday when !actSched.sunday: case DayOfWeek.Monday when !actSched.monday: case DayOfWeek.Tuesday when !actSched.tuesday: case DayOfWeek.Wednesday when !actSched.wednesday: case DayOfWeek.Thursday when !actSched.thursday: case DayOfWeek.Friday when !actSched.friday: case DayOfWeek.Saturday when !actSched.saturday: continue; default: { var activity = new Activity { nameID = actSched.name, typeID = actSched.type, dateStart = currentDate, dateEnd = currentDate.AddMinutes(length), recurring = true, firstID = actSched.firstID, teacher = actSched.teacher, notes = actSched.notes ?? "" }; _serv.Create(activity, userName); break; } } } // Machete: A series of good intentions, marinated in panic ~C // var result = _map.Map<Activity, ViewModel.Activity>(firstActivity); // return Json(new // { // sNewRef = result.tabref, // sNewLabel = result.tablabel, // iNewID = firstActivity.ID, // jobSuccess = true // }); return(View("Index")); }
public static ActivityScheduleViewModel AsViewModel(this ActivitySchedule model, bool useMetricUnits, Baby baby = null) { if (model == null) { return(new ActivityScheduleViewModel()); } return(new ActivityScheduleViewModel { BabyId = model.BabyId, CurrentlyFeeding = model.CurrentlyFeeding, LastFeed = model.LastFeed.AsViewModel(useMetricUnits, baby), AverageTimeBetweenFeeds = model.AverageTimeBetweenFeeds, NextFeedDueAt = model.NextChangeDueAt.ToLocalTime(), CurrentlySleeping = model.CurrentlySleeping, LastSleep = model.LastSleep.AsViewModel(baby), AverageTimeBetweenSleeps = model.AverageTimeBetweenSleeps, NextSleepDueAt = model.NextSleepDueAt.ToLocalTime(), LastChange = model.LastChange.AsViewModel(baby), AverageTimeBetweenChanges = model.AverageTimeBetweenChanges, NextChangeDueAt = model.NextChangeDueAt.ToLocalTime(), ScheduleGeneratedAt = model.ScheduleGeneratedAt }); }
public IActionResult RSVP(int wId) { //check user in session if (HttpContext.Session.GetInt32("UserId") == null) { return(RedirectToAction("Index")); } //get the session id User currentUser = dbContext.UsersTable.SingleOrDefault(c => c.UserId == HttpContext.Session.GetInt32("UserId")); ActivitySchedule currWed = dbContext.ActivityTable.Include(w => w.guest).ThenInclude(g => g.User).SingleOrDefault(r => r.ActivityId == wId); Guest thisguest = dbContext.Guest.Where(j => j.ActivityId == wId && j.UserId == currentUser.UserId).SingleOrDefault(); if (thisguest != null) { currentUser.guest.Remove(thisguest); } else { Guest newGuest = new Guest { UserId = currentUser.UserId, ActivityId = currWed.ActivityId, }; currWed.guest.Add(newGuest); } dbContext.SaveChanges(); return(RedirectToAction("Dashboard")); }
public ActionResult DeleteConfirmed(int id) { ActivitySchedule activitySchedule = activityScheduleRepository.GetActivityScheduleByID((int)id); activityScheduleRepository.DeleteActivitySchedule((int)id); activityScheduleRepository.Save(); return(RedirectToAction("Index")); }
public ActionResult Edit([Bind(Include = "ActivityScheduleID,Day,HourFrom,HourTo,ActivityID")] ActivitySchedule activitySchedule) { if (ModelState.IsValid) { activityScheduleRepository.UpdateActivitySchedule(activitySchedule); activityScheduleRepository.Save(); return(RedirectToAction("Index")); } ViewBag.ActivityID = new SelectList(activityRepository.GetActivities(), "ActivityID", "Name", activitySchedule.ActivityID); return(View(activitySchedule)); }
public IActionResult DeleteWedding(int wedId) { if (HttpContext.Session.GetInt32("UserId") == null) { return(RedirectToAction("Index")); } ActivitySchedule CurrentWedding = dbContext.ActivityTable.SingleOrDefault(d => d.ActivityId == wedId); dbContext.ActivityTable.Remove(CurrentWedding); dbContext.SaveChanges(); return(RedirectToAction("Dashboard")); }
public IActionResult ActivityDetail(int showId) { if (HttpContext.Session.GetInt32("UserId") == null) { return(RedirectToAction("Index")); } ActivitySchedule showOne = dbContext.ActivityTable.Include(w => w.guest).ThenInclude(g => g.User).SingleOrDefault(h => h.ActivityId == showId); ViewBag.ShowOne = showOne; return(View(showOne)); }
// GET: ActivitySchedules/Delete/5 public ActionResult Delete(int?id) { if (id == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } ActivitySchedule activitySchedule = activityScheduleRepository.GetActivityScheduleByID((int)id); if (activitySchedule == null) { return(HttpNotFound()); } return(View(activitySchedule)); }
// GET: ActivitySchedules/Edit/5 public ActionResult Edit(int?id) { if (id == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } ActivitySchedule activitySchedule = activityScheduleRepository.GetActivityScheduleByID((int)id); if (activitySchedule == null) { return(HttpNotFound()); } ViewBag.ActivityID = new SelectList(activityRepository.GetActivities(), "ActivityID", "Name", activitySchedule.ActivityID); return(View(activitySchedule)); }
/// <summary> /// 查询活动安排数据 /// </summary> /// <param name="connection"></param> /// <returns></returns> public static List <ActivitySchedule> SelectActivitySchedule(SqlConnection connection) { var activityList = new List <ActivitySchedule>(); using (var reader = SqlHelper.ExecuteReader(connection, CommandType.StoredProcedure, "Activity_SelectActivityScheduleData")) { while (reader.Read()) { var activity = new ActivitySchedule(); activity.start = reader.GetTuhuValue <DateTime>(0); activity.end = reader.GetTuhuValue <DateTime>(1); activity.title = reader.GetTuhuString(2); activity.allDay = true; activityList.Add(activity); } } return(activityList); }
private static void ScheduleToastNotifications(ActivitySchedule schedule, Baby baby, BackgroundSettingsViewModel settings) { var toastNotifier = ToastNotificationManager.CreateToastNotifier(); string notificationId; // Delete & recreate Feed notification DeleteExistingNotification(toastNotifier, settings.NextFeedNotificationId); settings.NextFeedNotificationId = null; if (!schedule.CurrentlyFeeding) { notificationId = ScheduleToastNotificationForActivity(schedule.NextFeedDueAt, "feed", baby.GivenName, toastNotifier); settings.NextFeedNotificationId = notificationId; } // Delete & recreate Sleep notification DeleteExistingNotification(toastNotifier, settings.NextSleepNotificationId); settings.NextSleepNotificationId = null; if (!schedule.CurrentlySleeping) { notificationId = ScheduleToastNotificationForActivity(schedule.NextSleepDueAt, "sleep", baby.GivenName, toastNotifier); settings.NextSleepNotificationId = notificationId; } // Delete & recreate Change notification DeleteExistingNotification(toastNotifier, settings.NextChangeNotificationId); settings.NextChangeNotificationId = null; notificationId = ScheduleToastNotificationForActivity(schedule.NextChangeDueAt, "change", baby.GivenName, toastNotifier); settings.NextChangeNotificationId = notificationId; }
public IActionResult CreateActivityProcessMethod(ActivitySchedule schedule) { ViewBag.firstname = HttpContext.Session.GetString("firstName"); ViewBag.lastname = HttpContext.Session.GetString("lastName"); if (ModelState.IsValid) { if (schedule.Date <= DateTime.Today) { ModelState.AddModelError("Date", "Date must be set to the future date!!"); return(View("NewActivityPage")); } schedule.UserId = (int)HttpContext.Session.GetInt32("UserId"); dbContext.Add(schedule); dbContext.SaveChanges(); return(RedirectToAction("Dashboard")); } return(View("NewActivityPage")); }
public JsonResult CreateMany(ActivitySchedule actSched, string userName) { UpdateModel(actSched); // copy values from form to object. why this is necessary if the object is being passed as arg, I don't know. var firstActivity = serv.Get(actSched.firstID); var instances = actSched.stopDate.Subtract(actSched.dateStart).Days; var length = actSched.dateEnd.Subtract(actSched.dateStart).TotalMinutes; for (var i = 0; i <= instances; ++i) // This should skip right over firstAct. { var date = actSched.dateStart.AddDays(i); var day = (int)date.DayOfWeek; if (day == 0 && !actSched.sunday) { continue; } if (day == 1 && !actSched.monday) { continue; } if (day == 2 && !actSched.tuesday) { continue; } if (day == 3 && !actSched.wednesday) { continue; } if (day == 4 && !actSched.thursday) { continue; } if (day == 5 && !actSched.friday) { continue; } if (day == 6 && !actSched.saturday) { continue; } var activ = new Activity(); activ.nameID = actSched.name; activ.typeID = actSched.type; activ.dateStart = date; activ.dateEnd = date.AddMinutes(length); activ.recurring = true; activ.firstID = firstActivity.ID; activ.teacher = actSched.teacher; activ.notes = actSched.notes; var act = serv.Create(activ, userName); } var result = map.Map <Activity, ViewModel.Activity>(firstActivity); return(Json(new { sNewRef = result.tabref, sNewLabel = result.tablabel, iNewID = firstActivity.ID, jobSuccess = true })); }
public void InsertActivitySchedule(ActivitySchedule activitySchedule) { context.ActivitySchedules.Add(activitySchedule); }
public void DeleteActivitySchedule(int id) { ActivitySchedule activitySchedule = context.ActivitySchedules.Find(id); context.ActivitySchedules.Remove(activitySchedule); }
public void UpdateActivitySchedule(ActivitySchedule activitySchedule) { context.Entry(activitySchedule).State = EntityState.Modified; }
public void Init() { #region Dummy Activity && ActivitySchedules Lists activities = new List <Activity> { new Activity { ActivityID = 1, Name = "Gimnasio", Description = "Gimnasio, pesas, bicicletas, máquinas para correr" }, new Activity { ActivityID = 2, Name = "Pilates", Description = "Sistema de entrenamiento físico y mental" }, new Activity { ActivityID = 3, Name = "Boxeo", Description = "Deporte de combate" } }; activitySchedules = new List <ActivitySchedule> { new ActivitySchedule { ActivityScheduleID = 1, ActivityID = 1, Day = "Lunes a Viernes", HourFrom = 08, HourTo = 22, Activity = activities.ElementAt(0) }, new ActivitySchedule { ActivityScheduleID = 2, ActivityID = 2, Day = "Lunes", HourFrom = 11, HourTo = 12, Activity = activities.ElementAt(1) }, new ActivitySchedule { ActivityScheduleID = 3, ActivityID = 2, Day = "Lunes", HourFrom = 16, HourTo = 17, Activity = activities.ElementAt(1) }, new ActivitySchedule { ActivityScheduleID = 4, ActivityID = 2, Day = "Miércoles", HourFrom = 19, HourTo = 21, Activity = activities.ElementAt(2) }, new ActivitySchedule { ActivityScheduleID = 5, ActivityID = 3, Day = "Miércoles", HourFrom = 9, HourTo = 10, Activity = activities.ElementAt(2) }, new ActivitySchedule { ActivityScheduleID = 6, ActivityID = 3, Day = "Miércoles", HourFrom = 20, HourTo = 21, Activity = activities.ElementAt(1) }, }; #endregion #region Dummy New Activity newActivitySchedule = new ActivitySchedule { ActivityID = 1, Day = "Lunes y Jueves", HourFrom = 16, HourTo = 18 }; #endregion #region Repositories activitySchedulesRepository = Mock.Create <IActivityScheduleRepository>(); activityRepository = Mock.Create <IActivityRepository>(); #endregion #region JustMock GetActivities Arrange Mock.Arrange(() => activitySchedulesRepository.GetActivitySchedules()).Returns(activitySchedules); Mock.Arrange(() => activitySchedulesRepository.GetActivityScheduleByID(ACTIVITY_SCHEDULE_ID_TO_USE)) .Returns(activitySchedules.Where(a => a.ActivityID == ACTIVITY_SCHEDULE_ID_TO_USE).FirstOrDefault()); Mock.Arrange(() => activitySchedulesRepository.InsertActivitySchedule(newActivitySchedule)) .DoInstead(() => activitySchedules.Add(newActivitySchedule)) .MustBeCalled(); Mock.Arrange(() => activitySchedulesRepository.DeleteActivitySchedule(ACTIVITY_SCHEDULE_ID_TO_USE)) .DoInstead(() => activitySchedules.Remove(activitySchedules.Where(a => a.ActivityScheduleID == ACTIVITY_SCHEDULE_ID_TO_USE).FirstOrDefault())); Mock.Arrange(() => activitySchedulesRepository.Save()).DoNothing(); #endregion #region Controller creation controller = new ActivitySchedulesController(activitySchedulesRepository, activityRepository); #endregion }