public List <AppointmentEntityModel> LoadAppointmentSummaryInDateRange(double start, double end) { var fromDate = ConvertFromUnixTimestamp(start); var toDate = ConvertFromUnixTimestamp(end); var rslt = _unitOfWork.Repository <CaseAppointment>().Table().Where(s => s.CaseAppointmentDate >= fromDate && EntityFunctions.AddMinutes(s.CaseAppointmentDate, s.AppointmentLength) <= toDate) .GroupBy(s => EntityFunctions.TruncateTime(s.CaseAppointmentDate)) .Select(x => new { DateTimeScheduled = x.Key, Count = x.Count() }); List <AppointmentEntityModel> result = new List <AppointmentEntityModel>(); int i = 0; foreach (var item in rslt) { AppointmentEntityModel rec = new AppointmentEntityModel(); rec.ID = i; //we dont link this back to anything as its a group summary but the fullcalendar needs unique IDs for each event item (unless its a repeating event) string StringDate = string.Format("{0:yyyy-MM-dd}", item.DateTimeScheduled); rec.StartDateString = StringDate + "T00:00:00"; //ISO 8601 format rec.EndDateString = StringDate + "T23:59:59"; rec.Title = "Booked: " + item.Count.ToString(); result.Add(rec); i++; } return(result); }
public List <AppointmentEntityModel> LoadAllAppointmentsInDateRange(double start, double end) { var fromDate = ConvertFromUnixTimestamp(start); var toDate = ConvertFromUnixTimestamp(end); List <AppointmentEntityModel> result = new List <AppointmentEntityModel>(); if (_unitOfWork.Repository <CaseAppointment>().Table().Count() > 0) { //var rslt = _unitOfWork.Repository<CaseAppointment>().Table().Where(s => s.CaseAppointmentDate >= fromDate && EntityFunctions.AddMinutes(s.CaseAppointmentDate, s.AppointmentLength) <= toDate); var rslt = _unitOfWork.SQLQuery <sp_getCaseAppointment>("sp_getCaseAppointment").Where(s => s.CaseAppointmentDate >= fromDate && s.AppointmentDate <= toDate); foreach (var item in rslt) { AppointmentEntityModel rec = new AppointmentEntityModel(); rec.ID = Convert.ToInt32(item.CaseAppointmentId); rec.StartDateString = item.CaseAppointmentDate.ToString("s"); // "s" is a preset format that outputs as: "2009-02-27T12:12:22" rec.EndDateString = item.CaseAppointmentDate.AddMinutes(item.AppointmentLength).ToString("s"); // field AppointmentLength is in minutes rec.Title = item.CaseAppointmentTitle + " - " + item.AppointmentLength.ToString() + " mins"; rec.StatusString = Enums.GetName <AppointmentStatus>((AppointmentStatus)item.StatusENUM); rec.StatusColor = Enums.GetEnumDescription <AppointmentStatus>(rec.StatusString); string ColorCode = rec.StatusColor.Substring(0, rec.StatusColor.IndexOf(":")); rec.ClassName = rec.StatusColor.Substring(rec.StatusColor.IndexOf(":") + 1, rec.StatusColor.Length - ColorCode.Length - 1); rec.StatusColor = ColorCode; rec.CaseAppointmentTitle = item.CaseAppointmentTitle; rec.CaseAppointmentTime = item.CaseAppointmentTime; rec.AppointmentLength = item.AppointmentLength; rec.CaseAppointmentCateTitle = item.AppointmentCategoryTitle; result.Add(rec); } } return(result); }
public bool AddOrUpdateCaseAppointment(AppointmentEntityModel appointmententitymodel) { bool flag = false; if (appointmententitymodel.CaseAppointmentId > 0) { //Update } else { //Insert Mapper.CreateMap <AppointmentEntityModel, CaseAppointment>(); var caseappointmentdetails = Mapper.Map <AppointmentEntityModel, CaseAppointment>(appointmententitymodel); caseappointmentdetails.CaseId = appointmententitymodel.CaseId; caseappointmentdetails.CaseAppointmentDate = appointmententitymodel.CaseAppointmentDate; caseappointmentdetails.CaseAppointmentTime = appointmententitymodel.CaseAppointmentTime.ToString(); caseappointmentdetails.CaseAppointmentTitle = appointmententitymodel.CaseAppointmentTitle; caseappointmentdetails.CaseAppointmentDescription = appointmententitymodel.CaseAppointmentDescription; caseappointmentdetails.CaseAppointmentCategory = appointmententitymodel.CaseAppointmentCategory; caseappointmentdetails.CaseAppointmentProgress = appointmententitymodel.CaseAppointmentProgress.ToString(); caseappointmentdetails.CaseAppointmentCreatedDate = DateTime.Now; caseappointmentdetails.CaseAppointmentStatus = true; caseappointmentdetails.CaseAppointmentCreatedBy = appointmententitymodel.CaseAppointmentCreatedBy; caseappointmentdetails.CaseAppointmentDelete = false; _unitOfWork.Repository <CaseAppointment>().Add(caseappointmentdetails); _unitOfWork.Save(); flag = true; } return(flag); }