Example #1
0
        private ScheduleGroupViewModel ToggleStatus(ScheduleGroupViewModel scheduleGroup)
        {
            var jobber = new Jobber();

            jobber.OnAddingScheduleError    += Jobber_OnAddingScheduleError;
            jobber.OnScheduleAddedCompleted += Jobber_OnScheduleAddedCompleted;
            jobber.OnScheduleAdding         += Jobber_OnScheduleAdding;
            switch (scheduleGroup.Status)
            {
            case ScheduleStatus.Pending:
                scheduleGroup.Status = ScheduleStatus.Running;
                GlobalConfig.RUNNIGN_SCHEDULE_GROUP_LIST.Add(scheduleGroup.Code);

                jobber.AddSchedules(new List <jmp_notificaiton_group> {
                    new jmp_notificaiton_group
                    {
                        Code          = scheduleGroup.Code,
                        IntervalUnit  = scheduleGroup.IntervalUnit,
                        IntervalValue = scheduleGroup.IntervalValue,
                        IsDeleted     = scheduleGroup.IsDeleted,
                        IsEnabled     = scheduleGroup.IsEnabled,
                        Name          = scheduleGroup.Name
                    }
                });
                break;

            case ScheduleStatus.Running:
                scheduleGroup.Status = ScheduleStatus.Pending;
                GlobalConfig.RUNNIGN_SCHEDULE_GROUP_LIST.Remove(scheduleGroup.Code);
                jobber.RemoveSchedule(scheduleGroup.Code);
                break;
            }
            return(scheduleGroup);
        }
Example #2
0
        private void SwitchStatus(ScheduleGroupViewModel sg, DataGridViewRow row)
        {
            sg = ToggleStatus(sg);
            switch (sg.Status)
            {
            case ScheduleStatus.Pending:
                row.DefaultCellStyle.ForeColor = Color.Red;
                break;

            case ScheduleStatus.Running:
                row.DefaultCellStyle.ForeColor = Color.Green;
                break;
            }
            dgvSchedulers.Refresh();
        }
Example #3
0
        public ActionResult UserSchedules_Update([DataSourceRequest] DataSourceRequest request, ScheduleGroupViewModel vm)
        {
            if (ModelState.IsValid)
            {
                var schedules = db.GetMedicationSchedules(vm.UserMedicationId).Where(x => x.GroupId == vm.GroupId).Select(x => new ScheduleType()
                {
                    ScheduleId       = x.ScheduleId,
                    UserId           = x.UserId,
                    UserMedicationId = x.UserMedicationId.Value,
                    StartDate        = x.StartDate,
                    EndDate          = x.EndDate,
                    DayOfWeek        = x.DayOfWeek,
                    ScheduleTime     = x.ScheduleTime,
                    GroupId          = x.GroupId
                }).ToList();

                foreach (var schedule in schedules)
                {
                    schedule.StartDate        = vm.StartDate;
                    schedule.EndDate          = vm.EndDate;
                    schedule.ScheduleTime     = vm.ScheduleTime.Value.TimeOfDay;
                    schedule.UserMedicationId = vm.UserMedicationId;
                    switch ((int)schedule.DayOfWeek)
                    {
                    case 1:
                        schedule.DayOfWeek = vm.Sunday ? schedule.DayOfWeek : 0;
                        break;

                    case 2:
                        schedule.DayOfWeek = vm.Monday ? schedule.DayOfWeek : 0;
                        break;

                    case 3:
                        schedule.DayOfWeek = vm.Tuesday ? schedule.DayOfWeek : 0;
                        break;

                    case 4:
                        schedule.DayOfWeek = vm.Wednesday ? schedule.DayOfWeek : 0;
                        break;

                    case 5:
                        schedule.DayOfWeek = vm.Thursday ? schedule.DayOfWeek : 0;
                        break;

                    case 6:
                        schedule.DayOfWeek = vm.Friday ? schedule.DayOfWeek : 0;
                        break;

                    case 7:
                        schedule.DayOfWeek = vm.Saturday ? schedule.DayOfWeek : 0;
                        break;
                    }
                }

                if (vm.Sunday && !schedules.Any(x => x.DayOfWeek == 1))
                {
                    schedules.Add(new ScheduleType()
                    {
                        UserId           = vm.UserId,
                        UserMedicationId = vm.UserMedicationId,
                        StartDate        = vm.StartDate,
                        EndDate          = vm.EndDate,
                        DayOfWeek        = 1,
                        ScheduleTime     = vm.ScheduleTime.Value.TimeOfDay,
                        CreatedDateUTC   = null,
                        CreatedDateDTO   = null,
                        CreatedDateCTZ   = null,
                        UpdatedDateUTC   = null,
                        UpdatedDateDTO   = null,
                        UpdatedDateCTZ   = null
                    });
                }

                if (vm.Monday && !schedules.Any(x => x.DayOfWeek == 2))
                {
                    schedules.Add(new ScheduleType()
                    {
                        UserId           = vm.UserId,
                        UserMedicationId = vm.UserMedicationId,
                        StartDate        = vm.StartDate,
                        EndDate          = vm.EndDate,
                        DayOfWeek        = 2,
                        ScheduleTime     = vm.ScheduleTime.Value.TimeOfDay,
                        CreatedDateUTC   = null,
                        CreatedDateDTO   = null,
                        CreatedDateCTZ   = null,
                        UpdatedDateUTC   = null,
                        UpdatedDateDTO   = null,
                        UpdatedDateCTZ   = null
                    });
                }

                if (vm.Tuesday && !schedules.Any(x => x.DayOfWeek == 3))
                {
                    schedules.Add(new ScheduleType()
                    {
                        UserId           = vm.UserId,
                        UserMedicationId = vm.UserMedicationId,
                        StartDate        = vm.StartDate,
                        EndDate          = vm.EndDate,
                        DayOfWeek        = 3,
                        ScheduleTime     = vm.ScheduleTime.Value.TimeOfDay,
                        CreatedDateUTC   = null,
                        CreatedDateDTO   = null,
                        CreatedDateCTZ   = null,
                        UpdatedDateUTC   = null,
                        UpdatedDateDTO   = null,
                        UpdatedDateCTZ   = null
                    });
                }

                if (vm.Wednesday && !schedules.Any(x => x.DayOfWeek == 4))
                {
                    schedules.Add(new ScheduleType()
                    {
                        UserId           = vm.UserId,
                        UserMedicationId = vm.UserMedicationId,
                        StartDate        = vm.StartDate,
                        EndDate          = vm.EndDate,
                        DayOfWeek        = 4,
                        ScheduleTime     = vm.ScheduleTime.Value.TimeOfDay,
                        CreatedDateUTC   = null,
                        CreatedDateDTO   = null,
                        CreatedDateCTZ   = null,
                        UpdatedDateUTC   = null,
                        UpdatedDateDTO   = null,
                        UpdatedDateCTZ   = null
                    });
                }

                if (vm.Thursday && !schedules.Any(x => x.DayOfWeek == 5))
                {
                    schedules.Add(new ScheduleType()
                    {
                        UserId           = vm.UserId,
                        UserMedicationId = vm.UserMedicationId,
                        StartDate        = vm.StartDate,
                        EndDate          = vm.EndDate,
                        DayOfWeek        = 5,
                        ScheduleTime     = vm.ScheduleTime.Value.TimeOfDay,
                        CreatedDateUTC   = null,
                        CreatedDateDTO   = null,
                        CreatedDateCTZ   = null,
                        UpdatedDateUTC   = null,
                        UpdatedDateDTO   = null,
                        UpdatedDateCTZ   = null
                    });
                }

                if (vm.Friday && !schedules.Any(x => x.DayOfWeek == 6))
                {
                    schedules.Add(new ScheduleType()
                    {
                        UserId           = vm.UserId,
                        UserMedicationId = vm.UserMedicationId,
                        StartDate        = vm.StartDate,
                        EndDate          = vm.EndDate,
                        DayOfWeek        = 6,
                        ScheduleTime     = vm.ScheduleTime.Value.TimeOfDay,
                        CreatedDateUTC   = null,
                        CreatedDateDTO   = null,
                        CreatedDateCTZ   = null,
                        UpdatedDateUTC   = null,
                        UpdatedDateDTO   = null,
                        UpdatedDateCTZ   = null
                    });
                }

                if (vm.Saturday && !schedules.Any(x => x.DayOfWeek == 7))
                {
                    schedules.Add(new ScheduleType()
                    {
                        UserId           = vm.UserId,
                        UserMedicationId = vm.UserMedicationId,
                        StartDate        = vm.StartDate,
                        EndDate          = vm.EndDate,
                        DayOfWeek        = 7,
                        ScheduleTime     = vm.ScheduleTime.Value.TimeOfDay,
                        CreatedDateUTC   = null,
                        CreatedDateDTO   = null,
                        CreatedDateCTZ   = null,
                        UpdatedDateUTC   = null,
                        UpdatedDateDTO   = null,
                        UpdatedDateCTZ   = null
                    });
                }

                var sp = new AddUpdateMedicationSchedules()
                {
                    Schedules = schedules
                };
                db.Database.ExecuteStoredProcedure(sp);

                var sp2 = new SetMedicationSchedulesInactive()
                {
                    Schedules = schedules, Inactive = !vm.Active
                };
                db.Database.ExecuteStoredProcedure(sp2);

                vm.GroupId = sp.GroupId;
            }

            return(Json(new[] { vm }.ToDataSourceResult(request, ModelState)));
        }
Example #4
0
        public ActionResult UserSchedules_Destroy([DataSourceRequest] DataSourceRequest request, ScheduleGroupViewModel vm)
        {
            if (ModelState.IsValid)
            {
                var schedules = db.GetMedicationSchedules(vm.UserMedicationId).Where(x => x.GroupId == vm.GroupId).Select(x => new ScheduleType()
                {
                    ScheduleId       = x.ScheduleId,
                    UserId           = x.UserId,
                    UserMedicationId = x.UserMedicationId.Value,
                    StartDate        = x.StartDate,
                    EndDate          = x.EndDate,
                    DayOfWeek        = x.DayOfWeek,
                    ScheduleTime     = x.ScheduleTime,
                    GroupId          = x.GroupId
                }).ToList();

                var sp = new DeleteMedicationSchedules()
                {
                    Schedules = schedules
                };
                db.Database.ExecuteStoredProcedure(sp);
            }
            return(Json(new[] { vm }.ToDataSourceResult(request, ModelState)));
        }