/// <summary>
        /// Lista todos os usuários
        /// </summary>
        /// <returns>listaUsuario</returns>
        public List <UsuarioADModel> ListaTodosUsuariosAD()
        {
            try
            {
                DirectoryEntry DirectoryEntry = new DirectoryEntry(EnderecoAD, UsuarioAD, SenhaAD);
                // Filtro para usuários ativos
                string            filtro  = "(&(objectCategory=person)(objectClass=user)(!userAccountControl:1.2.840.113556.1.4.803:=2))";
                DirectorySearcher dSearch = new DirectorySearcher(DirectoryEntry, filtro, propriedades, SearchScope.Subtree);
                var listaUsuario          = new List <UsuarioADModel>();
                var itemListaUsuario      = new UsuarioADModel();

                foreach (SearchResult sResultSet in dSearch.FindAll())
                {
                    itemListaUsuario       = new UsuarioADModel();
                    itemListaUsuario.Login = GetProperty(sResultSet, propriedades[0]).ToLower();
                    itemListaUsuario.Nome  = GetProperty(sResultSet, propriedades[1]).ToUpper();
                    itemListaUsuario.Email = GetProperty(sResultSet, propriedades[2]).ToLower();
                    listaUsuario.Add(itemListaUsuario);
                }

                return(listaUsuario.OrderBy(c => c.Nome).ToList());
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
        /// <summary>
        /// Pesquisa dados do usuário.
        /// </summary>
        /// <param name="loginUsuario">Login do Usuário</param>
        /// <returns>dadosUsuario</returns>
        public UsuarioADModel ListaDadosUsuarioAD(string loginUsuario)
        {
            try
            {
                string usuario = EnderecoAD + UsuarioAD + SenhaAD;

                DirectoryEntry    DirectoryEntry = new DirectoryEntry(EnderecoAD, UsuarioAD, SenhaAD);
                string            filtro         = "(&(objectClass=user)(sAMAccountName=" + loginUsuario + "))";
                DirectorySearcher dSearch        = new DirectorySearcher(DirectoryEntry, filtro, propriedades, SearchScope.Subtree);

                UsuarioADModel dadosUsuario = new UsuarioADModel();

                foreach (SearchResult sResultSet in dSearch.FindAll())
                {
                    dadosUsuario.Login = GetProperty(sResultSet, propriedades[0]).ToLower();
                    dadosUsuario.Nome  = GetProperty(sResultSet, propriedades[1]).ToUpper();
                    dadosUsuario.Email = GetProperty(sResultSet, propriedades[2]).ToLower();
                }

                return(dadosUsuario);
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
Пример #3
0
 public JsonResult ReprovarRegistrosOcorrenciaNivel1(string codigoRegistro, string observacaoReprovacao)
 {
     if (this.Logado != ((char)Enums.Logado.Sim).ToString())
     {
         return(this.Json(new { redirectUrl = Url.Action("Login", "Login"), Logado = true }, JsonRequestBehavior.AllowGet));
     }
     try
     {
         N0203REGBusiness N0203REGBusiness = new N0203REGBusiness();
         N9999USU         N9999USU         = new N9999USU();
         N9999USUBusiness N9999USUBusiness = new N9999USUBusiness();
         UsuarioADModel   usuarioAD        = new UsuarioADModel();
         var ActiveDirectoryBusiness       = new ActiveDirectoryBusiness();
         var dadosProtocolo = N0203REGBusiness.PesquisaRegistroOcorrencia(long.Parse(codigoRegistro));
         if (dadosProtocolo != null)
         {
             var tipoAtend = Enums.TipoAtendimento.DevolucaoMercadorias;
             if (dadosProtocolo.TIPATE == (int)Enums.TipoAtendimento.TrocaMercadorias)
             {
                 tipoAtend = Enums.TipoAtendimento.TrocaMercadorias;
             }
             N9999USU  = N9999USUBusiness.ListaDadosUsuarioPorCodigo(Convert.ToInt64(dadosProtocolo.USUGER));
             usuarioAD = ActiveDirectoryBusiness.ListaDadosUsuarioAD(N9999USU.LOGIN);
             bool ReprovadoSucesso = N0203REGBusiness.ReprovarRegistrosOcorrenciaNivel1(long.Parse(codigoRegistro), long.Parse(this.CodigoUsuarioLogado), observacaoReprovacao);
             this.MontarEmailProtocoloReprovado(codigoRegistro, observacaoReprovacao, tipoAtend, usuarioAD.Email);
             return(this.Json(new { ReprovadoSucesso }, JsonRequestBehavior.AllowGet));
         }
         else
         {
             var msgRetornoSapiens = string.Empty;
             msgRetornoSapiens = "Registro de devolução Nº " + codigoRegistro + " não encontrado.";
             return(this.Json(new { redirectUrl = Url.Action("ErroException", "Erro"), ErroExcecao = true }, JsonRequestBehavior.AllowGet));
         }
     }
     catch (Exception ex)
     {
         this.Session["ExceptionErro"] = ex;
         return(this.Json(new { redirectUrl = Url.Action("ErroException", "Erro"), ErroExcecao = true }, JsonRequestBehavior.AllowGet));
     }
 }
Пример #4
0
        public JsonResult AprovarRegistrosOcorrenciaNivel1(string codigoRegistro, string observacaoAprovacao)
        {
            if (this.Logado != ((char)Enums.Logado.Sim).ToString())
            {
                return(this.Json(new { redirectUrl = Url.Action("Login", "Login"), Logado = true }, JsonRequestBehavior.AllowGet));
            }
            try
            {
                N0203REGBusiness N0203REGBusiness = new N0203REGBusiness();
                N9999USU         N9999USU         = new N9999USU();
                N9999USUBusiness N9999USUBusiness = new N9999USUBusiness();
                UsuarioADModel   usuarioAD        = new UsuarioADModel();
                var ActiveDirectoryBusiness       = new ActiveDirectoryBusiness();
                var dadosProtocolo = N0203REGBusiness.PesquisaRegistroOcorrencia(long.Parse(codigoRegistro));
                if (dadosProtocolo != null)
                {
                    var tipoAtend = Enums.TipoAtendimento.DevolucaoMercadorias;
                    if (dadosProtocolo.TIPATE == (int)Enums.TipoAtendimento.TrocaMercadorias)
                    {
                        tipoAtend = Enums.TipoAtendimento.TrocaMercadorias;
                    }
                    N9999USU  = N9999USUBusiness.ListaDadosUsuarioPorCodigo(Convert.ToInt64(dadosProtocolo.USUGER));
                    usuarioAD = ActiveDirectoryBusiness.ListaDadosUsuarioAD(N9999USU.LOGIN);
                    bool AprovadoSucesso = N0203REGBusiness.AprovarRegistrosOcorrenciaNivel1(long.Parse(codigoRegistro), long.Parse(this.CodigoUsuarioLogado), observacaoAprovacao);
                    //#if DEBUG
                    //System.IO.File.WriteAllText(@"C:\Projetos_Desenvolvimento\Arquivo.txt", usuarioAD.Email);
                    //#endif

                    this.MontarEmailProtocoloAprovado(codigoRegistro, "", tipoAtend, usuarioAD.Email);

                    if (AprovadoSucesso)
                    {
                        E140NFVBusiness E140NFVBusiness = new E140NFVBusiness();

                        var notas = (from a in dadosProtocolo.N0203IPV
                                     group new { a } by new { a.CODFIL, a.NUMNFV } into grupo
                                     select new
                        {
                            CodFilial = grupo.Key.CODFIL,
                            NumeroNota = grupo.Key.NUMNFV,
                            ValorBruto = decimal.Round(decimal.Parse(grupo.Sum(v => v.a.QTDDEV * v.a.PREUNI).ToString()), 2, MidpointRounding.AwayFromZero),
                            ValorIpi = decimal.Round(decimal.Parse(grupo.Sum(v => (v.a.QTDDEV * v.a.PREUNI) * float.Parse(((v.a.PERIPI / 100).ToString()))).ToString()), 2, MidpointRounding.AwayFromZero),
                        }).ToList();


                        string notasEmail = string.Empty;
                        string cliente    = string.Empty;

                        if (notas.Count > 0)
                        {
                            E085CLIBusiness E085CLIBusiness = new E085CLIBusiness();

                            var codCli      = Convert.ToInt64(dadosProtocolo.CODCLI);
                            var nomeCliente = E085CLIBusiness.PesquisaClientes(codCli).FirstOrDefault().NomeFantasia;
                            cliente = "Cliente: " + codCli + " - " + nomeCliente;

                            foreach (var item in notas)
                            {
                                // Nota Tipo Boleto
                                if (E140NFVBusiness.PesquisarTipoPagamentoNota(item.CodFilial, item.NumeroNota) == 2)
                                {
                                    var valorNota        = E140NFVBusiness.PesquisarDadosNota(item.NumeroNota, item.CodFilial, null, "3").FirstOrDefault().ValorLiquido;
                                    var valorFatNotaMask = Convert.ToDouble(valorNota).ToString("###,###,##0.00");
                                    var valorNotaDev     = Convert.ToDouble(item.ValorBruto + item.ValorIpi).ToString("###,###,##0.00");

                                    var d = valorNotaDev.ToString().Split(',');
                                    var x = d[1].Substring(0, 2).PadRight(2, '0');
                                    var valorDevNotaMask = d[0] + "," + x;

                                    double valorNotaD    = Convert.ToDouble(valorFatNotaMask);
                                    double valorNotaDevD = Convert.ToDouble(valorNotaDev);
                                    var    valorReceber  = Convert.ToDouble(valorNotaD - valorNotaDevD).ToString("###,###,##0.00");

                                    notasEmail = notasEmail + "Número da Nota: " + item.NumeroNota.ToString() + " - Filial: " + item.CodFilial.ToString() + " - Val. Líquido: " + valorFatNotaMask + " - Val. Líquido Devolução: " + valorDevNotaMask + " - Valor a Receber: " + valorReceber + "&";
                                }
                            }
                        }

                        if (dadosProtocolo.TIPATE == (int)Enums.TipoAtendimento.TrocaMercadorias)
                        {
                            tipoAtend = Enums.TipoAtendimento.TrocaMercadorias;
                        }

                        if (!string.IsNullOrEmpty(notasEmail))
                        {
                            this.MontarEmailFinanceiroNotasBoleto(dadosProtocolo.NUMREG.ToString(), notasEmail, cliente, tipoAtend);
                        }
                    }
                    return(this.Json(new { AprovadoSucesso }, JsonRequestBehavior.AllowGet));
                }
                else
                {
                    var msgRetornoSapiens = string.Empty;
                    msgRetornoSapiens = "Registro de devolução Nº " + codigoRegistro + " não encontrado.";
                    return(this.Json(new { redirectUrl = Url.Action("ErroException", "Erro"), ErroExcecao = true }, JsonRequestBehavior.AllowGet));
                }
            }
            catch (Exception ex)
            {
                this.Session["ExceptionErro"] = ex;
                return(this.Json(new { redirectUrl = Url.Action("ErroException", "Erro"), ErroExcecao = true }, JsonRequestBehavior.AllowGet));
            }
        }