/// <summary>
        ///  Preenche um objeto proposta com todas as informações contidas na base de dados da Proposta e de todos os seus itens.
        /// </summary>
        /// <returns> Objeto Proposta </returns>
        private Proposta fillProposta()
        {
            Proposta proposta = null;

            objTransacoes = new BaseMobile();
            daoProposta   = new DaoProposta();
            daoEmbalagem  = new DaoEmbalagem();

            try
            {
                //Carrega um list com informações gerais sobre a proposta atual na base Mobile.
                listInfoProposta = daoProposta.fillInformacoesProposta();

                //carrega um obj Proposta com a atual proposta na base mobile
                //e com o item top 1 da proposta que ainda não esteja separado.
                proposta = daoProposta.fillPropostaWithTop1Item();

                //Set o total de peças e o total de Itens para o objeto proposta
                proposta.setTotalValoresProposta(Convert.ToDouble(listInfoProposta[4]), Convert.ToDouble(listInfoProposta[3]));

                //Carrega informações de Embalagem para o produto que será trabalhado.
                proposta.ListObjItemProposta[0].Embalagens = daoEmbalagem.carregarEmbalagensProduto(proposta);

                //Set os valores para os atributos auxiliares.
                ProcedimentosLiberacao.inicializarProcedimentos(Convert.ToDouble(listInfoProposta[4]), Convert.ToDouble(listInfoProposta[3]), proposta.ListObjItemProposta[0].Quantidade, proposta.Volumes);

                //Carrega o formulário com as informações que serão manusueadas para a proposta e o item da proposta
                //this.fillCamposForm(proposta.Numero, (string)proposta.RazaoCliente, proposta.Totalpecas, proposta.TotalItens, (string)proposta.ListObjItemProposta[0].Partnumber, (string)proposta.ListObjItemProposta[0].Descricao, (string)proposta.ListObjItemProposta[0].NomeLocalLote, proposta.ListObjItemProposta[0].Quantidade.ToString());
                this.fillCamposForm(proposta);

                //Retorna o objeto proposta o qual terá suas informações trabalhadas do processo de conferencia do item.
                return(proposta);
            }
            catch (ArithmeticException ex)
            {
                StringBuilder sbMsg = new StringBuilder();
                sbMsg.Append("Problemas durante o processamento de informações sobre a proposta.\n");
                sbMsg.AppendFormat("Error : {0}", ex.Message);
                MainConfig.errorMessage(sbMsg.ToString(), "Operação Inválida!");
                throw;
                //return null;
            }
            catch (Exception ex)
            {
                StringBuilder sbMsg = new StringBuilder();
                sbMsg.Append("Problemas durante o processamento de informações sobre a proposta \n");
                sbMsg.AppendFormat("Error : {0}", ex.Message);
                sbMsg.Append("Contate o Administrador do sistema.");
                MainConfig.errorMessage(sbMsg.ToString(), "Sistem Error!");
                throw;
                //return null;
            }
            finally
            {
                //zera o obj transações
                objTransacoes = null;
                daoProposta   = null;
                proposta      = null;
            }
        }
Пример #2
0
        public static Proposta carregarProposta(FrmProposta frm)
        {
            try
            {
                var proposta = new Proposta();
                var ListInformacoesProposta = new List <string>();
                var daoProposta             = new DaoProposta();
                var daoEmbalagem            = new DaoEmbalagem();

                //Carrega um list com informações gerais sobre a proposta atual na base Mobile.
                ListInformacoesProposta = daoProposta.fillInformacoesProposta();

                //carrega um obj Proposta com a atual proposta na base mobile
                //e com o item top 1 da proposta.
                proposta = daoProposta.fillPropostaWithTop1Item();

                //Set o total de peças e o total de Itens para o objeto proposta
                proposta.setTotalValoresProposta(Convert.ToDouble(ListInformacoesProposta[4]), Convert.ToDouble(ListInformacoesProposta[3]));

                //Carrega informações de Embalagem para o produto que será trabalhado.
                proposta.ListObjItemProposta[0].Embalagens = daoEmbalagem.carregarEmbalagensProduto(proposta);

                //Set os valores para os atributos auxiliares.
                ProcedimentosLiberacao.inicializarProcedimentos(Convert.ToDouble(ListInformacoesProposta[4]), Convert.ToDouble(ListInformacoesProposta[3]), proposta.ListObjItemProposta[0].Quantidade, proposta.Volumes);

                //Carrega o formulário com as informações que serão manusueadas para a proposta e o item da proposta
                //this.fillCamposForm(proposta.Numero, (string)proposta.RazaoCliente, proposta.Totalpecas, proposta.TotalItens, (string)proposta.ListObjItemProposta[0].Partnumber, (string)proposta.ListObjItemProposta[0].Descricao, (string)proposta.ListObjItemProposta[0].NomeLocalLote, proposta.ListObjItemProposta[0].Quantidade.ToString());
                frm.fillCamposForm(proposta);

                //Retorna o objeto proposta o qual terá suas informações trabalhadas do processo de conferencia do item.
                return(proposta);
            }
            catch (ArithmeticException ex)
            {
                throw ex;
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
        /// <summary>
        /// Realiza todos os procedimentos nescessários para carregar o próximo item a ser separado.
        /// </summary>
        ///
        /// <returns>
        ///          TRUE --> caso exista um próximo item a ser trabalhado
        ///          FALSE --> caso não exista mais items para serem trabalhados.
        /// </returns>
        private bool nextItemProposta()
        {
            bool hasItem = false;

            daoItemProposta = new DaoProdutoProposta();
            daoEtiqueta     = new DaoEtiqueta();
            objTransacoes   = new BaseMobile();

            try
            {
                this.clearParaProximoItem();
                //processa Quantidade de itens
                ProcedimentosLiberacao.decrementaQtdTotalItens(1);
                //processa qunatidade de peças
                ProcedimentosLiberacao.decrementaQtdTotalPecas(objProposta.ListObjItemProposta[0].Quantidade);
                //seta status para separado
                ProcedimentosLiberacao.setStatusProdutoParaSeparado(objProposta.ListObjItemProposta[0]);
                //grava informações do item na base de dados mobile
                daoItemProposta.updateStatusItemProposta(objProposta.ListObjItemProposta[0]);

                ////ESTE TRECHO TALVES ESTEJA SENDO DESNECESSÀRIO.
                ////ANALIZAR MELHOR Action SUA UTILIZACAO
                //daoEtiqueta.insertSequencia(ProcedimentosLiberacao.EtiquetasLidas);


                //inseri informações das etiquetas referente ao produto liberado em formato Xml
                daoItemProposta.updateXmlItemProposta(Etiqueta.gerarXmlItensEtiquetas(ProcedimentosLiberacao.EtiquetasLidas), objProposta.ListObjItemProposta[0].CodigoItemProposta);

                //carrega próximo item
                if (ProcedimentosLiberacao.TotalItens > 0)
                {
                    ProdutoProposta prod = daoItemProposta.fillTop1ItemProposta();

                    //Carrega informações de Embalagem para o produto que será trabalhado.
                    prod.Embalagens = daoEmbalagem.carregarEmbalagensProduto(prod);

                    if (prod != null)
                    {
                        hasItem = true;

                        objProposta.setNextItemProposta(prod);
                    }
                    else
                    {
                        hasItem = false;
                    }
                }
                else // CASO não tenha um próximo item
                {
                    hasItem = false;
                }

                //Se existir um próximo item
                if (hasItem)
                {
                    //seta Parametros para iniciar leitura do próximo item
                    ProcedimentosLiberacao.inicializarProcedimentosProximoItem(objProposta.ListObjItemProposta[0].Quantidade);

                    //recarrega o form com as informações do próximo item.
                    this.fillCamposForm(objProposta, ProcedimentosLiberacao.TotalPecas, ProcedimentosLiberacao.TotalItens);
                }
                else
                {
                    this.clearFormulario(true, true);
                }
            }
            catch (SqlCeException Ex)
            {
                MessageBox.Show(Ex.Message);
            }
            catch (Exception ex)
            {
                throw new Exception("Erro ao carregar próximo item!", ex);
            }
            finally
            {
                daoEtiqueta     = null;
                daoItemProposta = null;
            }

            return(hasItem);
        }
Пример #4
0
        /// <summary>
        /// Realiza todos os procedimentos nescessários para carregar o próximo item a ser separado.
        /// </summary>
        ///
        /// <returns>
        ///          TRUE --> caso exista um próximo item a ser trabalhado
        ///          FALSE --> caso não exista mais items para serem trabalhados.
        /// </returns>
        public static bool nextItemProposta(Proposta objProposta, FrmProposta frm)
        {
            bool hasItem         = false;
            var  daoItemProposta = new DaoProdutoProposta();
            var  daoEtiqueta     = new DaoEtiqueta();
            var  objTransacoes   = new BaseMobile();

            try
            {
                frm.clearParaProximoItem();

                tratarParaProximoItem(objProposta);
                //grava informações do item na base de dados mobile
                daoItemProposta.updateStatusItemProposta(objProposta.ListObjItemProposta[0]);
                //inseri informações das etiquetas referente ao produto liberado em formato Xml
                daoItemProposta.updateXmlItemProposta(montarXmlProcedimento(), objProposta.ListObjItemProposta[0].CodigoItemProposta);

                //carrega próximo item
                if (frm.temItensConferir())
                {
                    var prod         = daoItemProposta.itemATrabalhar();
                    var daoEmbalagem = new DaoEmbalagem();

                    if (prod != null)
                    {
                        //Carrega informações de Embalagem para o produto que será trabalhado.
                        prod.Embalagens = daoEmbalagem.carregarEmbalagensProduto(prod);

                        hasItem = true;

                        objProposta.setNextItemProposta(prod);
                    }
                    else
                    {
                        hasItem = false;
                    }
                }
                else // CASO não tenha um próximo item
                {
                    hasItem = false;
                }

                //Se existir um próximo item
                if (hasItem)
                {
                    //seta Parametros para iniciar leitura do próximo item
                    inicializarProcedimentosProximoItem(objProposta.ListObjItemProposta[0].Quantidade);

                    //recarrega o form com as informações do próximo item.
                    //frm.fillCamposForm(objProposta, TotalPecas, TotalItens);
                    frm.fillCamposForm(objProposta);
                }
                else
                {
                    frm.clearFormulario(true, true);
                }
            }
            catch (SqlCeException Ex)
            {
                MessageBox.Show(Ex.Message);
            }
            catch (Exception ex)
            {
                throw new Exception("Erro ao carregar próximo item!", ex);
            }
            finally
            {
                daoEtiqueta     = null;
                daoItemProposta = null;
                objTransacoes   = null;
            }

            return(hasItem);
        }