public async Task ShouldDelete() { var server = new ServerFake(); var user = server.AppDbContext.CreateUser(); var product = server.AppDbContext.CreateProduct(user.Tenant); var viewModel = new ProductIdViewModel().For(product); var response = await server.CreateAuthenticatedClient(user).PostAsJsonAsync("products/delete", viewModel); var json = await response.Content.ReadAsJsonAsync <ProductJson>(); Assert.True(response.IsSuccessStatusCode); Assert.False(server.AppDbContext.Products.WhereId(json.Id).Any()); }
public async Task <IActionResult> Find([FromBody] ProductIdViewModel viewModel) { Product product = await context.Products .WhereId(viewModel.Id.Value) .SingleOrDefaultAsync(); if (product == null) { return(new ProductNotFoundJson()); } return(new ProductJson(product)); }
public IActionResult Unpublish(ProductIdViewModel model) { var product = this._context.Products.FirstOrDefault(p => p.Id == model.Id); if (product != null) { product.IsPublished = false; this._context.Products.Update(product); this._context.SaveChanges(); return(Ok()); } return(null); }
public HttpResponse Details(ProductIdViewModel productx) { if (!this.IsUserLoggedIn()) { return(this.Redirect("/Users/Login")); } var product = productService.GetProduct(productx.Id); if (product == null) { return(this.Error("Not found")); } return(this.View(product)); }
public async Task <IActionResult> Delete([FromBody] ProductIdViewModel viewModel) { Product product = await context.Products .WhereId(viewModel.Id.Value) .SingleOrDefaultAsync(); if (product == null) { return(new ProductNotFoundJson()); } context.Products.Remove(product); await context.SaveChangesAsync(); return(new ProductJson(product)); }
public async Task ShouldFind() { var server = new ServerFake(); var user = server.AppDbContext.CreateUser(); var product = server.AppDbContext.CreateProduct(user.Tenant); var viewModel = new ProductIdViewModel().For(product); var response = await server.CreateAuthenticatedClient(user).PostAsJsonAsync("products/find", viewModel); var json = await response.Content.ReadAsJsonAsync <ProductJson>(); Assert.True(response.IsSuccessStatusCode); Assert.NotNull(product); Assert.Equal(product.Name, json.Name); Assert.Equal(product.Code, json.Code); Assert.Equal(product.Marketed, json.Marketed); Assert.Equal(product.IsManufactured, json.IsManufactured); Assert.Equal(product.CanFraction, json.CanFraction); Assert.Equal(product.InventoryControl, json.InventoryControl); Assert.Equal(product.AdditionalInformation, json.AdditionalInformation); }
public static ProductIdViewModel For(this ProductIdViewModel viewModel, Product product) { viewModel.Id = product.Id; return(viewModel); }