public async Task <IActionResult> Get() { BaseAPIModel <ProductResult> response = new BaseAPIModel <ProductResult>(); response.status = false; response.request = "Product"; try { response.data = _context.Products.Include(o => o.productCategory).Where(o => o.IsActive == true).Select(i => new ProductResult { ID = i.ID, Name = i.Name, Description = i.Description, Category = i.productCategory.Name, CategoryID = i.CategoryID }).ToList(); response.status = true; return(Ok(response)); } catch (Exception ex) { response.error = ex.InnerException.Message; return(BadRequest(response)); } }
public async Task <IActionResult> Post([FromBody] Model.RequestModel.Product product) { BaseAPIModel <Product> response = new BaseAPIModel <Product>(); response.status = false; response.request = "Add Product"; try { Product productDetail = new Product { Name = product.Name, Description = product.Description, IsActive = true, CategoryID = product.CategoryID, RegistedDate = DateTime.Now }; await _context.Products.AddAsync(productDetail); await _context.SaveChangesAsync(); response.status = true; return(Ok(response)); } catch (Exception ex) { response.error = ex.InnerException.Message; return(BadRequest(response)); } }
public async Task <IActionResult> Delete([FromBody] int id) { BaseAPIModel <Product> response = new BaseAPIModel <Product>(); response.status = false; response.request = "Delete Product"; try { Product product = new Product { ID = id }; _context.Products.Remove(product); await _context.SaveChangesAsync(); response.status = true; return(Ok(response)); } catch (Exception ex) { response.error = ex.InnerException.Message; return(BadRequest(response)); } }
public async Task <IActionResult> Update([FromBody] Model.RequestModel.ProductUpdate data) { BaseAPIModel <Product> response = new BaseAPIModel <Product>(); response.status = false; response.request = "Update Product"; try { Product product = new Product { ID = data.ID, Name = data.Name, Description = data.Description, CategoryID = data.CategoryID, IsActive = true, RegistedDate = DateTime.Now }; _context.Products.Update(product); await _context.SaveChangesAsync(); response.status = true; return(Ok(response)); } catch (Exception ex) { response.error = ex.InnerException.Message; return(BadRequest(response)); } }
public async Task <IActionResult> Post([FromBody] Category data) { BaseAPIModel <ProductCategory> response = new BaseAPIModel <ProductCategory>(); response.status = false; response.request = "Add Product Categories"; try { ProductCategory category = new ProductCategory { Name = data.Name, Description = data.Description, IsActive = true, RegistedDate = DateTime.Now }; await _context.ProductCategories.AddAsync(category); await _context.SaveChangesAsync(); response.status = true; return(Ok(response)); } catch (Exception ex) { response.error = ex.InnerException.Message; return(BadRequest(response)); } }
public async Task <IActionResult> Delete([FromBody] int id) { BaseAPIModel <ProductCategory> response = new BaseAPIModel <ProductCategory>(); response.status = false; response.request = "Add Product Categories"; try { int productCount = _context.Products.Where(o => o.CategoryID == id).Count(); if (productCount > 0) { response.error = "Category cannot be deleted. It references from products."; return(Conflict(response)); } ProductCategory productCategory = new ProductCategory { ID = id }; _context.ProductCategories.Remove(productCategory); await _context.SaveChangesAsync(); response.status = true; return(Ok(response)); }catch (Exception ex) { response.error = ex.InnerException.Message; return(BadRequest(response)); } }
public async Task <IActionResult> Get() { BaseAPIModel <ProductCategory> response = new BaseAPIModel <ProductCategory>(); response.status = false; response.request = "Product Categories"; try { response.data = _context.ProductCategories.Where(o => o.IsActive == true).ToList(); response.status = true; return(Ok(response)); }catch (Exception ex) { response.error = ex.InnerException.Message; return(BadRequest(response)); } }