/// <summary>
        /// Converts model to viewmodel
        /// </summary>
        /// <param name="entity">The entity.</param>
        /// <returns></returns>
        public static ResourceAvailabilityViewModel ToViewModel(this ResourceAvailabilityModel entity)
        {
            if (entity == null)
            {
                return(null);
            }

            var model = new ResourceAvailabilityViewModel
            {
                AvailabilityEndTime   = entity.AvailabilityEndTime,
                AvailabilityStartTime = entity.AvailabilityStartTime,
                Days                   = (string)GetDayOfWeekLookup().First(x => x.ID == entity.DayOfWeekID).Name,
                FacilityID             = entity.FacilityID,
                ResourceAvailabilityID = entity.ResourceAvailabilityID,
                ResourceID             = entity.ResourceID,
                ResourceTypeID         = entity.ResourceTypeID,
                ModifiedOn             = entity.ModifiedOn
            };

            var schedtype = GetScheduleTypeLookup().FirstOrDefault(x => x.ID == entity.ScheduleTypeID);

            model.ScheduleType = (schedtype == null) ? "" : (string)schedtype.ScheduleType;

            return(model);
        }
        /// <summary>
        /// Builds resource availability sql params.
        /// </summary>
        /// <param name="resourceAvailability"></param>
        /// <param name="isUpdate"></param>
        /// <returns></returns>
        private List <SqlParameter> BuildResourceAvailabilitySpParams(ResourceAvailabilityModel resourceAvailability, bool isUpdate = false)
        {
            var spParameters = new List <SqlParameter>();

            if (isUpdate)
            {
                spParameters.Add(new SqlParameter("ResourceAvailabilityID", resourceAvailability.ResourceAvailabilityID));
            }

            spParameters.Add(new SqlParameter("ResourceID", (object)resourceAvailability.ResourceID ?? DBNull.Value));
            spParameters.Add(new SqlParameter("ResourceTypeID", (object)resourceAvailability.ResourceTypeID ?? DBNull.Value));
            spParameters.Add(new SqlParameter("FacilityID", (object)resourceAvailability.FacilityID ?? DBNull.Value));
            spParameters.Add(new SqlParameter("DefaultFacilityID", (object)resourceAvailability.FacilityID ?? DBNull.Value));
            if (isUpdate)
            {
                spParameters.Add(new SqlParameter("ScheduleTypeID", (object)resourceAvailability.ScheduleTypeID ?? DBNull.Value));
            }
            spParameters.Add(new SqlParameter("DayOfWeekID", (object)resourceAvailability.DayOfWeekID ?? DBNull.Value));
            spParameters.Add(new SqlParameter("AvailabilityStartTime", (object)resourceAvailability.AvailabilityStartTime ?? DBNull.Value));
            spParameters.Add(new SqlParameter("AvailabilityEndTime", (object)resourceAvailability.AvailabilityEndTime ?? DBNull.Value));
            if (!isUpdate)
            {
                spParameters.Add(new SqlParameter("ScheduleTypeID", (object)resourceAvailability.ScheduleTypeID ?? DBNull.Value));
            }
            spParameters.Add(new SqlParameter("ModifiedOn", resourceAvailability.ModifiedOn ?? DateTime.Now));

            return(spParameters);
        }
        /// <summary>
        /// Updates a resource availability.
        /// </summary>
        /// <param name="resourceAvailability"></param>
        /// <returns></returns>
        public Response <ResourceAvailabilityModel> UpdateResourceAvailability(ResourceAvailabilityModel resourceAvailability)
        {
            var resourcesAvailabilityRepository = unitOfWork.GetRepository <ResourceAvailabilityModel>(SchemaName.Scheduling);
            var resourceParameters = BuildResourceAvailabilitySpParams(resourceAvailability, true);

            return(resourcesAvailabilityRepository.ExecuteNQStoredProc("usp_UpdateResourceAvailability", resourceParameters));
        }
        /// <summary>
        /// Converts viewmodel to model
        /// </summary>
        /// <param name="model">The model.</param>
        /// <returns></returns>
        public static ResourceAvailabilityModel ToModel(this ResourceAvailabilityViewModel model)
        {
            if (model == null)
            {
                return(null);
            }

            var entity = new ResourceAvailabilityModel
            {
                AvailabilityEndTime    = model.AvailabilityEndTime,
                AvailabilityStartTime  = model.AvailabilityStartTime,
                DayOfWeekID            = (int)GetDayOfWeekLookup().First(x => x.Name == model.Days).ID,
                ScheduleTypeID         = (short)GetScheduleTypeLookup().First(x => x.ScheduleType == model.ScheduleType).ID,
                FacilityID             = model.FacilityID,
                ResourceAvailabilityID = model.ResourceAvailabilityID,
                ResourceID             = model.ResourceID,
                ResourceTypeID         = model.ResourceTypeID,
                ModifiedOn             = model.ModifiedOn
            };

            return(entity);
        }
Пример #5
0
 public IHttpActionResult UpdateResourceAvailability(ResourceAvailabilityModel resourceAvailability)
 {
     return(new HttpResult <Response <ResourceAvailabilityModel> >(resourceDataProvider.UpdateResourceAvailability(resourceAvailability), Request));
 }
Пример #6
0
 /// <summary>
 /// Updates a resource availability.
 /// </summary>
 /// <param name="resourceAvailability"></param>
 /// <returns></returns>
 public Response <ResourceAvailabilityModel> UpdateResourceAvailability(ResourceAvailabilityModel resourceAvailability)
 {
     return(resourceService.UpdateResourceAvailability(resourceAvailability));
 }
Пример #7
0
 /// <summary>
 /// Adds a resource availability.
 /// </summary>
 /// <param name="resourceAvailability"></param>
 /// <returns></returns>
 public Response <ResourceAvailabilityModel> AddResourceAvailability(ResourceAvailabilityModel resourceAvailability)
 {
     return(resourceService.AddResourceAvailability(resourceAvailability));
 }
 public IHttpActionResult UpdateResourceAvailability(ResourceAvailabilityModel resourceAvailability)
 {
     return(new HttpResult <Response <ResourceAvailabilityModel> >(resourceRuleEngine.UpdateResourceAvailability(resourceAvailability), Request));
 }
        /// <summary>
        /// Updates a resource availability.
        /// </summary>
        /// <param name="resourceAvailability"></param>
        /// <returns></returns>
        public Response <ResourceAvailabilityModel> UpdateResourceAvailability(ResourceAvailabilityModel resourceAvailability)
        {
            const string apiUrl = BaseRoute + "UpdateResourceAvailability";

            return(_communicationManager.Put <ResourceAvailabilityModel, Response <ResourceAvailabilityModel> >(resourceAvailability, apiUrl));
        }