Example #1
0
        private async Task <OperationErrorMessages> EvaluateValidationAttributes(object argument, HttpContext httpContext, IRoomRepository roomRepository, Type dtoType)
        {
            var _workContext = httpContext.RequestServices.GetService <IWorkContext>();

            var userId = _workContext.UserId.Value;
            var room   = new RoomsDB_RoomDTO();

            if (dtoType == typeof(CommonAPI_RoomIdDTO))
            {
                room = await roomRepository.GetRoomById(ObjectId.Parse(((CommonAPI_RoomIdDTO)argument).RoomId));
            }
            else if (dtoType == typeof(CommonAPI_RoomDomainDTO))
            {
                room = await roomRepository.GetRoomByDomain(((CommonAPI_RoomDomainDTO)argument).RoomDomain);
            }

            if (room == null)
            {
                return(OperationErrorMessages.RoomNotFound);
            }

            else if (room.UserId != userId)
            {
                return(OperationErrorMessages.RoomAccessError);
            }

            return(OperationErrorMessages.NoError);
        }
        public async Task ReplaceRoom(RoomsDB_RoomDTO update)
        {
            await _redisCache.Del($"Room:{update.Id}");

            _internalByIdCache.Remove(update.Id);
            _internalByDomainCache.Remove(update.Domain);
            await RoomWorker.ReplaceRoom(update);
        }
Example #3
0
 public static async Task <bool> UpdateInDB(this RoomsDB_RoomDTO room) => await ReplaceRoom(room);
Example #4
0
        public static async Task <bool> ReplaceRoom(RoomsDB_RoomDTO updatedRoom)
        {
            var filter = Builders <RoomsDB_RoomDTO> .Filter.Eq("Id", updatedRoom.Id);

            return((await MongoController.RoomCollection.ReplaceOneAsync(filter, updatedRoom)).MatchedCount == 1);
        }
Example #5
0
        public static async Task <ObjectId> InsertRoom(RoomsDB_RoomDTO room)
        {
            await MongoController.RoomCollection.InsertOneAsync(room);

            return(room.Id);
        }
 public async Task <ObjectId> InsertRoom(RoomsDB_RoomDTO newRoom) =>
 await RoomWorker.InsertRoom(newRoom);