public ResultViewModel Post([FromBody] EditorProductViewModel model, [FromServices] ICategoryRepository categoryRepository) { model.Validate(); if (model.Invalid) { return(new ResultViewModel() { Success = false, Message = "Não foi possível cadastrar o produto", Data = model }); } if (categoryRepository.NotExists(model.CategoryId)) { model.AddNotification("CategoryId", "Categoria não encontrada"); return(new ResultViewModel() { Success = false, Message = "Não foi possível cadastrar o produto", Data = model }); } var product = new Product() { Title = model.Title, Description = model.Description, Price = model.Price, Quantity = model.Quantity, Image = model.Image, CategoryId = model.CategoryId, CreateDate = DateTime.Now, LastUpdateDate = DateTime.Now }; _productRepository.Create(product); return(new ResultViewModel() { Success = true, Message = "Produto criado com sucesso.", Data = product }); }