/// <summary>
        /// To the view model.
        /// </summary>
        /// <param name="entity">The entity.</param>
        /// <returns></returns>
        public static AppointmentStatusDetailViewModel ToViewModel(this AppointmentStatusDetailModel entity)
        {
            if (entity == null)
            {
                return(null);
            }

            var model = new AppointmentStatusDetailViewModel
            {
                AppointmentStatusDetailID = entity.AppointmentStatusDetailID,
                AppointmentStatusID       = entity.AppointmentStatusID,
                AppointmentResourceID     = entity.AppointmentResourceID,
                ModifiedOn     = entity.ModifiedOn,
                IsCancelled    = entity.IsCancelled,
                CancelReasonID = entity.CancelReasonID,
                Comments       = entity.Comments
            };

            return(model);
        }
        /// <summary>
        /// Converts viewmodel to model
        /// </summary>
        /// <param name="model">The model.</param>
        /// <returns></returns>
        public static AppointmentStatusDetailModel ToModel(this AppointmentStatusDetailViewModel model)
        {
            if (model == null)
            {
                return(null);
            }
            var entity = new AppointmentStatusDetailModel
            {
                AppointmentResourceID     = model.AppointmentResourceID,
                AppointmentStatusDetailID = model.AppointmentStatusDetailID,
                AppointmentStatusID       = model.AppointmentStatusID,
                ModifiedOn     = model.ModifiedOn,
                IsActive       = model.IsActive,
                IsCancelled    = model.IsCancelled,
                CancelReasonID = model.CancelReasonID,
                Comments       = model.Comments
            };

            return(entity);
        }
 public Response <AppointmentStatusDetailViewModel> AddAppointmentStatusDetail(AppointmentStatusDetailViewModel appointmentStatus)
 {
     return(appointmentRepository.AddAppointmentStatusDetail(appointmentStatus));
 }
        /// <summary>
        /// Update appt status detail
        /// </summary>
        /// <param name="appointmentStatus"></param>
        /// <returns></returns>
        public Response <AppointmentStatusDetailViewModel> UpdateAppointmentStatusDetail(AppointmentStatusDetailViewModel appointmentStatus)
        {
            const string apiUrl = baseRoute + "UpdateAppointmentStatusDetail";

            return
                (communicationManager.Put <AppointmentStatusDetailModel, Response <AppointmentStatusDetailModel> >(appointmentStatus.ToModel(), apiUrl)
                 .ToViewModel());
        }