Пример #1
0
        public ActionResult GetPerfilEmpleados([DataSourceRequest] DataSourceRequest request, string perfil, int?CCMSId)
        {
            try
            {
                if ((!string.IsNullOrEmpty(perfil)) || (CCMSId > 0))
                {
                    using (ASNContext context = new ASNContext())
                    {
                        List <CatPerfilEmpleadosViewModel>  listado               = new List <CatPerfilEmpleadosViewModel>();
                        List <CatPerfilEmpleadosViewModel>  listadoTemp           = new List <CatPerfilEmpleadosViewModel>();
                        List <CatPerfilEmpleadosSel_Result> list2                 = new List <CatPerfilEmpleadosSel_Result>();
                        List <CatPerfilEmpleadosSel_ByEmpleadoNivel_Result> list3 = new List <CatPerfilEmpleadosSel_ByEmpleadoNivel_Result>();

                        if (!string.IsNullOrEmpty(perfil))
                        {
                            context.Database.CommandTimeout = int.Parse(ConfigurationManager.AppSettings["TimeOutMinutes"]);
                            list2 = context.CatPerfilEmpleadosSel(Convert.ToInt32(perfil)).ToList();
                            foreach (var item in list2)
                            {
                                CatPerfilEmpleadosViewModel element = new CatPerfilEmpleadosViewModel()
                                {
                                    Perfil_Ident          = item.Perfil_Ident,
                                    Country_Ident         = (item.Country_Ident != null ? item.Country_Ident.ToString() : "-1"),
                                    NombrePerfilEmpleados = item.NombrePerfilEmpleados,
                                    Country_Full_Name     = item.Country_Full_Name,
                                    City_Ident            = item.City_Ident.ToString(),
                                    City_Name             = item.City_Name,
                                    Location_Ident        = (item.Location_Ident != null ? item.Location_Ident.ToString() : "-1"),
                                    Location_Name         = item.Location_Name,
                                    Client_Ident          = item.Client_Ident,
                                    Client_Name           = item.Client_Name,
                                    Program_Ident         = (item.Program_Ident != null ? item.Program_Ident.ToString() : "-1"),
                                    Program_Name          = item.Program_Name,
                                    Contract_Type_Ident   = (item.Contract_Type_Ident != null ? item.Contract_Type_Ident.ToString() : "-1"),
                                    Contract_Type         = item.Contract_Type,
                                    ConceptoId            = (item.ConceptoId != null ? item.ConceptoId.ToString() : "-1"),
                                    ConceptoNombre        = item.ConceptoNombre,
                                    TipoAccesoId          = item.TipoAccesoId,
                                    TipoAcceso            = item.TipoAcceso,
                                    Active = item.Active
                                };


                                listadoTemp.Add(element);
                            }

                            var conta = (from x in listadoTemp where x.TipoAccesoId == 1 select x).Count();
                            if (conta == 0)
                            {
                                listado.Add(new CatPerfilEmpleadosViewModel()
                                {
                                    Perfil_Ident = -1, NombrePerfilEmpleados = "SOL_1749278", TipoAccesoId = 1
                                });
                            }
                            else
                            {
                                listado.AddRange(from x in listadoTemp where x.TipoAccesoId == 1 select x);
                            }

                            conta = (from x in listadoTemp where x.TipoAccesoId == 2 select x).Count();
                            if (conta == 0)
                            {
                                listado.Add(new CatPerfilEmpleadosViewModel()
                                {
                                    Perfil_Ident = -2, NombrePerfilEmpleados = "AU1_1749278", TipoAccesoId = 2
                                });
                                listado.Add(new CatPerfilEmpleadosViewModel()
                                {
                                    Perfil_Ident = -2, NombrePerfilEmpleados = "AU2_1749278", TipoAccesoId = 2
                                });
                                listado.Add(new CatPerfilEmpleadosViewModel()
                                {
                                    Perfil_Ident = -3, NombrePerfilEmpleados = "AU3_1749278", TipoAccesoId = 2
                                });
                            }
                            else
                            {
                                listado.AddRange(from x in listadoTemp where x.TipoAccesoId == 2 select x);
                            }

                            conta = (from x in listado where x.TipoAccesoId == 4 select x).Count();
                            if (conta == 0)
                            {
                                listado.Add(new CatPerfilEmpleadosViewModel()
                                {
                                    Perfil_Ident = -4, NombrePerfilEmpleados = "CON_1749278", TipoAccesoId = 4
                                });
                            }
                            else
                            {
                                listado.AddRange(from x in listadoTemp where x.TipoAccesoId == 4 select x);
                            }

                            conta = (from x in listado where x.TipoAccesoId == 3 select x).Count();
                            if (conta == 0)
                            {
                                listado.Add(new CatPerfilEmpleadosViewModel()
                                {
                                    Perfil_Ident = -5, NombrePerfilEmpleados = "RES_1749278", TipoAccesoId = 3
                                });
                            }
                            else
                            {
                                listado.AddRange(from x in listadoTemp where x.TipoAccesoId == 3 select x);
                            }

                            DataSourceResult ok = listado.ToDataSourceResult(request);
                            return(Json(ok));
                        }
                        else
                        {
                            context.Database.CommandTimeout = int.Parse(ConfigurationManager.AppSettings["TimeOutMinutes"]);
                            list3 = context.CatPerfilEmpleadosSel_ByEmpleadoNivel(CCMSId).ToList();
                            foreach (var item in list3)
                            {
                                CatPerfilEmpleadosViewModel element = new CatPerfilEmpleadosViewModel()
                                {
                                    Perfil_Ident          = item.Perfil_Ident,
                                    Country_Ident         = (item.Country_Ident != null ? item.Country_Ident.ToString() : "-1"),
                                    NombrePerfilEmpleados = item.NombrePerfilEmpleados,
                                    Country_Full_Name     = item.Country_Full_Name,
                                    City_Ident            = item.City_Ident.ToString(),
                                    City_Name             = item.City_Name,
                                    Location_Ident        = (item.Location_Ident != null ? item.Location_Ident.ToString() : "-1"),
                                    Location_Name         = item.Location_Name,
                                    Client_Ident          = item.Client_Ident,
                                    Client_Name           = item.Client_Name,
                                    Program_Ident         = (item.Program_Ident != null ? item.Program_Ident.ToString() : "-1"),
                                    Program_Name          = item.Program_Name,
                                    Contract_Type_Ident   = (item.Contract_Type_Ident != null ? item.Contract_Type_Ident.ToString() : "-1"),
                                    Contract_Type         = item.Contract_Type,
                                    ConceptoId            = (item.ConceptoId != null ? item.ConceptoId.ToString() : "-1"),
                                    ConceptoNombre        = item.ConceptoNombre,
                                    TipoAccesoId          = item.TipoAccesoId ?? 0,
                                    TipoAcceso            = item.TipoAcceso,
                                    Active = item.Active ?? false,
                                    Nivel  = item.Nivel ?? 0
                                };
                                listadoTemp.Add(element);
                            }
                            int[] arr = { 1, 1, 1, 1, 1, 1 };
                            foreach (var item in listadoTemp)
                            {
                                if (item.TipoAccesoId == 1)
                                {
                                    arr[0] = 0;
                                }
                                if (item.TipoAccesoId == 2)
                                {
                                    if (item.Nivel == 1)
                                    {
                                        arr[1] = 0;
                                    }
                                    if (item.Nivel == 2)
                                    {
                                        arr[2] = 0;
                                    }
                                    if (item.Nivel == 3)
                                    {
                                        arr[3] = 0;
                                    }
                                }
                                if (item.TipoAccesoId == 4)
                                {
                                    arr[4] = 0;
                                }
                                if (item.TipoAccesoId == 3)
                                {
                                    arr[5] = 0;
                                }
                            }


                            if (arr[0] == 1)
                            {
                                listado.Add(new CatPerfilEmpleadosViewModel()
                                {
                                    Perfil_Ident = -1, NombrePerfilEmpleados = NomprePerfil("SOL", CCMSId), TipoAccesoId = 1
                                });
                            }
                            else
                            {
                                listado.AddRange(from x in listadoTemp where x.TipoAccesoId == 1 select x);
                            }
                            if (arr[1] == 1)
                            {
                                listado.Add(new CatPerfilEmpleadosViewModel()
                                {
                                    Perfil_Ident = -2, NombrePerfilEmpleados = NomprePerfil("AU1", CCMSId), TipoAccesoId = 2
                                });
                            }
                            else
                            {
                                listado.AddRange(from x in listadoTemp where x.TipoAccesoId == 2 && x.Nivel == 1 select x);
                            }
                            if (arr[2] == 1)
                            {
                                listado.Add(new CatPerfilEmpleadosViewModel()
                                {
                                    Perfil_Ident = -3, NombrePerfilEmpleados = NomprePerfil("AU2", CCMSId), TipoAccesoId = 2
                                });
                            }
                            else
                            {
                                listado.AddRange(from x in listadoTemp where x.TipoAccesoId == 2 && x.Nivel == 2 select x);
                            }
                            if (arr[3] == 1)
                            {
                                listado.Add(new CatPerfilEmpleadosViewModel()
                                {
                                    Perfil_Ident = -4, NombrePerfilEmpleados = NomprePerfil("AU3", CCMSId), TipoAccesoId = 2
                                });
                            }
                            else
                            {
                                listado.AddRange(from x in listadoTemp where x.TipoAccesoId == 2 && x.Nivel == 3 select x);
                            }
                            if (arr[4] == 1)
                            {
                                listado.Add(new CatPerfilEmpleadosViewModel()
                                {
                                    Perfil_Ident = -5, NombrePerfilEmpleados = NomprePerfil("CON", CCMSId), TipoAccesoId = 4
                                });
                            }
                            else
                            {
                                listado.AddRange(from x in listadoTemp where x.TipoAccesoId == 4 select x);
                            }
                            if (arr[5] == 1)
                            {
                                listado.Add(new CatPerfilEmpleadosViewModel()
                                {
                                    Perfil_Ident = -6, NombrePerfilEmpleados = NomprePerfil("RES", CCMSId), TipoAccesoId = 3
                                });
                            }
                            else
                            {
                                listado.AddRange(from x in listadoTemp where x.TipoAccesoId == 3 select x);
                            }
                            DataSourceResult ok = listado.ToDataSourceResult(request);
                            return(Json(ok));
                        }
                    }
                }
                else
                {
                    return(Json(""));
                }
            }
            catch (Exception ex)
            {
                MyCustomIdentity usuario = (MyCustomIdentity)User.Identity;
                LogError         log     = new LogError();
                log.RecordError(ex, usuario.UserInfo.Ident.Value);
                return(Json(""));
            }
        }
Пример #2
0
 public ActionResult GetPerfilEmpleados([DataSourceRequest] DataSourceRequest request, string perfil, int?CCMSId)
 {
     try
     {
         if ((!string.IsNullOrEmpty(perfil)) || (CCMSId > 0))
         {
             using (ASNContext context = new ASNContext())
             {
                 List <CatPerfilEmpleadosViewModel>             listado = new List <CatPerfilEmpleadosViewModel>();
                 List <CatPerfilEmpleadosSel_Result>            list2   = new List <CatPerfilEmpleadosSel_Result>();
                 List <CatPerfilEmpleadosSel_ByEmpleado_Result> list3   = new List <CatPerfilEmpleadosSel_ByEmpleado_Result>();
                 if (!string.IsNullOrEmpty(perfil))
                 {
                     context.Database.CommandTimeout = int.Parse(ConfigurationManager.AppSettings["TimeOutMinutes"]);
                     list2 = context.CatPerfilEmpleadosSel(Convert.ToInt32(perfil)).ToList();
                     foreach (var item in list2)
                     {
                         CatPerfilEmpleadosViewModel element = new CatPerfilEmpleadosViewModel()
                         {
                             Perfil_Ident          = item.Perfil_Ident,
                             Country_Ident         = (item.Country_Ident != null ? item.Country_Ident.ToString() : "-1"),
                             NombrePerfilEmpleados = item.NombrePerfilEmpleados,
                             Country_Full_Name     = item.Country_Full_Name,
                             City_Ident            = item.City_Ident.ToString(),
                             City_Name             = item.City_Name,
                             Location_Ident        = (item.Location_Ident != null ? item.Location_Ident.ToString() : "-1"),
                             Location_Name         = item.Location_Name,
                             Client_Ident          = item.Client_Ident,
                             Client_Name           = item.Client_Name,
                             Program_Ident         = (item.Program_Ident != null ? item.Program_Ident.ToString() : "-1"),
                             Program_Name          = item.Program_Name,
                             Contract_Type_Ident   = (item.Contract_Type_Ident != null ? item.Contract_Type_Ident.ToString() : "-1"),
                             Contract_Type         = item.Contract_Type,
                             ConceptoId            = (item.ConceptoId != null ? item.ConceptoId.ToString() : "-1"),
                             ConceptoNombre        = item.ConceptoNombre,
                             TipoAccesoId          = item.TipoAccesoId,
                             TipoAcceso            = item.TipoAcceso,
                             Active = item.Active
                         };
                         listado.Add(element);
                     }
                     DataSourceResult ok = listado.ToDataSourceResult(request);
                     return(Json(ok));
                 }
                 else
                 {
                     context.Database.CommandTimeout = int.Parse(ConfigurationManager.AppSettings["TimeOutMinutes"]);
                     list3 = context.CatPerfilEmpleadosSel_ByEmpleado(CCMSId).ToList();
                     foreach (var item in list3)
                     {
                         CatPerfilEmpleadosViewModel element = new CatPerfilEmpleadosViewModel()
                         {
                             Perfil_Ident          = item.Perfil_Ident,
                             Country_Ident         = (item.Country_Ident != null ? item.Country_Ident.ToString() : "-1"),
                             NombrePerfilEmpleados = item.NombrePerfilEmpleados,
                             Country_Full_Name     = item.Country_Full_Name,
                             City_Ident            = item.City_Ident.ToString(),
                             City_Name             = item.City_Name,
                             Location_Ident        = (item.Location_Ident != null ? item.Location_Ident.ToString() : "-1"),
                             Location_Name         = item.Location_Name,
                             Client_Ident          = item.Client_Ident,
                             Client_Name           = item.Client_Name,
                             Program_Ident         = (item.Program_Ident != null ? item.Program_Ident.ToString() : "-1"),
                             Program_Name          = item.Program_Name,
                             Contract_Type_Ident   = (item.Contract_Type_Ident != null ? item.Contract_Type_Ident.ToString() : "-1"),
                             Contract_Type         = item.Contract_Type,
                             ConceptoId            = (item.ConceptoId != null ? item.ConceptoId.ToString() : "-1"),
                             ConceptoNombre        = item.ConceptoNombre,
                             TipoAccesoId          = item.TipoAccesoId,
                             TipoAcceso            = item.TipoAcceso,
                             Active = item.Active
                         };
                         listado.Add(element);
                     }
                     DataSourceResult ok = listado.ToDataSourceResult(request);
                     return(Json(ok));
                 }
             }
         }
         else
         {
             return(Json(""));
         }
     }
     catch (Exception ex)
     {
         MyCustomIdentity usuario = (MyCustomIdentity)User.Identity;
         LogError         log     = new LogError();
         log.RecordError(ex, usuario.UserInfo.Ident.Value);
         return(Json(""));
     }
 }