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();
 }
Example #3
0
        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();
        }
Example #4
0
 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);
 }
Example #6
0
 public void Commit()
 {
     _unitOfWorkService.Commit();
 }
 public void AddProduct(Product model)
 {
     _unitOfWorkService.Repository <Product>().Insert(model);
     _unitOfWorkService.Commit();
 }
Example #8
0
 public void Criar(Produto produto)
 {
     Add(produto);
     _uow.Commit();
 }
Example #9
0
 public void Criar(Contato contato)
 {
     Add(contato);
     _uow.Commit();
 }
Example #10
0
 public void Criar(Categoria categoria)
 {
     Add(categoria);
     _uow.Commit();
 }
Example #11
0
 public void Commit()
 {
     _unitOfWork.Commit();
 }