public bool CreateEntity(T entity) { IGenericRepository <T> repository = (IGenericRepository <T>)_uow.GetRepository <T>(); repository.Insert(entity); _uow.Commit(); return(true); }
public void Registrar(Usuario usuario) { if (Get(el => el.Login == usuario.Login) != null) { throw new Exception("Usuário já existe!"); } Add(usuario); _uow.Commit(); }
public void RequestOrder(CartDTO cart) { IStockService stockService = _uow.Service <StockService>(); IProductService productService = _uow.Service <ProductService>(); IUserService userService = _uow.Service <UserService>(); _uow.BeginTransaction(); //Descontar itens do estoque foreach (var requestedProduct in cart.Cart) { //Loop na qtd (sim, poderia ser melhor pensando em performance, mas para o teste vou deixar assim mesmo..) for (int i = 1; i <= requestedProduct.Qty; i++) { //Checando se há saldo var product = productService.Get(_ => _.Id == requestedProduct.Id); var stock = stockService.Get(_ => _.Id == product.Stock.Id); if (stock.Qty <= 0) { _uow.RollBack(); throw new Exception(String.Format("Produto {0} com falta de estoque", product.Name)); } stockService.DecStock(product); } //Adicionando movimentação de estoque _repository.Add(new StockMov() { DateTimeStamp = DateTime.Now, Product = productService.Get(_ => _.Id == requestedProduct.Id), Qty = requestedProduct.Qty * -1, User = userService.Get(_ => _.Id == 1) //usuário qualquer para o teste }); } _uow.Commit(); }
public void AddCategory(Category model) { _unitOfWorkService.Repository <Category>().Insert(model); _unitOfWorkService.Commit(); }
public bool CreateEmployee(Employees data) { _uow.EmployeeRepo.Insert(data); _uow.Commit(); return(true); }
public void Commit() { _unitOfWorkService.Commit(); }
public void AddProduct(Product model) { _unitOfWorkService.Repository <Product>().Insert(model); _unitOfWorkService.Commit(); }
public void Criar(Produto produto) { Add(produto); _uow.Commit(); }
public void Criar(Contato contato) { Add(contato); _uow.Commit(); }
public void Criar(Categoria categoria) { Add(categoria); _uow.Commit(); }
public void Commit() { _unitOfWork.Commit(); }