public Boolean cadastrarSolicitacao(int codCliente, string msg, int codEngenheiroCampo, string materiais ) { SolicitacaoMateriais objSolicitacao = FactoryClasses.criarSolicitacaoMateriais(); Cliente objCliente = FactoryClasses.criarCliente(); objCliente.Codigo = codCliente; objSolicitacao.Cliente = objCliente; Mensagem objMsg = FactoryClasses.criarMensagem(); objMsg.Msg = msg; Collection <Mensagem> objMsgColecao = new Collection <Mensagem>(); objMsgColecao.Add(objMsg); objSolicitacao.Msg = objMsgColecao; EngenheiroCampo objEngCampo = FactoryClasses.criarEngenheiroCampo(); objEngCampo.Codigo = codEngenheiroCampo; objSolicitacao.EngenheiroCampo = objEngCampo; //Pega cada linha de item string[] arrMateriaisLinha = materiais.Split('§'); //Faz um for em cada linha Collection <Materiais> objMateriaisColecao = new Collection <Materiais>(); for (int i = 0; i < arrMateriaisLinha.Length - 1; i++) { string[] arrMateriais = arrMateriaisLinha[i].Split('|'); //Faz um for na quantidade e adiciona quantos itens na coleçao correspondendte a quantidade for (int j = 1; j <= Convert.ToInt32(arrMateriais[1]); j++) { Materiais objMateriais = FactoryClasses.criarMateriais(); objMateriais.Codigo = Convert.ToInt32(arrMateriais[0]); objMateriaisColecao.Add(objMateriais); } } objSolicitacao.Materiais = objMateriaisColecao; SolicitacaoMateriaisStatus objSolicitacaoStatus = FactoryClasses.criarSolicitacaoMateriaisStatus(); objSolicitacaoStatus.Codigo = 1; objSolicitacaoStatus.Descricao = "Aguardando validação do gestor"; objSolicitacao.Status = objSolicitacaoStatus; objSolicitacao.DataHora = DateTime.Now.ToString("dd/MM/yyyy HH:mm:ss"); SolicitacaoMateriaisBll objSolicitacaoBll = FactoryBll.criarSolicitacaoMateriaisBll(); return(objSolicitacaoBll.cadastrarSolicitacao(objSolicitacao)); }
public Boolean excluirSolicitacao(int codSolicitacao) { SolicitacaoMateriaisBll objSolicitacaoBll = FactoryBll.criarSolicitacaoMateriaisBll(); SolicitacaoMateriais objSolicitacao = FactoryClasses.criarSolicitacaoMateriais(); objSolicitacao.Codigo = codSolicitacao; return(objSolicitacaoBll.excluirSolicitacao(objSolicitacao)); }
public void cadastrarPedido(int codSolicitacao, string materiaisFornecedores) { SolicitacaoMateriais objSolicitacao = FactoryClasses.criarSolicitacaoMateriais(); objSolicitacao.Codigo = codSolicitacao; PedidoBll objPedidoBll = FactoryBll.criarPedidoBll(); objPedidoBll.cadastrarPedido(objSolicitacao, materiaisFornecedores); }
public Boolean atualizarSolicitacao(SolicitacaoMateriais objSolicitacao) { SolicitacaoMateriais objSolicitacaoProt = FactoryClasses.criarSolicitacaoMateriais(); objSolicitacaoProt.Codigo = objSolicitacao.Codigo; try { db = ServidorSingleton.obterServidor().OpenClient(); IObjectSet leitor = db.QueryByExample(objSolicitacaoProt); if (leitor.HasNext()) { SolicitacaoMateriais objSolicitacaoCache = (SolicitacaoMateriais)leitor.Next(); objSolicitacaoCache.GestorObra = objSolicitacao.GestorObra; int i = 0; foreach (Materiais material in objSolicitacaoCache.Materiais) { if (material.Codigo == objSolicitacao.Codigo) { Fornecedor objFornecedor = FactoryClasses.criarFornecedor(); objFornecedor.Codigo = objSolicitacao.Materiais[i].Fornecedor.Codigo; material.Fornecedor = objFornecedor; } i++; } objSolicitacaoCache.Materiais = objSolicitacao.Materiais; objSolicitacaoCache.Status = objSolicitacao.Status; objSolicitacaoCache.DataEntrega = objSolicitacao.DataEntrega; objSolicitacaoCache.NumNotaFiscal = objSolicitacao.NumNotaFiscal; objSolicitacaoCache.DataEntrega = objSolicitacao.DataEntrega; objSolicitacaoCache.Msg = objSolicitacao.Msg; db.Store(objSolicitacaoCache); db.Commit(); db.Close(); db.Dispose(); return(true); } else { db.Close(); db.Dispose(); return(false); } } catch (Exception e) { db.Rollback(); db.Close(); db.Dispose(); throw new Exception("Erro atualizando a solicitação :" + e.Message); } }
public Collection <SolicitacaoMateriais> listarSolicitacoes() { db = ServidorSingleton.obterServidor().OpenClient(); SolicitacaoMateriais objSolicitacaoProt = FactoryClasses.criarSolicitacaoMateriais(); Collection <SolicitacaoMateriais> objSolicitacaoColecao = new Collection <SolicitacaoMateriais>(); IObjectSet leitor = db.QueryByExample(objSolicitacaoProt); foreach (SolicitacaoMateriais item in leitor) { objSolicitacaoColecao.Add(item); } leitor = null; db.Close(); db.Dispose(); return(objSolicitacaoColecao); }
public void cadastrarPedido(SolicitacaoMateriais objSolicitacao) { //Atualiza a solicitação no db SolicitacaoMateriaisDAO objSolicitacaoDAO = FactoryDAO.criarSolicitacaoMateriaisDAO(); if (objSolicitacaoDAO.atualizarSolicitacao(objSolicitacao)) { SolicitacaoMateriais objSolicitacaoProt = FactoryClasses.criarSolicitacaoMateriais(); objSolicitacaoProt.Codigo = objSolicitacao.Codigo; db = ServidorSingleton.obterServidor().OpenClient(); IObjectSet leitor = db.QueryByExample(objSolicitacaoProt); if (leitor.HasNext()) { objSolicitacaoProt = null; objSolicitacaoProt = (SolicitacaoMateriais)leitor.Next(); } leitor = null; Collection <Pedido> objPedidoColecao = new Collection <Pedido>(); foreach (Materiais material in objSolicitacaoProt.Materiais) { Pedido objPedido = FactoryClasses.criarPedido(); objPedido.SolicitacaoMateriais = objSolicitacaoProt; Collection <Materiais> objMateriaisColecao = new Collection <Materiais>(); objMateriaisColecao.Add(material); objPedido.Materiais = objMateriaisColecao; objPedido.Codigo = obtemNovoId(); db = ServidorSingleton.obterServidor().OpenClient(); db.Store(objPedido); db.Commit(); } //Le os pedidos Pedido objPedidoProt = FactoryClasses.criarPedido(); objPedidoProt.SolicitacaoMateriais = objSolicitacaoProt; db = ServidorSingleton.obterServidor().OpenClient(); IObjectSet leitorPedidoCache = db.QueryByExample(objPedidoProt); int codFornecedor = 0; int contador = 0; int codPedido = 0; while (leitorPedidoCache.HasNext()) { Pedido objPedidoLer = (Pedido)leitorPedidoCache.Next(); if (contador == 0) { codFornecedor = objPedidoLer.Materiais[0].Fornecedor.Codigo; } else { if (codFornecedor == objPedidoLer.Materiais[0].Fornecedor.Codigo) { //Retira os itens deste pedido e coloca no anterior Collection <Materiais> objMateriaisColecaoTmp = new Collection <Materiais>(); foreach (Materiais item in objPedidoLer.Materiais) { objMateriaisColecaoTmp.Add(item); } //exclui o pedido atual db.Delete(objPedidoLer); //Carrega o anterior em cache Pedido p = FactoryClasses.criarPedido(); p.Codigo = codPedido; IObjectSet leitorPedido2 = db.QueryByExample(p); if (leitorPedido2.HasNext()) { p = null; p = (Pedido)leitorPedido2.Next(); //Atualiza o pedido anterior com os dados do pedido que foi apagado foreach (Materiais item in p.Materiais) { objMateriaisColecaoTmp.Add(item); } p.Materiais = objMateriaisColecaoTmp; db.Store(p); db.Commit(); } leitorPedido2 = null; } } codFornecedor = objPedidoLer.Materiais[0].Fornecedor.Codigo; codPedido = objPedidoLer.Codigo; contador++; } leitorPedidoCache = null; db.Close(); db.Dispose(); } }