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); }
public static async Task <bool> UpdateInDB(this RoomsDB_RoomDTO room) => await ReplaceRoom(room);
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); }
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);