internal void GetCaptionDataBase()
        {
            try
            {
                if (!ACSDataBase.FormInGEDCaptionControl(this.Name))
                {
                    return;
                }

                foreach (var ctrl in this.Controls.All())
                {
                    var ControlCaption = ACSDataBase.GetControlCaption(this.Name, ctrl.Name);
                    var ctroltype      = ctrl.GetType();
                    var prop           = ctroltype.GetProperty("Text");
                    if (ControlCaption != string.Empty)
                    {
                        if (prop != null)
                        {
                            prop.SetValue(ctrl, ControlCaption, null);
                            ctrl.Invalidate();
                        }
                    }
                }
            }
            catch (Exception e)
            {
                ACSLog.InsertLog(MessageBoxIcon.Error, e);
            }
        }
        int GetTipoPessoaSetTipoBusca(bool SetDefault)
        {
            var result = 0;

            foreach (RadioButton r in flpTipoPessoa.Controls)
            {
                if (r.Checked)
                {
                    result = int.Parse(r.Tag.ToString());
                    break;
                }
            }

            if (!SetDefault)
            {
                return(result);
            }

            flpTipos.Controls.Clear();
            switch (result)
            {
            case 0:
                var Lotes = ACSDataBase.GetGEDTiposBuscaLote();

                foreach (var PF in Lotes)
                {
                    var r = new RadioButton();

                    r.Text = PF.TBL_DESCRICAO;
                    r.Tag  = PF;

                    if (r.Text == "Número Atendimento")
                    {
                        r.Width = 200;
                        flpTipos.Controls.Add(r);
                        r.Checked = (PF.TBL_DEFAULT == 0) ? false : true;
                    }
                }
                break;

            case 1:
                var LotesPJ = ACSDataBase.GetGEDTiposBuscaLotePJ();

                foreach (var PJ in LotesPJ)
                {
                    var r = new RadioButton();

                    r.Text = PJ.TPJ_DESCRICAO;
                    r.Tag  = PJ;
                    flpTipos.Controls.Add(r);

                    r.Checked = PJ.TPJ_DEFAULT.HasValue;
                }
                break;
            }

            return(result);
        }
Esempio n. 3
0
        private bool AssinaN3First(GEDDocumentosNivel2 item)
        {
            string caminhoDocOriginal   = "";
            string caminhoDocAssinadoN1 = "";

            try
            {
                if (item.DOC_IDUSUARIOASSINANIVEL2 != null || item.DOC_IDUSUARIOASSINANIVEL3 != null)
                {
                    return(CoAssinarN3(item));
                }
                else
                {
                    ACSLog.InsertLog(MessageBoxIcon.Error, "-----------------------------------  Entrou para assinar  ----------------------------------- ");


                    caminhoDocOriginal = GetPathOutput() + "\\" + item.PAS_REGISTRO + "\\" + item.PAS_REGISTRO + item.DOC_DIVISAO + "\\" + item.PAS_CODIGOPASSAGEM + "\\" + item.DOC_NOMEARQUIVO + ".jpeg";
                    //  caminhoDocAssinadoN1 = GetPathOutput() + "\\" + item.PAS_REGISTRO + "\\" + item.PAS_REGISTRO + item.DOC_DIVISAO + "\\" + item.PAS_CODIGOPASSAGEM + "\\" + item.DOC_NOMEARQUIVO + "_N1.p7s";



                    ACSLog.InsertLog(MessageBoxIcon.Error, "Montou um caminho: " + caminhoDocOriginal);

                    var    sCertificado = ACSGlobal.UsuarioLogado.USR_SERIALNUMBERCERT;
                    byte[] assinatura   = Assinador.assinar(Assinador.ConvertDocToStream(caminhoDocOriginal), sCertificado);


                    string pathNew = Path.GetDirectoryName(caminhoDocOriginal) + "\\" + Path.GetFileNameWithoutExtension(caminhoDocOriginal);
                    System.IO.FileStream _FileStream = new System.IO.FileStream(pathNew + "_N3.p7s", System.IO.FileMode.Create, System.IO.FileAccess.Write);


                    ACSLog.InsertLog(MessageBoxIcon.Error, "Geraou o caminho para o _N3.p7s: " + pathNew);

                    _FileStream.Write(assinatura, 0, assinatura.Length);

                    // close file stream
                    _FileStream.Close();
                    ACSDataBase.UpdateDocumentoAssinadoN3((decimal)ACSGlobal.UsuarioLogado.USR_IDUSUARIO, (decimal)item.DOC_IDDOCUMENTO, getInfoCertificado(sCertificado, "3"));

                    ACSLog.InsertLog(MessageBoxIcon.Error, "Salvou a alteração na base de dados");

                    ACSLog.InsertLog(MessageBoxIcon.Error, "-----------------------------------  Finalizou assinar  ----------------------------------- ");
                    return(true);
                }
            }
            catch (Exception ex)
            {
                ACSLog.InsertLog(MessageBoxIcon.Error, "Erro ao assinar o documento: " + caminhoDocOriginal);

                ACSLog.InsertLog(MessageBoxIcon.Error, "Não foi possível assinar o documento. Motivo: " + ex.InnerException);
                ACSLog.InsertLog(MessageBoxIcon.Error, "Não foi possível assinar o documento. Motivo w: " + ex.Message);
                ACSLog.InsertLog(MessageBoxIcon.Error, "Não foi possível assinar o documento. Motivo e: " + ex.InnerException);
                throw new ExceptionCustom("Não foi possível assinar o documento. Motivo e: " + ex.InnerException);
                throw new ExceptionCustom("Não foi possível assinar o documento. Motivo w: " + ex.Message);
                return(false);
            }
        }
Esempio n. 4
0
        private bool AssinaN3_2First(GEDDocumentosNivel2 item)
        {
            string caminhoDocOriginal   = "";
            string caminhoDocAssinadoN1 = "";

            caminhoDocOriginal   = GetPathOutput() + "\\" + item.PAS_REGISTRO + "\\" + item.PAS_REGISTRO + item.DOC_DIVISAO + "\\" + item.PAS_CODIGOPASSAGEM + "\\" + item.DOC_NOMEARQUIVO + ".jpeg";
            caminhoDocAssinadoN1 = GetPathOutput() + "\\" + item.PAS_REGISTRO + "\\" + item.PAS_REGISTRO + item.DOC_DIVISAO + "\\" + item.PAS_CODIGOPASSAGEM + "\\" + item.DOC_NOMEARQUIVO + "_N3.p7s";


            byte[] retorno = null;

            Stream fileToSignDocOriginal   = ConvertDocToStream(caminhoDocOriginal);
            Stream fileToSignDocAssinadoN1 = ConvertDocToStream(caminhoDocAssinadoN1);

            BRYSIGNERCOMLib.IAssinador assinador = new BRYSIGNERCOMLib.Assinador();

            String docOriginal   = BitConverter.ToString(lerArquivo(fileToSignDocOriginal)).Replace("-", string.Empty);
            String docAssinadoN1 = BitConverter.ToString(lerArquivo(fileToSignDocAssinadoN1)).Replace("-", string.Empty);

            String idCertificado = ACSGlobal.UsuarioLogado.USR_SERIALNUMBERCERT;

            assinador.setFormatoDadosMemoria(FORMATO_ARQUIVO_HEXADECIMAL);

            String assinaturaHex    = "";
            int    statusAssinatura = -1;

            statusAssinatura = assinador.coAssineMemDetached(docAssinadoN1, docOriginal, "Orion Digital - 2016 - ACS Capture", idCertificado, ref assinaturaHex);

            if (statusAssinatura == 1)
            {
                retorno = StringToByteArray(assinaturaHex);

                string pathNew = GetPathOutput() + "\\" + item.PAS_REGISTRO + "\\" + item.PAS_REGISTRO + item.DOC_DIVISAO + "\\" + item.PAS_CODIGOPASSAGEM + "\\" + item.DOC_NOMEARQUIVO;
                System.IO.FileStream _FileStream = new System.IO.FileStream(pathNew + "_N3_2.p7s", System.IO.FileMode.Create, System.IO.FileAccess.Write);

                _FileStream.Write(retorno, 0, retorno.Length);

                // close file stream
                _FileStream.Close();

                ACSDataBase.UpdateDocumentoAssinadoN2((decimal)ACSGlobal.UsuarioLogado.USR_IDUSUARIO, (decimal)item.DOC_IDDOCUMENTO, getInfoCertificado(idCertificado, "2"));

                return(true);
            }
            else
            {
                var error = ErrorCertificado.ListaErroCertificado().Where(c => c.IdErro == statusAssinatura.ToString().Replace("-", "")).FirstOrDefault().DescricaoErro;
                if (error == ".LLLLLLLLLLLLLLLLÇMNK1")
                {
                    error = "Ocorreu um erro na validação do certificado digital!";
                }

                ACSLog.InsertLog(MessageBoxIcon.Error, "Não foi possível assinar o documento. Motivo: " + statusAssinatura);
                throw new ExceptionCustom("Não foi possível assinar o documento. Motivo: " + error);
                return(false);
            }
        }
Esempio n. 5
0
        private void btnClose_Click(object sender, EventArgs e)
        {
            if (listaPesquisa != null)
            {
                ACSDataBase.deleteBloqueiaDocumentosLote((int)ACSGlobal.UsuarioLogado.USR_IDUSUARIO, listaPesquisa);
            }

            Application.ExitThread();
        }
Esempio n. 6
0
        public WFSearchBarCoce()
        {
            //capturar quais divisoes minha area tem

            var flagTipoCliente = ACSGlobal.flagTipoCliente;
            var idArea          = ACSGlobal.idAreaSelecionada;
            var listaDivisoes   = ACSDataBase.GetDivisoesUsuario(idArea);
            List <GED_PROC_CodigosBarras_Result> ListDataSource = new List <GED_PROC_CodigosBarras_Result>();

            var listagem = ACSDataBase.GetGED_PROC_CodigosBarras(1, 1);

            foreach (var item in listagem)
            {
                if (listaDivisoes.Any(c => c.DIV_IDDIVISAO == item.TPD_IDDIVISAO && item.TPD_FLAGTIPOCLIENTE == flagTipoCliente))
                {
                    ListDataSource.Add(item);
                }
            }


            InitializeComponent();
            btnOk.Click += btnOk_Click1;

            eBin            = new BindingSource();
            eBin.DataSource = ListDataSource;
            eBin.AllowNew   = false;

            this.dgvBarCodes.DataSource            = eBin;
            this.dgvBarCodes.DefaultCellStyle.Font = new Font("Arial", 11);

            this.dgvBarCodes.AutoGenerateColumns = false;
            this.dgvBarCodes.AllowUserToAddRows  = false;

            foreach (DataGridViewColumn col in this.dgvBarCodes.Columns)
            {
                col.Visible = false;
            }

            this.dgvBarCodes.Columns["TPD_CODIGOBARRA"].DisplayIndex = 0;
            this.dgvBarCodes.Columns["TPD_CODIGOBARRA"].HeaderText   = "Código";
            this.dgvBarCodes.Columns["TPD_CODIGOBARRA"].Visible      = true;

            this.dgvBarCodes.Columns["TPD_TEMPOVALIDADE"].DisplayIndex = 1;
            this.dgvBarCodes.Columns["TPD_TEMPOVALIDADE"].HeaderText   = "Validade";
            this.dgvBarCodes.Columns["TPD_TEMPOVALIDADE"].Visible      = true;

            this.dgvBarCodes.Columns["DIV_CODIGOREDUZIDO"].DisplayIndex = 2;
            this.dgvBarCodes.Columns["DIV_CODIGOREDUZIDO"].HeaderText   = "Divisão";
            this.dgvBarCodes.Columns["DIV_CODIGOREDUZIDO"].Visible      = true;

            this.dgvBarCodes.Columns["TPD_DESCRICAO"].DisplayIndex = 3;
            this.dgvBarCodes.Columns["TPD_DESCRICAO"].HeaderText   = "Descrição";
            this.dgvBarCodes.Columns["TPD_DESCRICAO"].Visible      = true;
            this.dgvBarCodes.Columns["TPD_DESCRICAO"].AutoSizeMode = DataGridViewAutoSizeColumnMode.AllCells;

            this.tbSearch.Focus();
        }
Esempio n. 7
0
        private void WFTipoAcao_FormClosing(object sender, FormClosingEventArgs e)
        {
            if (listaPesquisa != null)
            {
                ACSDataBase.deleteBloqueiaDocumentosLote((int)ACSGlobal.UsuarioLogado.USR_IDUSUARIO, listaPesquisa);
            }


            this.FormClosing -= new System.Windows.Forms.FormClosingEventHandler(this.WFTipoAcao_FormClosing);
            this.Close();
        }
        public void btnOk_Click1(object sender, EventArgs e)
        {
            try
            {
                if (this.tbText.Text.Trim() == string.Empty)
                {
                    WFMessageBox.Show("Informe Código de Barras!", MessageBoxButtons.OK, MessageBoxIcon.Stop);
                    this.DialogResult = DialogResult.None;
                    return;
                }

                var flagTipoCliente  = ACSGlobal.flagTipoCliente;
                var idArea           = ACSGlobal.idAreaSelecionada;
                var listaDivisoes    = ACSDataBase.GetDivisoesUsuario(idArea);
                var listaTipoCliente = ACSDataBase.GetTipoClienteArea(idArea);

                List <GED_PROC_CodigosBarras_Result> ListDataSource = new List <GED_PROC_CodigosBarras_Result>();

                var result = ACSDataBase.GetGED_PROC_CodigosBarras(1, 1, this.tbText.Text.Trim()).ToList();



                foreach (var item in result)
                {
                    if (listaDivisoes.Any(c => c.DIV_IDDIVISAO == item.TPD_IDDIVISAO && item.TPD_FLAGTIPOCLIENTE == flagTipoCliente))
                    {
                        ListDataSource.Add(item);
                    }
                }



                if (ListDataSource.Count() <= 0)
                {
                    WFMessageBox.Show("Código de Barras não localizado!", MessageBoxButtons.OK, MessageBoxIcon.Stop);
                    this.DialogResult = DialogResult.None;
                }
                else
                {
                    this.BarCodeSelected = (GED_PROC_CodigosBarras_Result)result.First().Clone();
                    this.DialogResult    = DialogResult.OK;
                }
            }
            catch (Exception err)
            {
                ACSLog.InsertLog(MessageBoxIcon.Error, err);
            }
        }
Esempio n. 9
0
        private void btnPesquisa_Click(object sender, EventArgs e)
        {
            try
            {
                iVerifica = 1;
                if (listaPesquisa != null)
                {
                    ACSDataBase.deleteBloqueiaDocumentosLote((int)ACSGlobal.UsuarioLogado.USR_IDUSUARIO, listaPesquisa);
                }


                WFLoading.ShowLoad(true, "Assinatura de Documentos", "Buscando Documentos à serem assinados...");

                string numeroAtendimento = txtNumeroAtendimento.Text;
                string dataAtendimento   = txtDataAtendimento.Text;
                bool   fVerTodos         = chkVerTodos.Checked;
                pctSelected.Image = Resources.documentNull;

                btnCoAssinador.Enabled = true;
                lblInformativo.Text    = "";

                var iNivelAssinaUsuario = ACSGlobal.UsuarioLogado.USR_NIVELASSINA;

                var nivelAssinaCondifg = ACSConfig.GetApp().NIVELASSINA;

                if (nivelAssinaCondifg.ToUpper() == "ALL")
                {
                    listaPesquisa = ACSDataBase.GetDocumentosAssN2(numeroAtendimento, dataAtendimento, fVerTodos, ACSGlobal.UsuarioLogado.USR_IDUSUARIO, iNivelAssinaUsuario.GetValueOrDefault());
                }
                else
                {
                    listaPesquisa = ACSDataBase.GetDocumentosAssN3(numeroAtendimento, dataAtendimento, fVerTodos, ACSGlobal.UsuarioLogado.USR_IDUSUARIO, iNivelAssinaUsuario.GetValueOrDefault());
                }

                listaPesquisaNova = new List <GEDDocumentosNivel2>();


                if (iNivelAssinaUsuario == 2)
                {
                    if (ACSGlobal.ListaGruposSetoresLogado == null || ACSGlobal.ListaGruposSetoresLogado.Count == 0)
                    {
                        listaPesquisa = new List <GEDDocumentosNivel2>();
                    }
                    //else
                    //{

                    //    listaPesquisa = listaPesquisa.Where(c => ACSGlobal.ListaGruposSetoresLogado.Contains(c.DOC_IDGRUPOUSUARIOCAPTURA)).ToList();

                    //}
                }

                //  MessageBox.Show("1");
                if (nivelAssinaCondifg.ToUpper() != "ALL")
                {
                    //     MessageBox.Show("ALL");
                    foreach (var item in listaPesquisa)
                    {
                        //ACSLog.InsertLog(MessageBoxIcon.Information, "STD_NIVELASSINA: " + item.STD_NIVELASSINA);
                        //ACSLog.InsertLog(MessageBoxIcon.Information, "iNivelAssinaUsuario: " + iNivelAssinaUsuario);
                        if (item.STD_NIVELASSINA >= iNivelAssinaUsuario)
                        {
                            if ((item.STD_NIVELASSINA == 4 || item.STD_NIVELASSINA == 3) && iNivelAssinaUsuario == 3)
                            {
                                //verifica se foi assinado no segundo nivel para passar para o terceiro
                                if (item.DOC_IDUSUARIOASSINANIVEL3 == null)
                                {
                                    item.DOC_ASSINATURA = "-";
                                    listaPesquisaNova.Add(item);
                                }
                                //verifica se foi assinado no terceiro nivel para passar para o terceiro_2(Vulgo 4)
                                if (item.DOC_IDUSUARIOASSINANIVEL3 != null &&
                                    item.DOC_IDUSUARIOASSINANIVEL3_2 == null &&
                                    item.DOC_IDUSUARIOASSINANIVEL3 != ACSGlobal.UsuarioLogado.USR_IDUSUARIO &&
                                    item.STD_CODIGO == "CPSI")
                                {
                                    item.DOC_ASSINATURA = "Nível 3";
                                    listaPesquisaNova.Add(item);
                                }
                            }
                        }
                    }


                    // MessageBox.Show("FINISH FOR");
                }
                else
                {
                    foreach (var item in listaPesquisa)
                    {
                        //ACSLog.InsertLog(MessageBoxIcon.Information, "STD_NIVELASSINA: " + item.STD_NIVELASSINA);
                        //ACSLog.InsertLog(MessageBoxIcon.Information, "iNivelAssinaUsuario: " + iNivelAssinaUsuario);
                        if (item.STD_NIVELASSINA >= iNivelAssinaUsuario)
                        {
                            if ((item.STD_NIVELASSINA == 4 || item.STD_NIVELASSINA == 3) && iNivelAssinaUsuario == 3)
                            {
                                //verifica se foi assinado no segundo nivel para passar para o terceiro
                                if (item.DOC_IDUSUARIOASSINANIVEL2 != null && item.DOC_IDUSUARIOASSINANIVEL3 == null)
                                {
                                    item.DOC_ASSINATURA = "Nível 2";
                                    listaPesquisaNova.Add(item);
                                }
                                //verifica se foi assinado no terceiro nivel para passar para o terceiro_2(Vulgo 4)
                                if (item.DOC_IDUSUARIOASSINANIVEL2 != null &&
                                    item.DOC_IDUSUARIOASSINANIVEL3 != null &&
                                    item.DOC_IDUSUARIOASSINANIVEL3_2 == null &&
                                    item.DOC_IDUSUARIOASSINANIVEL3 != ACSGlobal.UsuarioLogado.USR_IDUSUARIO &&
                                    item.STD_CODIGO == "CPSI")
                                {
                                    item.DOC_ASSINATURA = "Nível 3";
                                    listaPesquisaNova.Add(item);
                                }
                            }
                            else if ((item.STD_NIVELASSINA == 4 || item.STD_NIVELASSINA == 3) && iNivelAssinaUsuario == 2)
                            {
                                //verifica se foi assinado no primeiro nivel para passar para o segundo
                                if (item.DOC_IDUSUARIOASSINANIVEL2 == null)
                                {
                                    item.DOC_ASSINATURA = "Nível 1";
                                    listaPesquisaNova.Add(item);
                                }
                            }
                            else
                            if (item.STD_NIVELASSINA == 2 && iNivelAssinaUsuario == 2)
                            {
                                //verifica se foi assinado no primeiro nivel para passar para o segundo
                                if (item.DOC_IDUSUARIOASSINANIVEL2 == null)
                                {
                                    item.DOC_ASSINATURA = "Nível 1";
                                    listaPesquisaNova.Add(item);
                                }
                            }
                            else
                            {
                                listaPesquisaNova.Add(item);
                            }
                        }
                    }
                }



                //   MessageBox.Show("2");

                //MessageBox.Show(listaPesquisaNova.Count.ToString());

                lblNumeroDocumentos.Text             = listaPesquisaNova.Count().ToString();
                lblNumeroDocumentosSelecionados.Text = "0";

                if (listaPesquisaNova.Count > 0)
                {
                    pnBtnAll.Visible           = true;
                    pnAllInfo.Visible          = true;
                    btnSelecionarTodos.Visible = true;

                    dtgv_DocsN2.AutoGenerateColumns = false;
                    dtgv_DocsN2.DataSource          = listaPesquisaNova;
                    btnCoAssinador.Visible          = true;
                    this.dtgv_DocsN2.Visible        = true;
                }
                else
                {
                    pnAllInfo.Visible                    = false;
                    pnBtnAll.Visible                     = false;
                    btnSelecionarTodos.Visible           = false;
                    this.dtgv_DocsN2.Visible             = false;
                    lblNumeroDocumentos.Text             = "0";
                    lblNumeroDocumentosSelecionados.Text = "0";

                    dtgv_DocsN2.DataSource    = null;
                    txtDataAtendimento.Text   = string.Empty;
                    txtNumeroAtendimento.Text = string.Empty;
                    btnCoAssinador.Visible    = false;
                    WFLoading.CloseLoad();
                    if ((ACSGlobal.ListaGruposSetoresLogado != null && ACSGlobal.ListaGruposSetoresLogado.Count > 0) || iNivelAssinaUsuario == 4 || iNivelAssinaUsuario == 3)
                    {
                        if (chkVerTodos.Checked)
                        {
                            WFMessageBox.Show("Não possui mais documentos a serem assinados!", MessageBoxButtons.OK, MessageBoxIcon.Error);
                        }
                        else
                        {
                            WFMessageBox.Show("Nenhum item encontrado com as informações passadas!", MessageBoxButtons.OK, MessageBoxIcon.Error);
                        }
                    }
                    else
                    {
                        WFMessageBox.Show("Grupo do usuário não está vinculado a nenhum setor", MessageBoxButtons.OK, MessageBoxIcon.Error);
                    }
                }

                tableLayoutPanel1.ColumnStyles[0] = new ColumnStyle(SizeType.Percent, 100);
                tableLayoutPanel1.ColumnStyles[1] = new ColumnStyle(SizeType.Percent, 0);
                btnVoltar.Visible = false;
                WFLoading.CloseLoad();
            }
            catch (Exception ex)
            {
                throw;
            }
        }
Esempio n. 10
0
        private void fnCoassinar()
        {
            try
            {
                if (string.IsNullOrEmpty(ACSGlobal.UsuarioLogado.USR_SERIALNUMBERCERT))
                {
                    btnCoAssinador.Enabled = true;
                    lblInformativo.Text    = " ";
                    WFMessageBox.Show("Este usuário não possui certificado atribuído! ", MessageBoxButtons.OK, MessageBoxIcon.Error);


                    //deleta os itens na tabela de documento assinando
                    if (listaPesquisa != null)
                    {
                        ACSDataBase.deleteBloqueiaDocumentosLote((int)ACSGlobal.UsuarioLogado.USR_IDUSUARIO, listaPesquisa);
                    }
                }
                else
                {
                    bool fCheck = false;
                    List <GEDDocumentosNivel2> listaPesquisaNovaAssinar = new List <GEDDocumentosNivel2>();;
                    foreach (DataGridViewRow r in dtgv_DocsN2.SelectedRows)
                    {
                        fCheck = true;
                        //Pegas as linhas selecionadas

                        var idDocument = (decimal)r.Cells["DOC_IDDOCUMENTO"].Value;
                        listaPesquisaNovaAssinar.Add(listaPesquisaNova.Find(c => c.DOC_IDDOCUMENTO == (int)idDocument));
                    }

                    if (fCheck)
                    {
                        WFLoading.ShowLoad(true, "CoAssinatura", "Assinando documentos...");

                        //var NewName = OutputIni + "\\" +
                        //            ACSGlobal.LoteSelecionado.PAS_REGISTRO + "\\" +
                        //            ACSGlobal.LoteSelecionado.PAS_REGISTRO + Doc.BarCodes[0].DIV_CODIGOREDUZIDO + "\\" +
                        //            ACSGlobal.LoteSelecionado.PAS_CODIGOPASSAGEM;


                        int i = 0;

                        foreach (var item in listaPesquisaNovaAssinar)
                        {
                            var nivelAssinaCondifg = ACSConfig.GetApp().NIVELASSINA;

                            if (nivelAssinaCondifg.ToUpper() == "ALL")
                            {
                                //WFTranparentLoading.Messege("Verificando " + Doc.Text + "...");
                                lblInformativo.Text = "Assinando documento " + (++i) + "... (restam " + (listaPesquisaNovaAssinar.Count() - i) + ")";
                                if (ACSGlobal.UsuarioLogado.USR_NIVELASSINA == 2)
                                {
                                    CoAssinarN2(item);
                                }

                                if (ACSGlobal.UsuarioLogado.USR_NIVELASSINA == 3)
                                {
                                    CoAssinarN3(item);
                                }
                            }
                            else
                            {
                                lblInformativo.Text = "Assinando documento " + (++i) + "... (restam " + (listaPesquisaNovaAssinar.Count() - i) + ")";

                                // CoAssinarN3(item);
                                if (ACSGlobal.UsuarioLogado.USR_NIVELASSINA == 3)
                                {
                                    AssinaN3First(item);
                                }
                                //else
                                //{
                                //    AssinaN3_2First(item);
                                //}
                            }
                        }
                        WFLoading.CloseLoad();

                        WFMessageBox.Show("Documentos Co-Assinados com Sucesso!", MessageBoxButtons.OK, MessageBoxIcon.Information);

                        lblInformativo.Text       = "Requisição Finalizada";
                        dtgv_DocsN2.DataSource    = null;
                        txtDataAtendimento.Text   = string.Empty;
                        txtNumeroAtendimento.Text = string.Empty;
                        btnCoAssinador.Visible    = false;

                        pnAllInfo.Visible                    = false;
                        pnBtnAll.Visible                     = false;
                        btnSelecionarTodos.Visible           = false;
                        lblNumeroDocumentos.Text             = "0";
                        lblNumeroDocumentosSelecionados.Text = "0";



                        //deleta os itens na tabela de documento assinando
                        if (listaPesquisa != null)
                        {
                            ACSDataBase.deleteBloqueiaDocumentosLote((int)ACSGlobal.UsuarioLogado.USR_IDUSUARIO, listaPesquisa);
                        }
                    }
                    else
                    {
                        WFMessageBox.Show("Selecione ao menos um documento a ser assinado! ", MessageBoxButtons.OK, MessageBoxIcon.Error);
                        lblInformativo.Text    = " ";
                        btnCoAssinador.Enabled = true;
                    }
                }
            }
            catch (Exception ex)
            {
                ACSLog.InsertLog(MessageBoxIcon.Error, "Não foi possível assinar o documento. Motivo: " + ex.InnerException);
                throw new ExceptionCustom("Não foi possível assinar o documento. Motivo: " + ex.InnerException);
            }
        }
        private void button1_Click(object sender, EventArgs e)
        {
            WFLoading.ShowLoad(true, "Aguarde um momento", "Pesquisando Atendimento");

            btnPesquisa.Enabled = false;

            lbTotalRegistros.Text = string.Empty;

            var Tipo       = 0;
            var TipoPessoa = 0;

            if (this.rbPF.Checked)
            {
                TipoPessoa = 0;
            }
            else
            {
                TipoPessoa = 1;
            }

            try
            {
                GetTipoPessoaSetTipoBusca(false);
            }
            catch (Exception ex)
            {
                WFMessageBox.Show(ex.Message, MessageBoxButtons.OK, MessageBoxIcon.Error);
                btnPesquisa.Enabled = true;
                return;
            }

            switch (TipoPessoa)
            {
            case 0:
                foreach (RadioButton r in flpTipos.Controls)
                {
                    if (r.Checked)
                    {
                        Tipo = (int)(r.Tag as GEDTIPOSBUSCALOTES).TBL_ID;
                        break;
                    }
                }
                break;

            case 1:
                foreach (RadioButton r in flpTipos.Controls)
                {
                    if (r.Checked)
                    {
                        Tipo = (int)(r.Tag as GEDTIPOSBUSCALOTESPJ).TPJ_ID;
                        break;
                    }
                }
                break;
            }

            try
            {
                if (Tipo == 0)
                {
                    btnPesquisa.Enabled = true;
                    throw new Exception("Selecione Tipo de Busca!");
                }

                if (Tipo == 1)
                {
                    this.tbValue.Clear();
                }

                if ((Tipo > 1) && (tbValue.Text.Trim() == string.Empty) && (ACSConfig.SystemAction != ModeSystem.Process))
                {
                    WFMessageBox.Show("Informe um valor para pesquisa!", MessageBoxButtons.OK, MessageBoxIcon.Error);
                    tbValue.Focus();
                    btnPesquisa.Enabled = true;
                    WFLoading.CloseLoad();
                    return;
                }

                var IdStatusLote = 0;
                if (ACSConfig.SystemAction == ModeSystem.Process)
                {
                    IdStatusLote = (int)StatusLote.Capturado;
                }

                var lotes = ACSDataBase.GetLotes(TipoPessoa, Tipo, tbValue.Text.Trim(), dateTimePicker1.Value.Date, dateTimePicker2.Value.Date.AddHours(23).AddMinutes(59).AddSeconds(59), IdStatusLote).ToList();

                var count = lotes.Count();

                if (count <= 0)
                {
                    //pesquisar no Tasy rest
                    AtendimentoTasy     atendimentoTasy = new AtendimentoTasy();
                    AtendimentoResponse objTasy1        = atendimentoTasy.GetAtendimento(tbValue.Text.Trim());


                    if (objTasy1 == null)
                    {
                        WFLoading.CloseLoad();
                        btnPesquisa.Enabled = true;
                        throw new Exception("Nenhum registro encontrado!");
                    }
                    else
                    {
                        if (string.IsNullOrEmpty(objTasy1.dataNascimento))
                        {
                            WFLoading.CloseLoad();
                            btnPesquisa.Enabled = true;
                            throw new Exception("Impossível Prosseguir, Paciente não possui Data de Nascimento cadastrado no TASY!");
                        }
                        else if (string.IsNullOrEmpty(objTasy1.dataHoraAtendimento))
                        {
                            WFLoading.CloseLoad();
                            btnPesquisa.Enabled = true;
                            throw new Exception("Impossível Prosseguir, Paciente não possui Data de Atendimento cadastrado no TASY!");
                        }
                        else
                        {
                            btnPesquisa.Enabled = false;

                            //------------------------------------------------CLIENTE PF------------------------------------------------------//

                            ///PROCURA CLIENTE PELO CPF
                            GEDCLIENTEPF cliente = ACSDataBase.GetClientePF(objTasy1.cpf, objTasy1.registroProntuario);

                            //CASO NAO ENCONTRE, PASSAR PELO NOVO METODO PROCURANDO PELOS PRONTUARIOS UNIFICADOS
                            if (cliente == null)
                            {
                                cliente = ACSDataBase.GetClientePFRegistros(objTasy1.registroProntuario, objTasy1.registroProntuarioHist);
                            }

                            //CASO NAO ACHE DE NENHUMA FORMA ACIMA, O CLIENTE NÃO EXISTE NA BASE. CRIAR NOVO CLIENTEPF
                            if (cliente == null)
                            {
                                if (string.IsNullOrEmpty(objTasy1.dataHoraCadastroPaciente))
                                {
                                    objTasy1.dataHoraCadastroPaciente = DateTime.Now.ToString();
                                }

                                GEDCLIENTEPF clientePF = new GEDCLIENTEPF()
                                {
                                    CPF_IDCLIENTEPF             = 0,
                                    CPF_REGISTRO                = objTasy1.registroProntuario,
                                    CPF_REGISTROOLD             = (objTasy1.registroProntuarioHist == "0") ? "" : objTasy1.registroProntuarioHist,
                                    CPF_NOME                    = objTasy1.nome,
                                    CPF_DATANASCIMENTO          = Convert.ToDateTime(objTasy1.dataNascimento),
                                    CPF_CPF                     = objTasy1.cpf,
                                    CPF_DATACADASTRO            = Convert.ToDateTime(objTasy1.dataHoraCadastroPaciente),
                                    CPF_NOMEPAI                 = "",
                                    CPF_NOMEMAE                 = "",
                                    CPF_RG                      = "",
                                    CPF_IDSEXO                  = 3,
                                    CPF_IDUNIDADE               = objTasy1.idEstabelecimento,
                                    CPF_TEL01                   = "",
                                    CPF_TEL02                   = "",
                                    CPF_CONTATO                 = "",
                                    CPF_EMAIL                   = "",
                                    CPF_OBSERVACAO              = "",
                                    CPF_FLAGATIVO               = 1,
                                    CPF_IDTIPOCONSELHO          = 0,
                                    CPF_NUMEROCONSELHO          = "",
                                    CPF_FLAGCORPOCLINICO        = 0,
                                    CPF_FLAGATUALIZARUNIFICACAO = 0
                                };

                                clientePF = ACSDataBase.InsertGEDClientePF(clientePF);
                            }
                            else
                            {
                                //nova regra... CASO EXISTA
                                // verificar se o prontuario esta diferente do paciente, se estiver, atualizar a clientePF com o novo registro. PODE TER ENCONTRADO PELO CPF OU PELOS REGISTROS ANTIGOS



                                if (cliente.CPF_REGISTRO != objTasy1.registroProntuario)
                                {
                                    var registroOLDNow = cliente.CPF_REGISTRO;

                                    cliente.CPF_IDCLIENTEPF = cliente.CPF_IDCLIENTEPF;
                                    cliente.CPF_REGISTRO    = objTasy1.registroProntuario;
                                    cliente.CPF_REGISTROOLD = cliente.CPF_REGISTROOLD + "," + registroOLDNow;
                                    cliente.CPF_NOME        = cliente.CPF_NOME;

                                    //seta flag unificado para ROBO web unificar os atendimentosmessagem
                                    cliente.CPF_FLAGATUALIZARUNIFICACAO = 1;

                                    cliente = ACSDataBase.UpdateGEDClientePF(cliente);
                                }
                            }
                            //------------------------------------------------CLIENTE PF FIM------------------------------------------------------//



                            //------------------------------------------------PASSAGEM----------------------------------------------------------//

                            //////REGRA NOVA - VERIFICAR SE A PASSAGEM JA EXISTE PELO NUMERO DE ATENDIMENTO
                            GEDPASSAGENS passagens = new GEDPASSAGENS();
                            passagens = ACSDataBase.GetPassagemByCodPassagem(objTasy1.numeroAtendimento);

                            //CASO NAO EXISTA A PASSAGEM COM O NUMERO DE ATENDIMENTO, CRIAR UMA NOVA
                            if (passagens == null)
                            {
                                passagens = new GEDPASSAGENS()
                                {
                                    PAS_IDUNIDADE           = objTasy1.idEstabelecimento,
                                    PAS_IDCONVENIO          = 0,
                                    PAS_DATAHORAPASSAGEM    = Convert.ToDateTime(objTasy1.dataHoraAtendimento),
                                    PAS_CODIGOPASSAGEM      = objTasy1.numeroAtendimento,
                                    PAS_REGISTRO            = objTasy1.registroProntuario,
                                    PAS_REGISTROOLD         = objTasy1.registroProntuarioHist,
                                    PAS_FLAGCLIENTEPF       = 1,
                                    PAS_DATAHORAPASSAGEMFIM = new DateTime(1900, 01, 01),
                                    PAS_TIPOATENDIMENTO     = string.IsNullOrEmpty(objTasy1.tipoAtendimento) ? " - " : objTasy1.tipoAtendimento
                                };

                                passagens = ACSDataBase.InsertGEDPassagem(passagens);

                                if (passagens.PAS_IDPASSAGEM == 0)
                                {
                                    passagens = ACSDataBase.GetPassagemByCodPassagem(passagens.PAS_CODIGOPASSAGEM);
                                }
                            }
                            else
                            {
                                //nova regra...
                                // verificar se o prontuario esta diferente do paciente, se estiver, atualizar a passagem com o novo registro
                                if (passagens.PAS_REGISTRO != cliente.CPF_REGISTRO)
                                {
                                    var registroOLDNow = passagens.PAS_REGISTRO;
                                    passagens.PAS_REGISTRO    = cliente.CPF_REGISTRO;
                                    passagens.PAS_REGISTROOLD = passagens.PAS_REGISTROOLD + "," + registroOLDNow;

                                    passagens = ACSDataBase.UpdateGEDPassagem(passagens);



                                    // leva as imagens da passagem/registro anterior para a nova pasta/Registro

                                    var OutputIni    = ACSConfig.GetStorage().Output;
                                    var OldFolderReg = OutputIni + "\\" + registroOLDNow;


                                    string registro = registroOLDNow;
                                    string newReg   = cliente.CPF_REGISTRO;
                                    string passagem = passagens.PAS_CODIGOPASSAGEM;                                    // "111111";



                                    var newFolderReg = OutputIni + "\\" + newReg;

                                    foreach (var firstFolder in Directory.GetDirectories(OldFolderReg))
                                    {
                                        var splitName = firstFolder.Split('\\');

                                        var folderN = splitName[splitName.Length - 1].ToString();
                                        var strDiv  = folderN.Substring(folderN.Length - 2, 2);
                                        int parseInt;

                                        string folderCreate = newFolderReg;

                                        if (!int.TryParse(strDiv, out parseInt))
                                        {
                                            folderCreate += "\\" + newReg + strDiv;
                                        }
                                        else
                                        {
                                            folderCreate += "\\" + newReg;
                                        }


                                        if (splitName[splitName.Length - 1].ToString().Contains(registro))
                                        {
                                            var OldFolderRegSecondFolder = firstFolder;

                                            foreach (var secondFolder in Directory.GetDirectories(OldFolderRegSecondFolder))
                                            {
                                                var splitNameAtendimento = secondFolder.Split('\\');

                                                //verifica se a pasta é a mesma do atendimento mencionando na pesquisa
                                                if (splitNameAtendimento[splitNameAtendimento.Length - 1].ToString() == passagem)
                                                {
                                                    //caso seja o atendimento, copiar para a nova pasta

                                                    folderCreate += "\\" + splitNameAtendimento[splitNameAtendimento.Length - 1].ToString();
                                                    if (!Directory.Exists(folderCreate))
                                                    {
                                                        Directory.CreateDirectory(folderCreate);
                                                    }


                                                    DirectoryInfo dir   = new DirectoryInfo(secondFolder);
                                                    FileInfo[]    files = dir.GetFiles();
                                                    foreach (FileInfo file in files)
                                                    {
                                                        string temppath = Path.Combine(folderCreate, file.Name);
                                                        file.CopyTo(temppath, true);
                                                    }
                                                }
                                            }
                                        }
                                    }
                                }
                            }

                            var maxorder   = 0;
                            var inclusao   = 0;
                            var lotesMerge = ACSDataBase.GetLotes(TipoPessoa, Tipo, passagens.PAS_CODIGOPASSAGEM, dateTimePicker1.Value.Date, dateTimePicker2.Value.Date.AddHours(23).AddMinutes(59).AddSeconds(59), IdStatusLote).FirstOrDefault();

                            if (lotesMerge != null)
                            {
                                inclusao = lotesMerge.INCLUSAO;
                                maxorder = lotesMerge.MAX_ORDER;
                            }

                            GED_PROC_F_Lotes_Result loteTasy = new GED_PROC_F_Lotes_Result()
                            {
                                CPF_CNPJ             = objTasy1.cpf,
                                NOME                 = objTasy1.nome,
                                CPF_CNPJ_FLAGATIVO   = true,
                                INCLUSAO             = inclusao,
                                PAS_CODIGOPASSAGEM   = objTasy1.numeroAtendimento,
                                PAS_DATAHORAPASSAGEM = Convert.ToDateTime(objTasy1.dataHoraAtendimento),
                                TIPO_ATENDIMENTO     = objTasy1.tipoAtendimento,
                                NRO_PRONTUARIO       = objTasy1.registroProntuario,
                                DATA_NASCIMENTO      = Convert.ToDateTime(objTasy1.dataNascimento),
                                PAS_REGISTRO         = objTasy1.registroProntuario,
                                PAS_IDPASSAGEM       = (int)passagens.PAS_IDPASSAGEM,
                                MAX_ORDER            = maxorder
                            };


                            List <GED_PROC_F_Lotes_Result> lista1 = new List <GED_PROC_F_Lotes_Result>();
                            lista1.Add(loteTasy);

                            lbTotalRegistros.Text = "Total de Registros: 0";



                            dataGridView1.Font       = new System.Drawing.Font("Tahoma", 12);
                            dataGridView1.DataSource = lista1;

                            foreach (DataGridViewColumn c in dataGridView1.Columns)
                            {
                                c.Visible      = false;
                                c.AutoSizeMode = DataGridViewAutoSizeColumnMode.DisplayedCells;
                            }

                            dataGridView1.Columns["PAS_DATAHORAPASSAGEM"].HeaderText = "Data";
                            dataGridView1.Columns["PAS_DATAHORAPASSAGEM"].Visible    = true;

                            dataGridView1.Columns["PAS_CODIGOPASSAGEM"].HeaderText = "Atendimento";
                            dataGridView1.Columns["PAS_CODIGOPASSAGEM"].Visible    = true;

                            dataGridView1.Columns["TIPO_ATENDIMENTO"].HeaderText = "Tipo de Atendimento";
                            dataGridView1.Columns["TIPO_ATENDIMENTO"].Visible    = true;

                            dataGridView1.Columns["NOME"].HeaderText = "Nome";
                            dataGridView1.Columns["NOME"].Visible    = true;

                            dataGridView1.Columns["DATA_NASCIMENTO"].HeaderText = "Data de Nascimento";
                            dataGridView1.Columns["DATA_NASCIMENTO"].Visible    = true;

                            dataGridView1.Columns["CPF_CNPJ"].HeaderText = "CPF";
                            dataGridView1.Columns["CPF_CNPJ"].Visible    = true;

                            dataGridView1.Columns["NRO_PRONTUARIO"].HeaderText = "Prontuário";
                            dataGridView1.Columns["NRO_PRONTUARIO"].Visible    = true;

                            dataGridView1.Columns["INCLUSAO"].HeaderText = "Quantidade de Imagens";
                            dataGridView1.Columns["INCLUSAO"].DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter;
                            dataGridView1.Columns["INCLUSAO"].Visible = true;
                        }
                    }
                    WFLoading.CloseLoad();
                    btnPesquisa.Enabled = true;
                }
                else
                {
                    lbTotalRegistros.Text = "Total de Registros: " + count.ToString();

                    dataGridView1.Font       = new System.Drawing.Font("Tahoma", 12);
                    dataGridView1.DataSource = lotes;


                    //3
                    // criar passagem

                    foreach (DataGridViewColumn c in dataGridView1.Columns)
                    {
                        c.Visible      = false;
                        c.AutoSizeMode = DataGridViewAutoSizeColumnMode.DisplayedCells;
                    }

                    dataGridView1.Columns["PAS_DATAHORAPASSAGEM"].HeaderText = "Data";
                    dataGridView1.Columns["PAS_DATAHORAPASSAGEM"].Visible    = true;

                    dataGridView1.Columns["PAS_CODIGOPASSAGEM"].HeaderText = "Atendimento";
                    dataGridView1.Columns["PAS_CODIGOPASSAGEM"].Visible    = true;

                    dataGridView1.Columns["TIPO_ATENDIMENTO"].HeaderText = "Tipo de Atendimento";
                    dataGridView1.Columns["TIPO_ATENDIMENTO"].Visible    = true;

                    dataGridView1.Columns["NOME"].HeaderText = "Nome";
                    dataGridView1.Columns["NOME"].Visible    = true;

                    if (TipoPessoa == 0)
                    {
                        dataGridView1.Columns["DATA_NASCIMENTO"].HeaderText = "Data de Nascimento";
                        dataGridView1.Columns["DATA_NASCIMENTO"].Visible    = true;

                        dataGridView1.Columns["NRO_PRONTUARIO"].HeaderText = "Prontuário";
                        dataGridView1.Columns["NRO_PRONTUARIO"].Visible    = true;
                    }

                    switch (TipoPessoa)
                    {
                    case 0:
                        dataGridView1.Columns["CPF_CNPJ"].HeaderText = "CPF";
                        break;

                    case 1:
                        dataGridView1.Columns["CPF_CNPJ"].HeaderText = "CNPJ";
                        break;
                    }

                    dataGridView1.Columns["CPF_CNPJ"].Visible    = true;
                    dataGridView1.Columns["INCLUSAO"].HeaderText = "Quantidade de Imagens";
                    dataGridView1.Columns["INCLUSAO"].DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter;
                    dataGridView1.Columns["INCLUSAO"].Visible = true;

                    WFLoading.CloseLoad();
                    btnPesquisa.Enabled = true;
                }
            }
            catch (Exception d)
            {
                WFMessageBox.Show(d.Message, MessageBoxButtons.OK, MessageBoxIcon.Error);
                btnPesquisa.Enabled      = true;
                dataGridView1.DataSource = null;
            }

            dataGridView1.Invalidate();
        }
Esempio n. 12
0
 private void WFMain_FormClosing(object sender, FormClosingEventArgs e)
 {
     ACSDataBase.StopSession();
     Application.ExitThread();
 }
Esempio n. 13
0
        void BeforeExitLogin(object sender)
        {
            //teste nova tela assinador 05012016

            (sender as WFLogin).Hide();
            if (ACSGlobal.UsuarioLogado == null || ACSGlobal.UsuarioLogado.USR_IDUSUARIO == 0)
            {
                Application.Exit();
            }
            else
            {
                int iQntAcao = 0;

                if (ACSGlobal.UsuarioLogado.USR_FLAGDIGITALIZACAO == 1)
                {
                    ACSConfig.SystemAction = ModeSystem.Scan;
                    iQntAcao++;
                }

                if (ACSGlobal.UsuarioLogado.USR_FLAGIMPORTACAO == 1)
                {
                    ACSConfig.SystemAction = ACSConfig.SystemAction | ModeSystem.Import;
                    iQntAcao++;
                }

                if (ACSGlobal.UsuarioLogado.USR_FLAGPROCESSAMENTO == 1 || ACSConfig.GetApp().User == ModeUser.Mono)
                {
                    ACSConfig.SystemAction = ACSConfig.SystemAction | ModeSystem.Process;
                }



                if (((ACSConfig.SystemAction == (ModeSystem.Scan | ModeSystem.Import | ModeSystem.Process)) ||
                     (ACSConfig.SystemAction == (ModeSystem.Scan | ModeSystem.Import)) ||
                     (ACSConfig.SystemAction == (ModeSystem.Scan | ModeSystem.Process)) ||
                     (ACSConfig.SystemAction == (ModeSystem.Import | ModeSystem.Process))) &&
                    ACSGlobal.UsuarioLogado.USR_NIVELASSINA > 1
                    )
                {
                    iQntAcao++;
                    var wfTA = new WFTipoAcao();
                    wfTA.btnEscanear.Visible = true;
                    //
                    wfTA.btnEscanear.Visible  = ((ACSConfig.SystemAction & (ModeSystem.Scan)) == ModeSystem.Scan);
                    wfTA.btnImportar.Visible  = ((ACSConfig.SystemAction & (ModeSystem.Import)) == ModeSystem.Import);
                    wfTA.btnProcessar.Visible = ((ACSConfig.SystemAction & (ModeSystem.Process)) == ModeSystem.Process) && (ACSConfig.GetApp().User == ModeUser.Multi);
                    wfTA.btnAssinar.Visible   = true;
                    wfTA.MdiParent            = this;
                    wfTA.WindowState          = FormWindowState.Normal;
                    wfTA.BeforeExitEvent     += BeforeExitTipoAcao;
                    wfTA.Dock = DockStyle.Fill;
                    if (iQntAcao > 1)
                    {
                        wfTA.Show();
                    }
                    else
                    {
                        if (ACSGlobal.UsuarioLogado.USR_FLAGDIGITALIZACAO == 1)
                        {
                            changeScanOneAction();
                            attrAreas();
                            BeforeExitTipoAcao(sender);
                        }


                        if (ACSGlobal.UsuarioLogado.USR_FLAGIMPORTACAO == 1)
                        {
                            ACSConfig.SystemAction       = ModeSystem.Import;
                            Global.ACSGlobal.TipoCaptura = 2;

                            if (ACSConfig.GetApp().User == ModeUser.Mono)
                            {
                                ACSConfig.SystemAction = ACSConfig.SystemAction | ModeSystem.Process;
                            }

                            attrAreas();
                            BeforeExitTipoAcao(sender);
                        }
                    }
                }
                else
                if (ACSGlobal.UsuarioLogado.USR_NIVELASSINA > 1)
                {
                    var wfTAs = new WFAssinaNivel2();
                    wfTAs.MdiParent        = this;
                    wfTAs.WindowState      = FormWindowState.Normal;
                    wfTAs.Dock             = DockStyle.Fill;
                    wfTAs.BeforeExitEvent += BeforeExitwfAssinatura;
                    wfTAs.Show();
                }
                else if ((ACSConfig.SystemAction == (ModeSystem.Scan | ModeSystem.Import | ModeSystem.Process)) ||
                         (ACSConfig.SystemAction == (ModeSystem.Scan | ModeSystem.Import)) ||
                         (ACSConfig.SystemAction == (ModeSystem.Scan | ModeSystem.Process)) ||
                         (ACSConfig.SystemAction == (ModeSystem.Import | ModeSystem.Process)))
                {
                    var wfTA = new WFTipoAcao();

                    wfTA.btnAssinar.Visible   = false;
                    wfTA.btnEscanear.Visible  = ((ACSConfig.SystemAction & (ModeSystem.Scan)) == ModeSystem.Scan);
                    wfTA.btnImportar.Visible  = ((ACSConfig.SystemAction & (ModeSystem.Import)) == ModeSystem.Import);
                    wfTA.btnProcessar.Visible = ((ACSConfig.SystemAction & (ModeSystem.Process)) == ModeSystem.Process) && (ACSConfig.GetApp().User == ModeUser.Multi);
                    wfTA.MdiParent            = this;
                    wfTA.WindowState          = FormWindowState.Normal;
                    wfTA.BeforeExitEvent     += BeforeExitTipoAcao;
                    wfTA.Dock = DockStyle.Fill;
                    if (!ACSConfig.GetScanner().Driver.ToUpper().Contains("FUJITSU") && !ACSConfig.GetScanner().Driver.ToUpper().Contains("SP-1120"))
                    {
                        Application.DoEvents();
                    }
                    if (iQntAcao > 1)
                    {
                        wfTA.Show();
                    }
                    else
                    {
                        if (ACSGlobal.UsuarioLogado.USR_FLAGDIGITALIZACAO == 1)
                        {
                            changeScanOneAction();
                            attrAreas();
                            BeforeExitTipoAcao(sender);
                        }


                        if (ACSGlobal.UsuarioLogado.USR_FLAGIMPORTACAO == 1)
                        {
                            ACSConfig.SystemAction       = ModeSystem.Import;
                            Global.ACSGlobal.TipoCaptura = 2;

                            if (ACSConfig.GetApp().User == ModeUser.Mono)
                            {
                                ACSConfig.SystemAction = ACSConfig.SystemAction | ModeSystem.Process;
                            }

                            attrAreas();
                            BeforeExitTipoAcao(sender);
                        }
                    }
                }
                else
                {
                    WFMessageBox.Show("Usuário sem Acesso!", MessageBoxButtons.OK, MessageBoxIcon.Information);
                    ACSDataBase.StopSession();
                    Application.ExitThread();
                }
            }
        }
        private void WFSetBarCode_Load(object sender, EventArgs e)
        {
            var idArea           = ACSGlobal.idAreaSelecionada;
            var listaDivisaoArea = ACSDataBase.GetDivisoesUsuario(idArea);

            var listaTipoCliente = ACSDataBase.GetTipoClienteArea(idArea);


            bool fFisico   = false;
            bool fJuridico = false;

            rbFisica.Enabled   = false;
            rbJuridico.Enabled = false;

            foreach (var item in listaTipoCliente)
            {
                if (item.TIC_FLAGTIPOCLIENTE == 1)
                {
                    fFisico = true;
                }
                if (item.TIC_FLAGTIPOCLIENTE == 2)
                {
                    fJuridico = true;
                }
            }

            //verificava por divisão
            // foreach (var item in listaDivisaoArea)
            // {
            //     if (item.DIV_FLAGTIPOCLIENTE == 1)
            //         fFisico = true;
            //     if (item.DIV_FLAGTIPOCLIENTE == 2)
            //         fJuridico = true;
            // }

            if (fFisico && fJuridico)
            {
                rbFisica.Enabled          = true;
                rbJuridico.Enabled        = true;
                rbFisica.Checked          = true;
                ACSGlobal.FlagPF          = true;
                ACSGlobal.flagTipoCliente = 1;
            }
            else
            if (fFisico && !fJuridico)
            {
                rbFisica.Enabled          = true;
                rbFisica.Checked          = true;
                ACSGlobal.FlagPF          = true;
                ACSGlobal.flagTipoCliente = 1;
                gpPFpj.Visible            = false;
            }
            else if (!fFisico && fJuridico)
            {
                rbJuridico.Enabled        = true;
                rbJuridico.Checked        = true;
                ACSGlobal.FlagPJ          = true;
                ACSGlobal.flagTipoCliente = 2;
                gpPFpj.Visible            = false;
            }
        }
        private void fnBtnLogin()
        {
            try
            {
                btnOk.Enabled = false;
                WFLoading.ShowLoad(true, "Login", "Autenticando usuário Tasy");

                ACSGlobal.UsuarioLogado = null;
                //validar no tasy

                UsuarioTasy tasy           = new UsuarioTasy();
                string      retornoUsuario = tasy.Execute(tbLogin.Text, tbPass.Text);


                //string retornoUsuario = "null";
                bool fUsuarioTasy = false;

                if (retornoUsuario == "null")
                {
                    fUsuarioTasy = false;
                }
                else
                if (retornoUsuario == "")
                {
                    fUsuarioTasy = true;
                }
                else
                if (retornoUsuario.Contains("Error") || retornoUsuario.Contains("Erro"))
                {
                    fUsuarioTasy = false;
                }

                //consulta usuario na base orion.
                //se o usuario nao tiver no tasy mas o grupo for 0 (orion consultoria) deixa logar
                //se nao for tasy e nem grupo 0 . usuario sem acesso.

                if (fUsuarioTasy)
                {
                    ACSGlobal.UsuarioLogado = ACSDataBase.GetGEDUsuarioOracleTasy(tbLogin.Text);
                    ACSGlobal.PassLogin     = tbPass.Text.Trim();
                    ACSGlobal.ListaAreas    = ACSDataBase.GetAreasUsuario((int)ACSGlobal.UsuarioLogado.USR_IDUSUARIO);
                    ACSGlobal.Duplex        = true;

                    if (ACSGlobal.UsuarioLogado != null && ACSGlobal.UsuarioLogado.USR_IDUSUARIO > 0)
                    {
                        if (ACSGlobal.SetoresUsuario == null)
                        {
                            WFLoading.CloseLoad();
                            WFMessageBox.Show("Acesso Negado! Usuário não pertence a nenhum Grupo de Usuário e/ou Setor", MessageBoxButtons.OK, MessageBoxIcon.Stop);
                            btnOk.Enabled = true;
                        }
                        else
                        {
                            ACSGlobal.isTasy = true;
                            // WFMessageBox.Show("Usuário Tasy!", MessageBoxButtons.OK, MessageBoxIcon.Information);
                            WFLoading.CloseLoad();
                            this.Close();
                        }

                        //verifica se o usuario tem a chave de assinatura
                        //bool fPin = VerificaCertificaXusuairo(ACSGlobal.UsuarioLogado.USR_SERIALNUMBERCERT);
                        //if (fPin == false)
                        //{
                        //    DialogResult resultPin = WFMessageBox.Show("Você não possui chave de assinatura e/ou não consta na máquina!", MessageBoxButtons.OK, MessageBoxIcon.Stop);
                        //    if (resultPin == System.Windows.Forms.DialogResult.OK)
                        //    {

                        //        Application.Exit();
                        //    }
                        //    else
                        //    {
                        //        Application.Exit();
                        //    }
                        //}
                        //else
                        //{

                        //    ACSGlobal.isTasy = true;
                        //    // WFMessageBox.Show("Usuário Tasy!", MessageBoxButtons.OK, MessageBoxIcon.Information);
                        //    thCloseis.();


                        //}
                    }
                    else
                    {
                        WFLoading.CloseLoad();
                        WFMessageBox.Show("Acesso Negado!", MessageBoxButtons.OK, MessageBoxIcon.Stop);
                        btnOk.Enabled = true;
                    }
                }
                else
                {
                    ACSGlobal.UsuarioLogado = ACSDataBase.GetGEDUsuarioOracle(tbLogin.Text, tbPass.Text);
                    ACSGlobal.PassLogin     = tbPass.Text.Trim();
                    ACSGlobal.ListaAreas    = ACSDataBase.GetAreasUsuario((int)ACSGlobal.UsuarioLogado.USR_IDUSUARIO);
                    ACSGlobal.Duplex        = true;

                    if (ACSGlobal.UsuarioLogado != null && ACSGlobal.UsuarioLogado.USR_IDUSUARIO > 0)
                    {
                        if (ACSGlobal.UsuarioLogado.USR_IDGRUPOUSUARIO >= 0)
                        {
                            ACSGlobal.isTasy = false;
                            //WFMessageBox.Show("Usuário Orion!", MessageBoxButtons.OK, MessageBoxIcon.Information);
                            WFLoading.CloseLoad();
                            this.Close();
                        }
                        else
                        {
                            if (ACSGlobal.SetoresUsuario == null)
                            {
                                WFLoading.CloseLoad();
                                WFMessageBox.Show("Acesso Negado! Usuário não pertence a nenhum Grupo de Usuário e/ou Setor", MessageBoxButtons.OK, MessageBoxIcon.Stop);
                                btnOk.Enabled = true;
                            }
                            else
                            {
                                WFLoading.CloseLoad();
                                WFMessageBox.Show("Acesso Negado!", MessageBoxButtons.OK, MessageBoxIcon.Stop);
                                btnOk.Enabled = true;
                            }
                        }
                    }
                    else
                    {
                        WFLoading.CloseLoad();
                        WFMessageBox.Show("Acesso Negado!", MessageBoxButtons.OK, MessageBoxIcon.Stop);
                        btnOk.Enabled = true;
                    }
                }
            }
            catch (Exception ex)
            {
                WFLoading.CloseLoad();
                ACSLog.InsertLog(MessageBoxIcon.Error, ex.Message);
                WFMessageBox.Show(ex.Message, MessageBoxButtons.OK, MessageBoxIcon.Error);
                btnOk.Enabled = true;
            }
        }