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)); }