public IActionResult Create() { var model = new CreateMaintenanceServiceViewModel(); model.PropertiesItems = this.propertiesService.GetAllAsKeyValuePairsForServices(); model.VendorsItems = this.vendorService.GetAllAsKeyValuePairs(); return(this.View(model)); }
public async Task CreateAsync(CreateMaintenanceServiceViewModel input) { var maintenanceService = new MaintenanceService() { Name = input.Name, ServiceDate = input.ServiceDate, PropertyId = input.PropertyId, VendorId = input.VendorId, }; await this.maintenanceServicesRepository.AddAsync(maintenanceService); await this.maintenanceServicesRepository.SaveChangesAsync(); }
public async Task <IActionResult> Create(CreateMaintenanceServiceViewModel input) { if (!this.ModelState.IsValid) { return(this.View()); } try { await this.maintenanceServicesService.CreateAsync(input); return(this.Redirect("/")); } catch (Exception ex) { this.ModelState.AddModelError(string.Empty, ex.Message); return(this.View(input)); } }
public async Task CreateShouldSucceed() { var options = new DbContextOptionsBuilder <ApplicationDbContext>() .UseInMemoryDatabase(databaseName: "MaintenanceServicesTestDb").Options; using var dbContext = new ApplicationDbContext(options); using var maintenanceServiceRepository = new EfDeletableEntityRepository <MaintenanceService>(dbContext); using var propertyRepository = new EfDeletableEntityRepository <Property>(dbContext); using var vendorRepository = new EfDeletableEntityRepository <Vendor>(dbContext); var maintenanceServicesService = new MaintenanceServicesService(maintenanceServiceRepository, propertyRepository, vendorRepository); var model = new CreateMaintenanceServiceViewModel() { Name = "HVAC Service", }; await maintenanceServicesService.CreateAsync(model); var createdModel = dbContext.MaintenanceServices.FirstOrDefault(p => p.Name == "HVAC Service"); Assert.NotNull(createdModel); }