예제 #1
0
        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));
        }