/// <summary> /// The verify appointment dates. /// </summary> /// <param name="model"> /// The model. /// </param> /// <param name="visitToSchedule"> /// The visit to schedule. /// </param> /// <param name="baseVisitDate"> /// The base visit date. /// </param> /// <returns> /// The <see cref="bool"/>. /// </returns> /// <exception cref="Exception"> /// </exception> private static bool VerifyAppointmentDates(AppointmentViewModel model, IVisitStepVisitSequence visitToSchedule, DateTime baseVisitDate) { var apptStartUtc = model.StartDate.Add(model.StartTime.Value).ToUniversalTime(); var apptEndUtc = model.EndDate.Add(model.EndTime.Value).ToUniversalTime(); _logger.Debug("Visit to schedule is {0} days from baseline visit", visitToSchedule.DaysFromBase); var minDate = baseVisitDate.AddDays(visitToSchedule.DaysFromBase - visitToSchedule.Deviation); var maxDate = baseVisitDate.AddDays(visitToSchedule.DaysFromBase + visitToSchedule.Deviation); _logger.Debug("Min Date: {0}, Max Date: {1}. Current visit for :{2} - {3}", minDate, maxDate, apptStartUtc, apptEndUtc); if (apptStartUtc >= minDate && apptEndUtc <= maxDate) { return(true); } throw new Exception( string.Format( "Visit {0} on {1} is outside deviation. Earliest: {2}. Latest: {3}. ", visitToSchedule.Visit.Name, model.StartDate.ToLocalTime(), minDate.ToLocalTime(), maxDate.ToLocalTime())); }
public static VisitStepVisitSequenceViewModel ToModel(this IVisitStepVisitSequence entity) { return(new VisitStepVisitSequenceViewModel { DaysFromBase = entity.DaysFromBase, Deviation = entity.Deviation, Id = entity.Id, IsActive = entity.IsActive, SortOrder = entity.SortOrder, VisitId = entity.VisitId, VisitName = entity.Visit.Name, VisitStepId = entity.VisitStepId, IsTermination = entity.IsTermination }); }
public void AddStepVisits(IVisitStepVisitSequence entity) { throw new NotImplementedException(); }
/// <summary> /// The add step visits. /// </summary> /// <param name="entity"> /// The entity. /// </param> public void AddStepVisits(IVisitStepVisitSequence entity) { _context.VisitStepVisitSequences.Add((VisitStepVisitSequence)entity); }