Пример #1
0
        internal static List <ESocial> getDocumentosProcessados(int limite, int id_empresa_servidor)
        {
            try
            {
                List <ESocial> documentos = new List <ESocial>();
                DataSet        dados      = ESocialDAO.getDocumentosProcessados(limite, id_empresa_servidor);

                foreach (DataRow dado in dados.Tables[0].Rows)
                {
                    int      id              = Int32.Parse(dado["id"].ToString());
                    int      status          = Int32.Parse(dado["status"].ToString());
                    int      id_servidor     = Int32.Parse(dado["id_servidor"].ToString());
                    int      id_empresa      = Int32.Parse(dado["id_empresa"].ToString());
                    int      ambiente        = Int32.Parse(dado["ambiente"].ToString());
                    DateTime data            = dado.Field <DateTime>("data");
                    string   xml_base64      = dado.Field <string>("xml_base64");
                    string   resposta_base64 = dado.Field <string>("resposta_xml_base64");

                    ESocial documento = new ESocial(id, status, id_servidor, ambiente, id_empresa, data, xml_base64, resposta_base64);
                    documentos.Add(documento);
                }

                return(documentos);
            }
            catch (Exception ex)
            {
                throw new Exception("Erro ao recuperar documentos no banco: " + ex.Message);
            }
        }
Пример #2
0
 public static void novo(ESocial esocial, int user_id)
 {
     try
     {
         ESocialDAO.novo(esocial.Id_servidor, esocial.Id_empresa, esocial.Status, esocial.Ambiente, esocial.Data, esocial.Xml_base64, user_id);
     } catch (Exception ex)
     {
         throw new Exception("Erro ao salvar ESocial no banco: " + ex.Message);
     }
 }
Пример #3
0
 public static void marcarComoProcessado(ESocial documento, XmlDocument xml_assinado, XmlDocument resposta)
 {
     try
     {
         string xml_assinado_base64 = base64Encode(xml_assinado.InnerXml);
         string resposta_base64     = base64Encode(resposta.InnerXml);
         ESocialDAO.marcarComoProcessado(documento.id, xml_assinado_base64, resposta_base64);
     }
     catch (Exception ex)
     {
         throw ex;
     }
 }
Пример #4
0
 internal static void novoDocumentoProcessado(ESocial documento, XmlDocument xml_assinado, XmlDocument resposta, int user_id)
 {
     try
     {
         string resposta_base64     = base64Encode(resposta.InnerXml);
         string xml_assinado_base64 = base64Encode(xml_assinado.InnerXml);
         ESocialDAO.novoDocumentoProcessado(documento.Id_servidor, documento.Id_empresa, 1, documento.Ambiente,
                                            documento.Data, xml_assinado_base64, resposta_base64, user_id);
     }
     catch (Exception ex)
     {
         throw new Exception("Erro ao salvar ESocial no banco: " + ex.Message);
     }
 }
Пример #5
0
        /// <summary>
        /// extrai os xmls compactados presente no servidor
        /// </summary>
        private List <ESocial> extrairXmlsRetornoServidor(string retorno_servidor)
        {
            try
            {
                List <ESocial> documentos = new List <ESocial>();

                if (retorno_servidor.Equals(""))
                {
                    return(documentos);
                }
                JObject json = JObject.Parse(retorno_servidor);

                int    erro    = (int)json["erro"];
                string retorno = (string)json["retorno"];

                this.log.log("Retorno do WB Contando: ");
                this.log.log("Erro: " + erro);
                this.log.log("retorno: " + retorno);

                if (erro == 0)
                {
                    JArray dados = (JArray)json["dados"];
                    this.log.log("Iniciando copia de novos xmls para o banco de dados");
                    foreach (JObject dado in dados)
                    {
                        int    id_servidor = (int)dado["id"];
                        int    id_empresa  = (int)dado["id_empresa"];
                        int    ambiente    = (int)dado["ambiente"];
                        string data_str    = (string)dado["data"];
                        string hora_str    = (string)dado["hora"];
                        int    assinado    = (int)dado["assinado"];
                        string xml_base64  = (string)dado["xml"];

                        DateTime data = DateTime.ParseExact(data_str + " " + hora_str, "yyyy-MM-dd HH:mm:ss",
                                                            System.Globalization.CultureInfo.InvariantCulture);

                        ESocial documento = new ESocial(assinado, id_servidor, ambiente, id_empresa, data, xml_base64);
                        documentos.Add(documento);
                    }
                }

                return(documentos);
            } catch (Exception ex)
            {
                throw new Exception("Erro extrair os xmls do retorno do servidor: " + ex.Message);
            }
        }
Пример #6
0
        public static List <ESocial> getDocumentosUltimosDocumentos(int id_empresa_servidor, int limite)
        {
            List <ESocial> documentos = new List <ESocial>();
            DataSet        dados      = ESocialDAO.getDocumentos(limite, id_empresa_servidor);

            foreach (DataRow dado in dados.Tables[0].Rows)
            {
                int      status      = Int32.Parse(dado["status"].ToString());
                int      id_servidor = Int32.Parse(dado["id_servidor"].ToString());
                DateTime data        = dado.Field <DateTime>("data");

                ESocial documento = new ESocial(status, id_servidor, data);
                documentos.Add(documento);
            }

            return(documentos);
        }
Пример #7
0
        public ActionResult Detalhes(string uniquekey)
        {
            try
            {
                if (string.IsNullOrEmpty(uniquekey))
                {
                    throw new Exception("Não foi possível localizar o parâmetro que identifica o incidente com veículo.");
                }
                else
                {
                    List <IncidenteVeiculo> lista    = IncidenteVeiculoBusiness.Consulta.Where(a => a.UniqueKey.Equals(uniquekey) && string.IsNullOrEmpty(a.UsuarioExclusao)).ToList();
                    IncidenteVeiculo        registro = lista[0];

                    registro.PassoAtual = WorkflowBusiness.Consulta.FirstOrDefault(a => string.IsNullOrEmpty(a.UsuarioExclusao) && a.UKObject.Equals(registro.UniqueKey));


                    VMIncidenteVeiculo vm = new VMIncidenteVeiculo();

                    if (registro.PassoAtual != null)
                    {
                        vm.UKWorkflow = registro.PassoAtual.UniqueKey;
                        vm.StatusWF   = registro.PassoAtual.Nome;
                    }
                    else
                    {
                        vm.StatusWF = registro.Status.ToString();
                    }

                    vm.UniqueKey = registro.UniqueKey;
                    vm.Codigo    = registro.Codigo;
                    //vm.Status = registro.Status;
                    vm.Descricao          = registro.Descricao;
                    vm.AcidenteFatal      = registro.AcidenteFatal ? "Sim" : "Não";
                    vm.AcidenteGraveIP102 = registro.AcidenteGraveIP102 ? "Sim" : "Não";
                    vm.Centro             = registro.Centro.GetDisplayName();
                    vm.Regional           = registro.Regional.ToString();
                    vm.NumeroSmart        = registro.NumeroSmart;

                    if (registro.ETipoEntrada != 0)
                    {
                        vm.TipoEntrada = registro.ETipoEntrada.GetDisplayName();
                    }



                    Municipio mun = MunicipioBusiness.Consulta.FirstOrDefault(a => string.IsNullOrEmpty(a.UsuarioExclusao) && a.UniqueKey.Equals(registro.UKMunicipio));
                    if (mun != null)
                    {
                        vm.Municipio = mun.NomeCompleto;
                    }

                    ESocial eso = ESocialBusiness.Consulta.FirstOrDefault(a => string.IsNullOrEmpty(a.UsuarioExclusao) && a.UniqueKey.Equals(registro.UKESocial));
                    if (eso != null)
                    {
                        vm.ESocial          = eso.Codigo;
                        ViewBag.ESocialDesc = eso.Descricao;
                    }


                    vm.Estado           = registro.Estado;
                    vm.Logradouro       = registro.Logradouro;
                    vm.NumeroLogradouro = registro.NumeroLogradouro;
                    vm.ETipoAcidente    = registro.ETipoAcidente.GetDisplayName();
                    vm.LocalAcidente    = registro.LocalAcidente;


                    Departamento dep = DepartamentoBusiness.Consulta.FirstOrDefault(a => string.IsNullOrEmpty(a.UsuarioExclusao) && a.UniqueKey.Equals(registro.UKOrgao));
                    if (dep != null)
                    {
                        vm.Orgao = dep.Sigla;
                    }

                    if (registro.TipoLocalAcidente != 0)
                    {
                        vm.TipoLocalAcidente = registro.TipoLocalAcidente.GetDisplayName();
                    }


                    vm.DataIncidente = registro.DataIncidente.ToString("dd/MM/yyyy");
                    vm.HoraIncidente = registro.HoraIncidente;
                    vm.DataInclusao  = registro.DataInclusao.ToString("dd/MM/yyyy HH:mm");

                    if (registro.DataAtualizacao != null)
                    {
                        vm.DataAtualizacao = ((DateTime)registro.DataAtualizacao).ToString("dd/MM/yyyy HH:mm");
                    }

                    vm.UsuarioInclusao = registro.UsuarioInclusao;

                    vm.Arquivos = ArquivoBusiness.Consulta.Where(a => string.IsNullOrEmpty(a.UsuarioExclusao) && a.UKObjeto.Equals(uniquekey)).ToList();

                    vm.Operacoes = OperacaoBusiness.RecuperarTodasPermitidas(CustomAuthorizationProvider.UsuarioAutenticado.Login, CustomAuthorizationProvider.UsuarioAutenticado.Permissoes, lista);

                    registro.Operacoes = vm.Operacoes;

                    ViewBag.Incidente = registro;

                    vm.Veiculos = (from iv in IncidenteVeiculoVeiculoBusiness.Consulta.Where(p => string.IsNullOrEmpty(p.UsuarioExclusao) && p.UKIncidenteVeiculo.Equals(vm.UniqueKey)).ToList()
                                   join v in VeiculoBusiness.Consulta.Where(p => string.IsNullOrEmpty(p.UsuarioExclusao)).ToList() on iv.UKVeiculo equals v.UniqueKey
                                   select new VMVeiculo()
                    {
                        TipoCondutor = iv.TipoCondutor,
                        NomeCondutor = iv.NomeCondutor,
                        TipoFrota = v.TipoFrota,
                        Placa = v.Placa,
                        TipoVeiculo = v.TipoVeiculo,
                        UKRel = iv.UniqueKey
                    }).ToList();

                    vm.Populacao = (from iv in IncidenteVeiculoPopulacaoBusiness.Consulta.Where(p => string.IsNullOrEmpty(p.UsuarioExclusao) && p.UKIncidenteVeiculo.Equals(vm.UniqueKey)).ToList()
                                    join v in PopulacaoBusiness.Consulta.Where(p => string.IsNullOrEmpty(p.UsuarioExclusao)).ToList() on iv.UKPopulacao equals v.UniqueKey
                                    select new VMPopulacao()
                    {
                        TipoAcidente = iv.TipoAcidente,
                        Atividade = iv.Atividade,
                        Causa = iv.Causa,
                        AgenteCausador = iv.AgenteCausador,
                        DataNascimento = v.DataNascimento.ToString("dd/MM/yyyy"),
                        Sexo = v.Sexo,
                        Nome = v.Nome,
                        Natureza = iv.Natureza,
                        UKPopulacao = v.UniqueKey,
                        UKRel = iv.UniqueKey
                    }).ToList();

                    vm.Materiais = MaterialBusiness.Consulta.Where(a => string.IsNullOrEmpty(a.UsuarioExclusao) && a.UKIncidente.Equals(vm.UniqueKey)).ToList();

                    return(PartialView("_DetalhesVeiculo", vm));
                }
            }
            catch (Exception ex)
            {
                if (ex.GetBaseException() == null)
                {
                    return(Json(new { resultado = new RetornoJSON()
                                      {
                                          Erro = ex.Message
                                      } }));
                }
                else
                {
                    return(Json(new { resultado = new RetornoJSON()
                                      {
                                          Erro = ex.GetBaseException().Message
                                      } }));
                }
            }
        }