Exemplo n.º 1
0
        public async Task <UserListingDto> AddListingCommand(AddListingDto addListingDto, string UserFullName,
                                                             string UserId)
        {
            try
            {
                var listing = new UserListings
                {
                    CountryRefId       = (int)addListingDto.ListingCountry,
                    ProvinceRefId      = (int)addListingDto.ListingProvince,
                    CityRefId          = (int)addListingDto.ListingCity,
                    ListingTypeRefId   = (int)addListingDto.ListingType,
                    CountryName        = EnumHelper.GetCountryEnumString((int)addListingDto.ListingCountry),
                    ProvinceName       = EnumHelper.GetProvinceEnumString((int)addListingDto.ListingProvince),
                    CityName           = EnumHelper.GetCityEnumString((int)addListingDto.ListingCity),
                    ListingName        = EnumHelper.GetListingEnumString((int)addListingDto.ListingType),
                    ListingDescription = addListingDto.ListingDescription,
                    ListingTitle       = addListingDto.ListingTitle,
                    Address            = addListingDto.Address,
                    Email           = addListingDto.Email,
                    PhoneNumber     = addListingDto.PhoneNumber,
                    FullName        = addListingDto.FullName,
                    OwnerId         = UserId,
                    ListingDate     = DateTime.Now,
                    LastUpdatedDate = DateTime.Now
                };

                var addListing = await _listingRepository.AddListing(listing);

                var newListing = new UserListingDto
                {
                    Address            = addListing.Address,
                    City               = EnumHelper.GetCityEnumString((int)addListing.CityRefId),
                    Country            = EnumHelper.GetCountryEnumString((int)addListing.CountryRefId),
                    Province           = EnumHelper.GetProvinceEnumString((int)addListing.ProvinceRefId),
                    Email              = addListing.Email,
                    FullName           = addListing.FullName,
                    PhoneNumber        = addListing.PhoneNumber,
                    LastUpdatedDate    = addListing.LastUpdatedDate,
                    ListingDate        = addListing.ListingDate,
                    ListingDescription = addListing.ListingDescription,
                    ListingTitle       = addListing.ListingTitle,
                    ListingType        = EnumHelper.GetListingEnumString((int)addListing.ListingTypeRefId),
                    UserListingId      = addListing.UserListingId,
                    OwnerId            = addListing.OwnerId,
                    ListingEnabled     = addListing.ListingEnabled
                };

                return(newListing);
            }
            catch (Exception ex)
            {
                throw ex.InnerException;
            }
        }
Exemplo n.º 2
0
        public async Task <IActionResult> NewListing([FromBody] AddListingDto addListingDto)
        {
            try
            {
                var id   = HttpContext.User.FindFirst(ClaimTypes.Email).Value;
                var user = await _userManager.FindByEmailAsync(id);

                var listing =
                    await _listingCommand.AddListingCommand(addListingDto, user.FirstName + user.LastName, user.Id);

                return(Ok(listing));
            }
            catch (Exception ex)
            {
                _logger.LogError($"error while creating listing: {ex}");
                return(StatusCode((int)HttpStatusCode.InternalServerError, "error while creating listing"));
            }
        }