Beispiel #1
0
        /// <summary>
        /// 创建
        /// </summary>
        /// <param name="input"></param>
        /// <returns></returns>
        public async Task CreateAsync(CreateHouseDto input)
        {
            if (!AbpSession.TenantId.HasValue)
            {
                throw new InvalidOperationException("不能添加小区!");
            }
            input.TenantId = AbpSession.TenantId.Value;
            var community = ObjectMapper.Map <House>(input);

            await _houseReposity.InsertAsync(community);
        }
Beispiel #2
0
 private static BBIT.Domain.Entities.House.House ConvertCreateHouseDtoToHouse(CreateHouseDto createHouseDto)
 {
     return(new BBIT.Domain.Entities.House.House
     {
         Id = createHouseDto.House.Id != null?Guid.Parse(createHouseDto.House.Id) : Guid.Empty,
                  HouseNumber = createHouseDto.House.HouseNumber,
                  StreetName = createHouseDto.House.StreetName,
                  City = createHouseDto.House.City,
                  Country = createHouseDto.House.Country,
                  PostCode = createHouseDto.House.PostCode
     });
 }
Beispiel #3
0
        public async Task <CreateHouseDto> CreateHouseAsync(CreateHouseDto createHouseDto)
        {
            var house = _dbContext.Houses.FirstOrDefault(x =>
                                                         x.Country == createHouseDto.House.Country &&
                                                         x.City == createHouseDto.House.City &&
                                                         x.StreetName == createHouseDto.House.StreetName &&
                                                         x.HouseNumber == createHouseDto.House.HouseNumber);

            if (house != null)
            {
                return new CreateHouseDto
                       {
                           Errors      = new[] { $"House with address: '{house.Country}, {house.City}, {house.StreetName}, {house.HouseNumber}' already exist" },
                           Status      = false,
                           ServerError = false
                       }
            }
            ;

            Guid id;

            do
            {
                id = Guid.NewGuid();
            } while (_dbContext.Houses.FirstOrDefault(x => x.Id == id) != null);

            BBIT.Domain.Entities.House.House newHouse = createHouseDto.CreateDtoToHouse();
            newHouse.Id = id;

            await _dbContext.Houses.AddAsync(newHouse);

            try
            {
                await _dbContext.SaveChangesAsync();

                var newHouseDtoToReturn = newHouse.HouseToCreateHouseDto();
                newHouseDtoToReturn.Status = true;

                return(newHouseDtoToReturn);
            }
            catch (Exception e)
            {
                _logger.LogError($"Error on adding new house into database. Exception message: {e.Message};\nInner message: {e.InnerException?.Message}");
                return(new CreateHouseDto
                {
                    Errors = new[] { "Error on adding new house into database." },
                    ServerError = true,
                    Status = false
                });
            }
        }
Beispiel #4
0
 public static BBIT.Domain.Entities.House.House CreateDtoToHouse(this CreateHouseDto createHouseDto) =>
 ConvertCreateHouseDtoToHouse(createHouseDto);