コード例 #1
0
        public ActionResult BuscarTotalDocsInbox()
        {
            int iTotal   = 0;
            int iPessoal = 0;
            int iGrupos  = 0;


            if (memoryCacheDefault.Contains(CustomAuthorizationProvider.UsuarioAutenticado.Login + "InboxTotal"))
            {
                List <int> lista = (List <int>)memoryCacheDefault[CustomAuthorizationProvider.UsuarioAutenticado.Login + "InboxTotal"];
                iTotal   = lista[0];
                iPessoal = lista[1];
                iGrupos  = lista[2];
            }
            else
            {
                List <string> perfis = (from usuarioperfil in UsuarioPerfilBusiness.Consulta.Where(p => string.IsNullOrEmpty(p.UsuarioExclusao)).ToList()
                                        join perfil in PerfilBusiness.Consulta.Where(p => string.IsNullOrEmpty(p.UsuarioExclusao)).ToList() on usuarioperfil.UKPerfil equals perfil.UniqueKey
                                        where usuarioperfil.UKUsuario.Equals(CustomAuthorizationProvider.UsuarioAutenticado.UniqueKey)
                                        select "'" + perfil.Nome + "'").ToList();

                string sql = @"select 'Pessoal' as tipo, COUNT(*) as Total
                           from OBJIncidente i
                           where i.Responsavel in ('" + CustomAuthorizationProvider.UsuarioAutenticado.Login + @"') and i.UsuarioExclusao is null 

                           union all
                           
                           select 'Grupos' as tipo, COUNT(*) as Total
                           from OBJIncidente i
                           where i.Responsavel in (" + string.Join(",", perfis) + @") and i.UsuarioExclusao is null ";

                DataTable dtInbox = PerfilBusiness.GetDataTable(sql);
                if (dtInbox.Rows.Count > 0)
                {
                    foreach (DataRow row in dtInbox.Rows)
                    {
                        if (row[0].ToString().Equals("Pessoal"))
                        {
                            iPessoal = int.Parse(row[1].ToString());
                        }
                        else
                        {
                            iGrupos = int.Parse(row[1].ToString());
                        }
                    }

                    iTotal = iPessoal + iGrupos;
                }

                List <int> lista = new List <int>();
                lista.Add(iTotal);
                lista.Add(iPessoal);
                lista.Add(iGrupos);

                memoryCacheDefault.Add(CustomAuthorizationProvider.UsuarioAutenticado.Login + "InboxTotal", lista, DateTime.Today.AddHours(2));
            }

            return(Json(new { resultado = new { Total = iTotal, Pessoal = iPessoal, Grupos = iGrupos } }));
        }
コード例 #2
0
        public ActionResult CarregarInboxGrupos(string tab)
        {
            try
            {
                List <string> perfis = (from usuarioperfil in UsuarioPerfilBusiness.Consulta.Where(p => string.IsNullOrEmpty(p.UsuarioExclusao)).ToList()
                                        join perfil in PerfilBusiness.Consulta.Where(p => string.IsNullOrEmpty(p.UsuarioExclusao)).ToList() on usuarioperfil.UKPerfil equals perfil.UniqueKey
                                        where usuarioperfil.UKUsuario.Equals(CustomAuthorizationProvider.UsuarioAutenticado.UniqueKey)
                                        select "'" + perfil.Nome + "'").ToList();

                switch (tab)
                {
                case "Incidentes":

                    List <VMIncidente> lista = new List <VMIncidente>();

                    string sql = @"select i.UniqueKey, i.Codigo, i.DataIncidente, i.ETipoAcidente, d.Sigla, i.AcidenteFatal, i.AcidenteGraveIP102, i.Status, i.MensagemPasso
                                       from OBJIncidente i, OBJDepartamento d
                                       where i.Responsavel in (" + string.Join(",", perfis) + @") and i.UsuarioExclusao is null and
		                                     i.UKOrgao = d.UniqueKey and d.UsuarioExclusao is null
                                       order by i.datainclusao desc ";

                    DataTable dtInbox = PerfilBusiness.GetDataTable(sql);
                    if (dtInbox.Rows.Count > 0)
                    {
                        foreach (DataRow row in dtInbox.Rows)
                        {
                            lista.Add(new VMIncidente()
                            {
                                UniqueKey          = row[0].ToString(),
                                Codigo             = row[1].ToString(),
                                DataIncidente      = ((DateTime)row[2]).ToString("dd/MM/yyyy"),
                                ETipoAcidente      = ((ETipoAcidente)Enum.Parse(typeof(ETipoAcidente), row[3].ToString())).GetDisplayName(),
                                Orgao              = row[4].ToString(),
                                AcidenteFatal      = ((bool)row[5]) ? "Sim" : "Não",
                                AcidenteGraveIP102 = ((bool)row[6]) ? "Sim" : "Não",
                                Status             = row[7].ToString(),
                                MensagemPasso      = row[8].ToString()
                            });
                        }
                    }

                    return(PartialView("_ListarIncidente", lista));

                case "IncidentesVeiculos":
                    return(PartialView("_ListarIncidenteVeiculo"));

                case "QuaseIncidentes":
                    return(PartialView("_ListarQuaseIncidente"));

                case "QuaseIncidentesVeiculos":
                    return(PartialView("_ListarQuaseIncidenteVeiculo"));

                default:
                    throw new Exception("Tab não reconhecida.");
                }
            }
            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
                                      } }));
                }
            }
        }