public Response <IEnumerable <ScheduleDTO> > SendSMSAlertToParent(int GapDays, int OnlineClinicId) { try { using (VDEntities entities = new VDEntities()) { List <Schedule> Schedules = GetAlertData(GapDays, OnlineClinicId, entities); var dbChildren = Schedules.Select(x => x.Child).Distinct().ToList(); foreach (var child in dbChildren) { var dbSchedules = Schedules.Where(x => x.ChildId == child.ID).ToList(); var doseName = ""; DateTime scheduleDate = new DateTime(); foreach (var schedule in dbSchedules) { doseName += schedule.Dose.Name + ", "; scheduleDate = schedule.Date; } UserSMS.ParentSMSAlert(doseName, scheduleDate, child); } List <ScheduleDTO> scheduleDtos = Mapper.Map <List <ScheduleDTO> >(Schedules); return(new Response <IEnumerable <ScheduleDTO> >(true, null, scheduleDtos)); } } catch (Exception ex) { return(new Response <IEnumerable <ScheduleDTO> >(false, GetMessageFromExceptionObject(ex), null)); } }
public Response <IEnumerable <ScheduleDTO> > SendSMSAlertToOneChild(int GapDays, int childId) { try { using (VDEntities entities = new VDEntities()) { IEnumerable <Schedule> Schedules = new List <Schedule>(); DateTime AddedDateTime = DateTime.UtcNow.AddHours(5).AddDays(GapDays); DateTime pakistanDate = DateTime.UtcNow.AddHours(5).Date; if (GapDays == 0) { Schedules = entities.Schedules.Include("Child").Include("Dose") .Where(sc => sc.ChildId == childId) .Where(sc => sc.Date == pakistanDate) .Where(sc => sc.IsDone == false) .OrderBy(x => x.Child.ID).ThenBy(y => y.Date).ToList <Schedule>(); } if (GapDays > 0) { Schedules = entities.Schedules.Include("Child").Include("Dose") .Where(sc => sc.ChildId == childId) .Where(sc => sc.IsDone == false) .Where(sc => sc.Date >= pakistanDate && sc.Date <= AddedDateTime) .OrderBy(x => x.Child.ID).ThenBy(y => y.Date).ToList <Schedule>(); } if (GapDays < 0) { Schedules = entities.Schedules.Include("Child").Include("Dose") .Where(sc => sc.ChildId == childId) .Where(sc => sc.IsDone == false) .Where(sc => sc.Date <= pakistanDate && sc.Date >= AddedDateTime) .OrderBy(x => x.Child.ID).ThenBy(y => y.Date).ToList <Schedule>(); } var doseName = ""; DateTime scheduleDate = new DateTime(); var dbChild = entities.Children.Where(x => x.ID == childId).FirstOrDefault(); foreach (var schedule in Schedules) { doseName += schedule.Dose.Name.Trim() + ", "; scheduleDate = schedule.Date; } UserSMS.ParentSMSAlert(doseName, scheduleDate, dbChild); List <ScheduleDTO> scheduleDtos = Mapper.Map <List <ScheduleDTO> >(Schedules); return(new Response <IEnumerable <ScheduleDTO> >(true, null, scheduleDtos)); } } catch (Exception ex) { return(new Response <IEnumerable <ScheduleDTO> >(false, GetMessageFromExceptionObject(ex), null)); } }