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); }
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(); }
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))); }
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))); }