Пример #1
0
        /// <summary>
        /// Handles the object state unchanged of room facility
        /// </summary>
        /// <param name="facility"></param>
        /// <param name="userName"></param>
        /// <returns>Task<BaseResult<long>></returns>
        public async Task <BaseResult <long> > UnchangedRoomFacilityRelation(RoomFacilityViewModel facility, string userName, int hotelId)
        {
            var result       = new BaseResult <long>();
            var updateResult = new BaseResult <bool>();
            var list         = new List <RoomFacilityRelation>();

            if (facility.IsSelected == true && facility.FacilitiesRoomList != null)
            {
                foreach (var roomFacility in facility.FacilitiesRoomList)
                {
                    if (roomFacility.ObjectState == ObjectState.Added)
                    {
                        if (roomFacility.IsSelected == true)
                        {
                            RoomFacilityRelation roomFacilityRelation = new RoomFacilityRelation
                            {
                                HotelId         = hotelId,
                                FacilityId      = facility.Id,
                                FacilityTypeId  = facility.FacilityTypeId,
                                FacilityGroupId = facility.FacilityGroupId,
                                IsDeleted       = false,
                                IsProvisioned   = facility.IsSelected,
                                CreatedBy       = userName,
                                UpdatedBy       = userName,
                                HotelRoomTypeId = roomFacility.RoomTypeId
                            };
                            result = await this.iRoomFacilityRelationLibrary.InsertEntity(roomFacilityRelation);

                            if (result.IsError || result.ExceptionMessage != null)
                            {
                                return(result);
                            }
                            result.Result = result.Result;
                        }
                    }
                    else if (roomFacility.ObjectState == ObjectState.Deleted)
                    {
                        var roomFacilityItem = this.iRoomFacilityRelationLibrary.GetListByPredicate(x => x.FacilityId == facility.Id && !x.IsDeleted && x.Id == roomFacility.RoomFacilityRelationId).Result.Result.SingleOrDefault();
                        if (roomFacilityItem != null)
                        {
                            roomFacilityItem.IsDeleted   = true;
                            roomFacilityItem.UpdatedBy   = userName;
                            roomFacilityItem.UpdatedDate = DateTime.Now.JakartaOffset();
                            updateResult = await this.iRoomFacilityRelationLibrary.UpdateEntityByDapper(roomFacilityItem);

                            if (updateResult.IsError || updateResult.ExceptionMessage != null)
                            {
                                result.IsError          = updateResult.IsError;
                                result.ExceptionMessage = updateResult.ExceptionMessage;
                                return(result);
                            }
                        }
                    }
                }
            }
            result.Result = 1;
            return(result);
        }
Пример #2
0
        /// <summary>
        /// Adds thr room facility Relation if object state is added
        /// </summary>
        /// <param name="facility"></param>
        /// <param name="userName"></param>
        /// <returns>Task<BaseResult<long>></returns>
        public async Task <BaseResult <long> > AddRoomFacilityRelation(RoomFacilityViewModel facility, string userName, int hotelId)
        {
            var result = new BaseResult <long>();
            var list   = new List <RoomFacilityRelation>();

            if (facility.IsSelected == true && facility.FacilitiesRoomList.Any())
            {
                foreach (var facilityRoom in facility.FacilitiesRoomList)
                {
                    if (facilityRoom.IsSelected == true)
                    {
                        RoomFacilityRelation roomFacilityRelation = new RoomFacilityRelation
                        {
                            HotelId         = hotelId,
                            FacilityId      = facility.Id,
                            FacilityTypeId  = facility.FacilityTypeId,
                            FacilityGroupId = facility.FacilityGroupId,
                            IsDeleted       = false,
                            IsProvisioned   = facility.IsSelected,
                            CreatedBy       = userName,
                            UpdatedBy       = userName,
                            HotelRoomTypeId = facilityRoom.RoomTypeId
                        };
                        list.Add(roomFacilityRelation);
                    }
                }
                result = await this.iRoomFacilityRelationLibrary.InsertEntityList(list);

                if (result.IsError || result.ExceptionMessage != null)
                {
                    return(result);
                }
            }

            else
            {
                result.Message = coreHelper.Constants.ErrorMessage.NoRooms;
                return(result);
            }

            return(result);
        }