Exemplo n.º 1
0
        /// <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()));
        }
Exemplo n.º 2
0
 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
     });
 }
Exemplo n.º 3
0
 public void AddStepVisits(IVisitStepVisitSequence entity)
 {
     throw new NotImplementedException();
 }
Exemplo n.º 4
0
 /// <summary>
 /// The add step visits.
 /// </summary>
 /// <param name="entity">
 /// The entity.
 /// </param>
 public void AddStepVisits(IVisitStepVisitSequence entity)
 {
     _context.VisitStepVisitSequences.Add((VisitStepVisitSequence)entity);
 }