public ProductCreateResponse CreateProduct(ProductCreateRequest request) { var response = new ProductCreateResponse(); var validationErrors = _validation.CreateRequestValidation.Validate(request); var dbErrors = new List <DatabaseErrors>(); if (validationErrors.Count != 0) { response.ValidationErrors = validationErrors; } else { try { var product = AddProductToDB(request); if (product == null) { throw new NullReferenceException("Product not found"); } response.Product = product; } catch (NullReferenceException) { dbErrors.Add(DatabaseErrors.DB_CONNECTION_FAILED); } response.DBErrors = dbErrors; } return(response); }
public ProductCreateResponse Create(ProductCreateRequest request) { var response = new ProductCreateResponse(); _facade.Create(request.Product); return(response); }
public async Task <ActionResult <Models.Product> > Create(ProductCreateResponse response) { var category = await _context .Categories .Where(c => c.Id == response.CategoryId) .FirstOrDefaultAsync(); if (category is null) { return(NotFound("Category not found")); } var product = new Models.Product { Name = response.Name, Cost = response.Cost, Description = response.Description, Categories = new Models.Category[] { category } }; _context.Add(product); await _context.SaveChangesAsync(); return(product); }