Ejemplo n.º 1
0
        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"));
        }
Ejemplo n.º 2
0
        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
            });
        }
Ejemplo n.º 3
0
        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"));
        }
Ejemplo n.º 4
0
        public ActionResult DeleteConfirmed(int id)
        {
            ActivitySchedule activitySchedule = activityScheduleRepository.GetActivityScheduleByID((int)id);

            activityScheduleRepository.DeleteActivitySchedule((int)id);
            activityScheduleRepository.Save();
            return(RedirectToAction("Index"));
        }
Ejemplo n.º 5
0
 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));
 }
Ejemplo n.º 6
0
        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"));
        }
Ejemplo n.º 7
0
        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));
        }
Ejemplo n.º 8
0
        // 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));
        }
Ejemplo n.º 9
0
        // 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));
        }
Ejemplo n.º 10
0
        /// <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;
        }
Ejemplo n.º 12
0
        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"));
        }
Ejemplo n.º 13
0
        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
            }));
        }
Ejemplo n.º 14
0
 public void InsertActivitySchedule(ActivitySchedule activitySchedule)
 {
     context.ActivitySchedules.Add(activitySchedule);
 }
Ejemplo n.º 15
0
        public void DeleteActivitySchedule(int id)
        {
            ActivitySchedule activitySchedule = context.ActivitySchedules.Find(id);

            context.ActivitySchedules.Remove(activitySchedule);
        }
Ejemplo n.º 16
0
 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
        }