예제 #1
0
        public bool UpdateFacilityAccreditationMapping(FacilityItems facilityItem, string email, int facilityId)
        {
            var facilityAccreditationMappingManager = this.container.GetInstance <FacilityAccreditationMappingManager>();
            var existingfacilityAccreditation       = facilityAccreditationMappingManager.GetByFacilityId(facilityItem.FacilityId);

            foreach (var item in existingfacilityAccreditation)// remove previous records
            {
                facilityAccreditationMappingManager.BatchRemove(item);
            }

            facilityAccreditationMappingManager.SaveChanges();

            foreach (var facilityAccreditation in facilityItem.FacilityAccreditation)
            {
                if (facilityAccreditation.isSelected.HasValue && facilityAccreditation.isSelected.Value == true)
                {
                    FacilityAccreditationMapping facilityAccreditationMapping = new FacilityAccreditationMapping();
                    facilityAccreditationMapping.FacilityId = facilityId;
                    facilityAccreditationMapping.FacilityAccreditationId = facilityAccreditation.Id;
                    facilityAccreditationMapping.CreatedBy   = email;
                    facilityAccreditationMapping.CreatedDate = DateTime.Now;

                    facilityAccreditationMappingManager.Add(facilityAccreditationMapping);
                }
            }

            this.InvalidateCache(email);
            return(true);
        }
        public async Task <ServiceResponse <FacilityItems> > SaveAsync(FacilityItems facilityItem)
        {
            DateTime startTime = DateTime.Now;

            try
            {
                var facilityFacade = this.Container.GetInstance <FacilityFacade>();

                var facility = await facilityFacade.SaveAsync(facilityItem, Email);

                base.LogMessage("SaveAsync", DateTime.Now - startTime);

                this.SendInvalidation();

                return(new ServiceResponse <FacilityItems>()
                {
                    Item = ModelConversions.Convert(facility)
                });
            }
            catch (Exception ex)
            {
                return(new ServiceResponse <FacilityItems>()
                {
                    HasError = true,
                    Message = ex.Message
                });
            }
        }
예제 #3
0
        /// <summary>
        /// Add new facility record
        /// </summary>
        /// <param name="facilityItem"></param>
        /// <param name="updatedBy"></param>
        /// <returns></returns>
        public Facility Add(FacilityItems facilityItem, string updatedBy)
        {
            Facility facility = new Facility();

            facility.Name                          = facilityItem.FacilityName;
            facility.IsActive                      = true;
            facility.FacilityDirectorId            = facilityItem.FacilityDirectorId;
            facility.OtherSiteAccreditationDetails = facilityItem.OtherSiteAccreditationDetails == null ? "" : facilityItem.OtherSiteAccreditationDetails;
            facility.QMRestrictions                = facilityItem.QMRestrictions;
            facility.NetCordMembership             = facilityItem.NetCordMembership;
            facility.HRSA                          = facilityItem.HRSA;
            facility.MasterServiceTypeId           = facilityItem.MasterServiceTypeId;
            //facility.FacilityAccreditationId = facilityItem.FacilityAccreditationId;
            facility.ServiceTypeId             = facilityItem.ServiceTypeId;
            facility.CreatedBy                 = updatedBy;
            facility.CreatedDate               = DateTime.Now;
            facility.NetcordMembershipTypeId   = facilityItem.NetcordMembershipTypeId;
            facility.ProvisionalMembershipDate = !string.IsNullOrEmpty(facilityItem.ProvisionalMembershipDate) ? Convert.ToDateTime(facilityItem.ProvisionalMembershipDate) : (DateTime?)null;
            facility.AssociateMembershipDate   = !string.IsNullOrEmpty(facilityItem.AssociateMembershipDate) ? Convert.ToDateTime(facilityItem.AssociateMembershipDate) : (DateTime?)null;
            facility.FullMembershipDate        = !string.IsNullOrEmpty(facilityItem.FullMembershipDate) ? Convert.ToDateTime(facilityItem.FullMembershipDate) : (DateTime?)null;


            base.Repository.Add(facility);

            return(facility);
        }
예제 #4
0
        /// <summary>
        /// Update facility record asynchronously
        /// </summary>
        /// <param name="facilityItem"></param>
        /// <param name="updatedBy"></param>
        /// <returns></returns>
        public Task <Facility> UpdateAsync(FacilityItems facilityItem, string updatedBy)
        {
            var facility = base.Repository.GetById(facilityItem.FacilityId);

            facility.Name                          = facilityItem.FacilityName;
            facility.IsActive                      = true;
            facility.FacilityDirectorId            = facilityItem.FacilityDirectorId;
            facility.PrimaryOrganizationId         = facilityItem.PrimaryOrganizationId;
            facility.OtherSiteAccreditationDetails = facilityItem.OtherSiteAccreditationDetails;
            facility.QMRestrictions                = facilityItem.QMRestrictions;
            facility.NetCordMembership             = facilityItem.NetCordMembership;
            facility.HRSA                          = facilityItem.HRSA;
            facility.MasterServiceTypeId           = facilityItem.MasterServiceTypeId;
            //facility.FacilityAccreditationId = facilityItem.FacilityAccreditationId;
            facility.ServiceTypeId             = facilityItem.ServiceTypeId;
            facility.UpdatedBy                 = updatedBy;
            facility.UpdatedDate               = DateTime.Now;
            facility.NetcordMembershipTypeId   = facilityItem.NetcordMembershipTypeId;
            facility.ProvisionalMembershipDate = !string.IsNullOrEmpty(facilityItem.ProvisionalMembershipDate) ? Convert.ToDateTime(facilityItem.ProvisionalMembershipDate) : (DateTime?)null;
            facility.AssociateMembershipDate   = !string.IsNullOrEmpty(facilityItem.AssociateMembershipDate) ? Convert.ToDateTime(facilityItem.AssociateMembershipDate) : (DateTime?)null;
            facility.FullMembershipDate        = !string.IsNullOrEmpty(facilityItem.FullMembershipDate) ? Convert.ToDateTime(facilityItem.FullMembershipDate) : (DateTime?)null;

            base.Repository.SaveAsync(facility);

            return(Task.FromResult(facility));
        }
예제 #5
0
        /// <summary>
        /// Add or update facility
        /// </summary>
        /// <returns>Collection of entity objects</returns>
        public Facility Save(FacilityItems facilityItem, string updatedBy)
        {
            var manager  = this.container.GetInstance <FacilityManager>();
            var facility = manager.AddOrUpdate(facilityItem, updatedBy);

            UpdateFacilityAccreditationMapping(facilityItem, updatedBy, facility.Id);
            return(facility);
        }
예제 #6
0
        /// <summary>
        /// Add or update facility asynchronously
        /// </summary>
        /// <returns>Collection of entity objects</returns>
        public async Task <Facility> SaveAsync(FacilityItems facilityItem, string updatedBy)
        {
            var manager  = this.container.GetInstance <FacilityManager>();
            var facility = manager.AddOrUpdate(facilityItem, updatedBy);
            await Task.WhenAll(Task.FromResult(facility));

            this.UpdateFacilityAccreditationMapping(facilityItem, updatedBy, facility.Id);
            await this.InvalidateCacheAsync(updatedBy);

            return(facility);
        }
예제 #7
0
        /// <summary>
        /// Add or updates the facility record
        /// </summary>
        /// <param name="facilityItem"></param>
        /// <param name="updatedBy"></param>
        /// <returns></returns>
        public Facility AddOrUpdate(FacilityItems facilityItem, string updatedBy)
        {
            LogMessage("AddOrUpdate (FacilityManager)");
            Facility facility = null;

            if (facilityItem.FacilityId != 0)
            {
                facility = this.Update(facilityItem, updatedBy);
            }
            else
            {
                facility = this.Add(facilityItem, updatedBy);
            }
            return(this.GetById(facility.Id));
        }
예제 #8
0
        /// <summary>
        /// Add or updates the facility record asynchronously
        /// </summary>
        /// <param name="facilityItem"></param>
        /// <param name="updatedBy"></param>
        /// <returns></returns>
        public Task <Facility> AddOrUpdateAsync(FacilityItems facilityItem, string updatedBy)
        {
            LogMessage("AddOrUpdate (FacilityManager)");
            Facility facility = null;

            if (facilityItem.FacilityId != 0)
            {
                facility = this.UpdateAsync(facilityItem, updatedBy).Result;
            }
            else
            {
                facility = this.AddAsync(facilityItem, updatedBy).Result;
            }

            return(Task.FromResult(this.GetById(facility.Id)));
        }