예제 #1
0
        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}"));
        }
예제 #2
0
        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($"/"));
        }