public void Salvar(Compra compra) { foreach (var compraItem in compra.Itens) _compraItemDomainService.ValidarProdutoExistente(compraItem); // Para usar BeginTransation teria que implementar uma padrão Unit of Work e deixar disponível aki // A Application, que deve gerenciar a Transation try { // BeginTransation _compraRepository.Add(compra); foreach (var compraItem in compra.Itens) _compraItemRepository.Add(compraItem); // Commit } catch { // RollBack throw; } }
internal CompraItem(int idCompraItem, Compra compra, Produto produto, int quantidade, decimal preco) { this.IdCompraItem = idCompraItem; this.Compra = compra; this.Produto = produto; this.Quantidade = quantidade; this.Preco = preco; }
public CompraItem(Compra compra, Produto produto, int quantidade, decimal preco) { if (compra == null) throw new ArgumentNullException("compra"); this.Compra = compra; AlterarProduto(produto, quantidade, preco); }
public static Compra OutCompra(CompraModel compraModel) { var compra = new Compra(new Fornecedor(compraModel.IdFornecedor)); foreach (var compraItemModel in compraModel.Itens) compra.AdicionarItem( CompraFactory.CreateItem( compra, new Produto(compraItemModel.IdProduto), compraItemModel.Quantidade, compraItemModel.Preco)); return compra; }
public static CompraItem CreateItem(IDataReader dataReader, Compra compra) { var compraItem = new CompraItem( (int)dataReader["IdCompraItem"], compra, new Produto((int)dataReader["IdProduto"]), (int)dataReader["Quantidade"], (decimal)dataReader["Preco"]); compra.AdicionarItem(compraItem); return compraItem; }
public static CompraModel OutCompraModel(Compra compra) { var compraModel = new CompraModel { IdFornecedor = compra.Fornecedor.IdFornecedor, FornecedorNome = compra.Fornecedor.Nome, DataCadastro = compra.DataCadastro }; foreach (var compraItem in compra.Itens) compraModel.Itens.Add(new CompraItemModel { IdProduto = compraItem.Produto.IdProduto, Preco = compraItem.Preco, Quantidade = compraItem.Quantidade }); return compraModel; }
public CompraException(string mensagem, Compra compra) : base(mensagem) { this.Compra = compra; }
public static CompraItem CreateItem(Compra compra, Produto produto, int quantidade, decimal preco) { return new CompraItem(compra, produto, quantidade, preco); }