コード例 #1
0
        public async Task UpdateHousingAsync(string currentUserId, string id, HousingUpdateModel housingUpdateModel)
        {
            var housing = await GetHousingAsync(id);

            if (housing == null)
            {
                throw new Exception("The housing doesn't exist");
            }
            if (housing.UserId == currentUserId)
            {
                throw new UnauthorizedAccessException("Your are not allowed to update this housing");
            }

            var update = Builders <Housing> .Update
                         .Set(dbHousing => dbHousing.HousingType, housingUpdateModel.HousingType)
                         .Set(dbHousing => dbHousing.HousingFloor, housingUpdateModel.HousingFloor)
                         .Set(dbHousing => dbHousing.IsElevator, housingUpdateModel.IsElevator)
                         .Set(dbHousing => dbHousing.Surface, housingUpdateModel.Surface)
                         .Set(dbHousing => dbHousing.Adress, housingUpdateModel.Adress)
                         .Set(dbHousing => dbHousing.Town, housingUpdateModel.Town)
                         .Set(dbHousing => dbHousing.Zipcode, housingUpdateModel.Zipcode)
                         .Set(dbHousing => dbHousing.Region, housingUpdateModel.Region)
                         .Set(dbHousing => dbHousing.Country, housingUpdateModel.Country)
                         .Set(dbHousing => dbHousing.State, housingUpdateModel.State)
                         .Set(dbHousing => dbHousing.MoveRequestId, housingUpdateModel.MoveRequestId);

            await _housings.UpdateOneAsync(dbHousing =>
                                           dbHousing.Id == id,
                                           update
                                           );
        }
コード例 #2
0
        public async Task <IActionResult> UpdateHousing(string id, [FromBody] HousingUpdateModel housingUpdateModel)
        {
            var currentUserId = User.Identity.Name;

            try
            {
                await _housingsService.UpdateHousingAsync(currentUserId, id, housingUpdateModel);

                return(Ok());
            }
            catch (UnauthorizedAccessException e)
            {
                return(Unauthorized($"Can't update the housin: {e.Message}"));
            }
            catch (Exception e)
            {
                return(BadRequest($"Can't update the housing: {e.Message}"));
            }
        }