public async Task <IActionResult> CreateApartment([FromForm] ApartmentInsertDTO apartment)
        {
            try
            {
                await _apartmentService.InsertApartmentAsync(apartment);

                return(Ok());
            }
            catch (DbUpdateConcurrencyException e)
            {
                return(BadRequest(e.Message));
            }
            catch (Exception e)
            {
                return(BadRequest(e));
            }
        }
Exemplo n.º 2
0
        public async Task InsertApartmentAsync(ApartmentInsertDTO apartmentInsertDTO)
        {
            var email = _httpContextAccessor.HttpContext.User.FindFirst(ClaimsIdentity.DefaultNameClaimType).Value;
            var owner = await(await _userRepository.GetAllAsync(x => x.Email.ToUpper().Equals(email.ToUpper())))
                        .FirstOrDefaultAsync();
            var apartment = _mapper.Map <Apartment>(apartmentInsertDTO);
            var images    = await _imagesService.UploadAsync(apartmentInsertDTO.Images, email);

            var apartmenrType =
                (await _apartmentTypeRepository.GetAllAsync(x =>
                                                            x.Name.ToUpper().Equals(apartmentInsertDTO.ApartmentTypeString.ToUpper())))
                .FirstOrDefault();

            apartment.ApartmentImages = images.Select(path => new ApartmentImage {
                Url = path
            }).ToList();
            apartment.ApartmentType =
                apartmenrType ?? throw new EntityNotExistException("Current apartment type not exists");
            apartment.Owner     = owner;
            apartment.CreatedBy = owner.Id;
            /*apartment.ApartmentLocation.Coordinates = new Point(20.545, -80.4564){SRID = 4326};*/
            await _apartmentRepository.InsertAsync(apartment);
        }