public async Task <CreateTenantDto> CreateTenantAsync(CreateTenantDto createTenantDto) { try { if (createTenantDto.FlatId != null && !CheckFlatExist(createTenantDto.FlatId)) { return new CreateTenantDto { Errors = new[] { $"Flat with Id: '{createTenantDto.FlatId}' not exist." } } } ; if (createTenantDto.FlatId != null && !CheckHouseExistByFlatId(createTenantDto.FlatId)) { return new CreateTenantDto { Errors = new[] { $"House with (Flat Id: '{createTenantDto.FlatId}') not exist." } } } ; if (CheckTenantExist(createTenantDto)) { return new CreateTenantDto { Errors = new[] { $"Tenant with provided details already exist." } } } ; BBIT.Domain.Entities.Tenant.Tenant tenant = CreateNewTenant(createTenantDto); var flat = GetFlatById(createTenantDto.FlatId); flat.AmountOfTenants++; tenant.Flat = flat; _dbContext.Flats.Update(flat); await _dbContext.Tenants.AddAsync(tenant); await _dbContext.SaveChangesAsync(); var createTenantDtoToReturn = tenant.TenantDtoToCreateTenantDto(); createTenantDtoToReturn.Status = true; return(createTenantDtoToReturn); } catch (Exception e) { _logger.LogError($"Error on creating Tenant in database. Exception message: {e.Message};\nInner message: {e.InnerException?.Message}"); return(new CreateTenantDto { Errors = new[] { "Error on creating Tenant in database." }, ServerError = true }); } }
private static TenantDto ConvertTenantToTenantDto(BBIT.Domain.Entities.Tenant.Tenant tenant) { return(new TenantDto { Id = tenant.Id.ToString(), Name = tenant.Name, Surname = tenant.Surname, PersonalCode = tenant.PersonalCode, DateOfBirth = tenant.DateOfBirth.ToString("d"), PhoneNumber = tenant.PhoneNumber, Email = tenant.Email, Flat = tenant.Flat?.FlatToFlatDto() }); }
public static TenantDto TenantToTenantDto(this BBIT.Domain.Entities.Tenant.Tenant tenant) => ConvertTenantToTenantDto(tenant);