/// <summary> /// 更新租户信息 /// </summary> /// <param name="input">租户更新信息</param> public async Task UpdateTenant(EditTenantInput input) { var tenant = await TenantManager.GetByIdAsync(input.TenantId); input.MapTo(tenant); CheckErrors(await TenantManager.UpdateAsync(tenant)); }
public async Task <EditTenantPayload> EditTenantAsync( EditTenantInput inputTenant, [ScopedService] TenantFileContext context, CancellationToken cancellationToken) { // var (nameInput, phoneInput, residenceInput, residenceIdInput) = inputTenant; Tenant?tenant = await context.Tenants.FirstOrDefaultAsync(x => x.Id == inputTenant.TenantId); Phone phone = await context.Phones.FirstOrDefaultAsync(x => x.PhoneNumber == inputTenant.PhoneNumber) ?? new Phone() { PhoneNumber = inputTenant.PhoneNumber }; // If it doesn't exist, create a new tenant number if (tenant == null) { tenant = new Tenant { Name = inputTenant.Name, Phones = new List <Phone> { phone } }; } else { tenant.Name = inputTenant.Name; } if (inputTenant.CurrentResidence != null) { var(line1, line2, line3, line4, city, state, postalCode) = inputTenant.CurrentResidence !.AddressInput; tenant.CurrentResidence = new Residence() { Address = new Address() { Line1 = line1, Line2 = line2, Line3 = line3, Line4 = line4, City = city, State = state, PostalCode = postalCode }, PropertyId = inputTenant.CurrentResidence.PropertyId }; } else { tenant.ResidenceId = inputTenant.ResidenceId !; } await context.SaveChangesAsync(cancellationToken); return(new EditTenantPayload(tenant)); }