public IHttpResponse Edit(UpdateDeleteProductViewModel model) { var product = this.DbContext.Products.FirstOrDefault(p => p.Id == model.Id); if (product == null) { return(this.BadRequestError("Product doesn't exist!")); } if (model.ProductType == null) { return(BadRequestError("You must select a product type.")); } if (model.Price == default(decimal) || model.Price < 0) { return(BadRequestError("You must enter a valid number larger than 0.")); } if (model.Name.Trim().Length < 3 || model.Description.Trim().Length < 3 || model.Name.Contains(" ")) { return(BadRequestError("Invalid product information.")); } product.Name = model.Name; product.Price = model.Price; product.Description = model.Description; product.Type = (ProductType)Enum.Parse(typeof(ProductType), model.ProductType); this.DbContext.Entry(product).State = EntityState.Modified; this.DbContext.SaveChanges(); return(this.Redirect($"/products/details?id={product.Id}")); }
public IHttpResponse Delete(UpdateDeleteProductViewModel model) { var product = this.DbContext.Products.FirstOrDefault(p => p.Id == model.Id); if (product == null) { return(this.BadRequestError("Product doesn't exist!")); } this.DbContext.Products.Remove(product).State = EntityState.Deleted; this.DbContext.SaveChanges(); return(this.Redirect($"/")); }