Пример #1
0
        private bool GravarOS()
        {
            tblOS table  = new tblOS();
            bool  retval = true;

            try
            {
                table.cmpIdOS = ViewState["id"].ToString();
                table.cmpDtInicioAtendimento    = TxtInicioAtendimento.Text + " " + txtHoraIni.Text + ":00";
                table.cmpDtConclusaoAtendimento = TxtConclusaoAtendimento.Text + " " + txtHoraFim.Text + ":00";
                table.cmpNoAtestador            = TxtAtestador.Text;
                table.cmpNoExecutor             = TxtExecutor.Text;
                table.cmpDcObservacaoConclusao  = TiraCaractEspecial(txtObservacaoConclusao.Text);
                table.cmpInSatisfacaoCliente    = rbSatisfacaoCliente.SelectedValue;
                table.cmpNoUsuario       = ((HzLibGeneral.Util.HzLogin)Session["login"]).cmpNoUsuario;
                table.cmpNuMatTecRespCEF = txtMatriculaGestor.Text;

                retval = table.GravarConclusaoOS(Global.GetConnection());

                // Gera arquivo anexo, com dados da conclusão da O.S, e envia por email ao cliente.
                if (retval && ViewState["EdArqAnexo"].ToString() != "")
                {
                    table.cmpNuDemandaCliente  = ViewState["cmpNuDemandaCliente"].ToString();
                    table.cmpNuOS              = ViewState["cmpNuOs"].ToString();
                    table.cmpNuObra            = ViewState["cmpNuObra"].ToString();
                    table.cmpNoArquivoEnviar   = ViewState["cmpNuDemandaCliente"].ToString().PadLeft(20, '0') + "_3.txt";
                    table.cmpEdArqAnexoCliente = ViewState["EdArqAnexo"].ToString();
                    table.cmpEeCliente         = ViewState["cmpEeCliente"].ToString();
                    table.cmpDtAbertura        = DateTime.Now.ToString();

                    table.GerarArqProtocoloCEF("3");
                    table.EnviarEmailCliente(Global.GetConnection());
                }
            }
            catch (Exception ex)
            {
                Global.ShowError(Global.Title, ex);
                retval = false;
            }
            return(retval);
        }
Пример #2
0
        /// <summary>
        /// Grava dados da OS na tblOS.
        /// </summary>
        private bool GravarOS()
        {
            tblOS table  = null;
            bool  retval = true;

            try
            {
                if (ViewState["cmpIdOS"].ToString() == "0" && txtNuDemanda.Text != "")
                {
                    DataTable tb = tblOS.VerificaNumeroDemanda(Global.GetConnection(), cmbObra.SelectedValue, txtNuDemanda.Text);
                    if (tb.Rows[0]["Mensagem"].ToString() != "")
                    {
                        CaixaMensagem.Mostar(Mensagem.Tipo.Erro, tb.Rows[0]["Mensagem"].ToString());
                        retval = false;
                    }
                }

                if (retval)
                {
                    table         = new tblOS();
                    table.cmpIdOS = ViewState["cmpIdOS"].ToString();
                    table.cmpCoDescricaoSolicitacao = cmbSolicitacao.SelectedValue;
                    table.cmpCoObra                  = cmbObra.SelectedValue;
                    table.cmpCoObraPavimento         = cmbObraPavimento.SelectedValue;
                    table.cmpCoOrigemOS              = cmbOrigemOS.SelectedValue;
                    table.cmpDcLocal                 = txtLocal.Text;
                    table.cmpNoSetor                 = txtSetor.Text;
                    table.cmpIdFormaSolicitacao      = cmbFormaSolicitacao.SelectedValue;
                    table.cmpDcObservacoes           = txtObservacoes.Text;
                    table.cmpNoSolicitante           = txtSolicitante.Text;
                    table.cmpEeEmail                 = txtEmail.Text;
                    table.cmpNuTelefone              = txtTelefone.Text;
                    table.cmpNoUsuario               = ((HzLibGeneral.Util.HzLogin)Session["login"]).cmpNoUsuario;
                    table.cmpNuDemandaCliente        = txtNuDemanda.Text.TrimStart('0');
                    table.cmpIdPreventivaConfirmacao = ViewState["cmpIdPreventivaAgenda"].ToString();

                    using (DataTable tbl = table.GravarOS(Global.GetConnection()))
                    {
                        if (tbl != null && tbl.Rows.Count > 0)
                        {
                            lblNumeroOS.Visible = true;
                            lblNumeroOS.Text    = "Ordem de Serviço Número ==> " + tbl.Rows[0][0].ToString();
                            txtDtAbertura.Text  = tbl.Rows[0]["cmpDtAbertura"].ToString();
                            controlaSituacaoOS(tbl.Rows[0]["cmpStOS"].ToString());

                            grdOSAndamento.DataSource = loadOSAndamento();
                            grdOSAndamento.DataBind();

                            table.cmpDtAbertura = txtDtAbertura.Text;
                            table.cmpNuOS       = tbl.Rows[0][0].ToString();
                            table.cmpNuObra     = ViewState["cmpNuObra"].ToString();

                            // Verifica se o cliente recebe arquivo anexo em email quando abre ordem de serviço.
                            if (ViewState["cmpEdArqAnexoCliente"].ToString() != "" && ViewState["cmpIdOS"].ToString() == "0")
                            {
                                table.cmpNoArquivoEnviar   = ViewState["NomeArquivo"].ToString().Replace("_1.txt", "_2.txt");
                                table.cmpEdArqAnexoCliente = ViewState["cmpEdArqAnexoCliente"].ToString();
                                table.cmpEeCliente         = ViewState["cmpEeCliente"].ToString();

                                table.GerarArqProtocoloCEF("2");
                                table.EnviarEmailCliente(Global.GetConnection());

                                // Move o arquivo de pasta recebido para a pasta de admitidos.
                                ViewState["NomeArquivo"].ToString().Replace("_2.txt", "_1.txt");
                                File.Move(Path.Combine(ViewState["cmpEdArqRecebidoCliente"].ToString(), ViewState["NomeArquivo"].ToString()),
                                          Path.Combine(ViewState["cmpEdArqAdmitidoCliente"].ToString(), ViewState["NomeArquivo"].ToString()));
                            }

                            ViewState["cmpIdOS"] = tbl.Rows[0]["cmpIdOS"];
                        }
                        else
                        {
                            retval = false;
                        }
                    }
                }
                return(retval);
            }
            catch (Exception ex)
            {
                Global.ShowError(Global.Title, ex);
                return(false);
            }
        }