/// <summary> /// Contrutor recebe um array com os valores a serem passados para cada atributo do objEtiqueta; /// </summary> /// <param name="arrayEtiqueta">Array no seguite formato /// "EAN13:?|LOTE:?|SEQ:?|QTD:?" /// </param> public Etiqueta(Array arrayEtiqueta,Tipo tipoEtiqueta) { try { switch (tipoEtiqueta) { case Tipo.QRCODE: foreach (string item in arrayEtiqueta) { string strItem = item.Substring(0, item.IndexOf(":", 0)); if (strItem == "PNUMBER") { PartnumberEtiqueta = item.Substring(item.IndexOf(":", 0) + 1); } else if (strItem == "DESCRICAO") { DescricaoProdutoEtiqueta = item.Substring(item.IndexOf(":", 0) + 1); } else if (strItem == "EAN13") { Ean13Etiqueta = Convert.ToInt64(item.Substring(item.IndexOf(":", 0) + 1)); } else if (strItem == "LOTE") { LoteEtiqueta = item.Substring(item.IndexOf(":", 0) + 1); } else if (strItem == "SEQ") { SequenciaEtiqueta = Convert.ToInt32(item.Substring(item.IndexOf(":", 0) + 1)); } else if (strItem == "QTD") { QuantidadeEtiqueta = Convert.ToDouble(item.Substring(item.IndexOf(":", 0) + 1)); } } break; case Tipo.BARRAS: foreach (string item in arrayEtiqueta) { daoProduto = new DaoProduto(); this.TipoEtiqueta = Tipo.BARRAS; Ean13Etiqueta = Convert.ToInt64(item); Etiqueta aux = daoProduto.recuperarInformacoesPorEan13Etiqueta(this); if(aux !=null) { DescricaoProdutoEtiqueta = aux.DescricaoProdutoEtiqueta; PartnumberEtiqueta = aux.PartnumberEtiqueta; Ean13Etiqueta = aux.Ean13Etiqueta; LoteEtiqueta = aux.LoteEtiqueta; SequenciaEtiqueta = aux.SequenciaEtiqueta; QuantidadeEtiqueta = aux.QuantidadeEtiqueta; } } break; default: MainConfig.errorMessage("Tipo de Etiqueta indefinido!!", "Leitura Etiquetas"); break; } DataHoraValidacao = DateTime.Now; this.TipoEtiqueta = tipoEtiqueta; } catch (Exception ex) { throw ex; } }
void mnuOpcoes_Terminar_Click(object sender, System.EventArgs e) { try { this.newLogin(new FrmAcao()); } catch (Exception ex) { MainConfig.errorMessage(ex.Message, "Logout"); } finally { daoItemProposta = null; daoProduto = null; } }
/// <summary> /// Menu evento ao clicar em Opções/Logout /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void mnuOpcoes_Logout_Click(object sender, EventArgs e) { try { if (this.newLogin(new frmLogin(),true )!= DialogResult.Cancel) { MainConfig.UserOn.registrarAcesso(Usuario.statusLogin.NAOLOGADO); } } catch (Exception ex) { MainConfig.errorMessage(ex.Message, "Logout"); } finally { daoItemProposta = null; daoProduto = null; } }
/// <summary> /// Reliza todos os processos nescessários para efetuar a carga de dados na base Mobile. /// </summary> private void carregaBaseMobile() { objTransacoes = new BaseMobile(); objProposta = new Proposta(); daoItemProposta = new DaoProdutoProposta(); daoProposta = new DaoProposta(); daoProduto = new DaoProduto(); daoEmbalagem = new DaoEmbalagem(); try { //Limpa a Base. objTransacoes.clearBaseMobile(); //Carrega um objeto Proposta e inicia todo o procedimento. //Caso não exista propostas a serem liberadas gera um exception //onde será feito os tratamentos para evitar o travamento do sistema. if ((objProposta = daoProposta.fillTop1PropostaServidor()) != null) { daoProposta.InsertOrUpdatePickingMobile(objProposta, MainConfig.CodigoUsuarioLogado, Proposta.StatusLiberacao.TRABALHANDO, DateTime.Now); //recupera o codigoPickingMobile da proposta trabalhada. objProposta.CodigoPikingMobile = daoProposta.selectMaxCodigoPickingMobile(objProposta.Codigo); //Realiza o Insert na Base Mobile daoProposta.insertProposta(objProposta, MainConfig.CodigoUsuarioLogado); ////Recupera List com itens da proposta //this.listaProdutoProposta = daoItemProposta.fillListItensProposta((int)objProposta.Codigo).ToList<ProdutoProposta>(); ////Insert na Base Mobile tabela tb0002_ItensProsposta //daoItemProposta.insertItemProposta(listaProdutoProposta.ToList<ProdutoProposta>()); //Recupera List com itens da proposta //Insert na Base Mobile tabela tb0002_ItensProposta daoItemProposta.insertItemProposta(daoItemProposta.fillListItensProposta((int)objProposta.Codigo).ToList<ProdutoProposta>()); //Recupera informações sobre os produtos existentes na proposta //this.listaProduto = daoProduto.fillListProduto((int)objProposta.Codigo).ToList<Produto>(); //daoProduto.insertProdutoBaseMobile(listaProduto.ToList<Produto>()); //Insert na base Mobile tabela tb0003_Produtos //Recupera informações sobre os produtos existentes na proposta daoProduto.insertProdutoBaseMobile(daoProduto.fillListProduto((int)objProposta.Codigo).ToList<Produto>()); //Armazena informações de embalagens do produto na base mobile. daoEmbalagem.insertEmbalagemBaseMobile(daoEmbalagem.cargaEmbalagensProduto((int)objProposta.Codigo)); //Carrega Informações das Embalagens de Separação. ProcedimentosLiberacao.ListEmbalagensSeparacao = daoEmbalagem.carregarEmbalagensSeparacao(); } else { throw new NoNewPropostaException("Não existem novas propostas a serem liberadas!!"); } } catch (SqlQueryExceptions ex) { this.exitOnError(ex.Message, "Próxima Proposta"); } catch (NoNewPropostaException ex) { this.exitOnError(ex.Message, "Próxima Proposta"); } catch (SqlCeException sqlEx) { StringBuilder strBuilder = new StringBuilder(); strBuilder.Append("Ocorreram problemas durante a carga de dados na tabela tb0002_ItensProposta. \n"); strBuilder.Append("O procedimento não pode ser concluído"); strBuilder.AppendFormat("Erro : {0}", sqlEx.Errors); strBuilder.AppendFormat("Description : {0}", sqlEx.Message); MainConfig.errorMessage(strBuilder.ToString(), "SqlException!!"); } catch (Exception ex) { StringBuilder sbMsg = new StringBuilder(); sbMsg.Append("Ocorreram problemas durante a carga de dados para a Base Mobile \n"); sbMsg.AppendFormat("Error : {0}", ex.Message); sbMsg.Append("\nContate o Administrador do sistema."); MainConfig.errorMessage(sbMsg.ToString(), "Sistem Error!"); } finally { objTransacoes = null; objProposta = null; daoProposta = null; daoProduto = null; daoItemProposta = null; daoEmbalagem = null; } }
/// <summary> /// Menu evento ao clicar em Opções/Logout /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void mnuOpcoes_Logout_Click(object sender, EventArgs e) { try { this.newLogin(new frmLogin()); } catch (Exception ex) { MainConfig.errorMessage(ex.Message, "Logout"); } finally { daoItemProposta = null; daoProduto = null; } }
/// <summary> /// Reliza todos os processos nescessários para efetuar a carga de dados na base Mobile. /// </summary> public static void carregaBaseMobile(FrmProposta frm) { var objTransacoes = new BaseMobile(); var objProposta = new Proposta(); var daoItemProposta = new DaoProdutoProposta(); var daoProposta = new DaoProposta(); var daoProduto = new DaoProduto(); var daoEmbalagem = new DaoEmbalagem(); //LIMPA INFORMAÇÕES RESULTANTE DE OUTROS PRODUTOS JÁ CONFERIDOS ProcedimentosLiberacao.limpar(); try { //Limpa a Base. objTransacoes.clearBaseMobile(); //Carrega um objeto Proposta e inicia todo o procedimento. //Caso não exista propostas a serem liberadas gera um exception //onde será feito os tratamentos para evitar o travamento do sistema. if ((objProposta = daoProposta.fillTop1PropostaServidor()) != null) { daoProposta.InsertOrUpdatePickingMobile(objProposta, MainConfig.UserOn.Codigo, Proposta.StatusLiberacao.TRABALHANDO, DateTime.Now); //recupera o codigoPickingMobile da proposta trabalhada. objProposta.CodigoPikingMobile = daoProposta.selectMaxCodigoPickingMobile(objProposta.Codigo); //Realiza o Insert na Base Mobile daoProposta.insertProposta(objProposta, MainConfig.UserOn.Codigo); //Recupera List com itens da proposta //Insert na Base Mobile tabela tb0002_ItensProposta daoItemProposta.carregarBaseMobileItens(daoItemProposta.fillListItensProposta((int)objProposta.Codigo).ToList<ProdutoProposta>()); //Insert na base Mobile tabela tb0003_Produtos //Recupera informações sobre os produtos existentes na proposta daoProduto.insertProdutoBaseMobile(daoProduto.fillListProduto((int)objProposta.Codigo).ToList<Produto>()); //Armazena informações de embalagens do produto na base mobile. daoEmbalagem.insertEmbalagemBaseMobile(daoEmbalagem.cargaEmbalagensProduto((int)objProposta.Codigo)); //Carrega Informações das Embalagens de Separação. //Carrega Quantidade das Embalagens utilizadas nos volumes da separação ProcedimentosLiberacao.ListEmbalagensSeparacao = daoEmbalagem.carregarInformacoesEmbalagensUtilizadas((Int32)objProposta.CodigoPikingMobile, daoEmbalagem.carregarEmbalagensSeparacao()); } else { throw new NoNewPropostaException("Não existem novas propostas a serem liberadas!!"); } } catch (SqlQueryExceptions ex) { frm.exitOnError(ex.Message, "Próxima Proposta", false); } catch (NoNewPropostaException ex) { frm.exitOnError(ex.Message, "Próxima Proposta", false); } catch (SqlCeException sqlEx) { ProcedimentosLiberacao.interromperLiberacao(objProposta); daoProposta.updatePropostaTbPickingMobile(objProposta, Proposta.StatusLiberacao.NAOFINALIZADO, true, false); StringBuilder strBuilder = new StringBuilder(); strBuilder.Append("O procedimento não pode ser concluído.\n"); strBuilder.AppendFormat("Erro : {0}", sqlEx.Errors); strBuilder.AppendFormat("Description : {0}", sqlEx.Message); frm.exitOnError(strBuilder.ToString(), "SqlException!!", false); } catch (Exception ex) { ProcedimentosLiberacao.interromperLiberacao(objProposta); daoProposta.updatePropostaTbPickingMobile(objProposta, Proposta.StatusLiberacao.NAOFINALIZADO, true, false); StringBuilder strBuilder = new StringBuilder(); strBuilder.Append("O procedimento não pode ser concluído.\n"); strBuilder.AppendFormat(" Descrição: {0}", ex.Message); strBuilder.Append("\nContate o Administrador do sistema."); frm.exitOnError(strBuilder.ToString(), "SqlException!!", false); } finally { objTransacoes = null; objProposta = null; daoProposta = null; daoProduto = null; daoItemProposta = null; daoEmbalagem = null; } }