public async Task EditShouldSucceed() { var options = new DbContextOptionsBuilder <ApplicationDbContext>() .UseInMemoryDatabase(databaseName: "EditTenantsTestDb").Options; using var dbContext = new ApplicationDbContext(options); var tenantId = 5; var tenantName = "Ivan Ivanov"; dbContext.Tenants.Add(new Tenant() { Id = tenantId, Name = tenantName, }); await dbContext.SaveChangesAsync(); using var tenantRepository = new EfDeletableEntityRepository <Tenant>(dbContext); using var propertyRepository = new EfDeletableEntityRepository <Property>(dbContext); var tenantService = new TenantsService(tenantRepository, propertyRepository); var editedName = "Petar Petrov"; var model = new EditTenantsViewModel() { Name = editedName, }; var tenant = tenantService.EditAsync(tenantId, model); var editedTenant = dbContext.Tenants.FirstOrDefault(t => t.Id == tenantId); Assert.NotNull(editedTenant); Assert.Equal(editedName, editedTenant.Name); }
public async Task EditAsync(int id, EditTenantsViewModel input) { var tenant = this.tenantsRepository.All().FirstOrDefault(t => t.Id == id); //var property = this.propertyRepository.All().FirstOrDefault(p => p.Id == input.PropertyId); tenant.Name = input.Name; tenant.LeasePeriod = input.LeasePeriod; tenant.Rate = input.Rate; //tenant.PropertyId = input.PropertyId; //tenant.Property = property; await this.tenantsRepository.SaveChangesAsync(); }
public async Task <IActionResult> Edit(int id, EditTenantsViewModel input) { if (!this.ModelState.IsValid) { return(this.View()); } try { await this.tenantsService.EditAsync(id, input); return(this.RedirectToAction(nameof(this.ById), new { id })); } catch (Exception ex) { return(this.View("Error", new ErrorViewModel { RequestId = ex.Message })); } }