public async Task <IHttpActionResult> GetSupervisorID([FromUri] ReporteSupervisorModel model)
        {
            IdentityUser user = await UserManager.FindByIdAsync(User.Identity.GetUserId());

            var objUsuarioArea = usuarioEmpresaService.GetAll(c => c.US_ID_USUARIO == user.Id, null, includes: c => c.SAX_EMPRESA);

            string[] listEmpresa = new string[objUsuarioArea.Count()];
            for (int i = 0; i < objUsuarioArea.Count(); i++)
            {
                listEmpresa[i] = objUsuarioArea[i].CE_ID_EMPRESA.ToString();
            }

            IList <SupervisorModel> objSupervisorService = supervisorService.GetAll(c => listEmpresa.Contains(c.CE_ID_EMPRESA.ToString()),
                                                                                    null, includes: c => c.SAX_AREA_OPERATIVA);

            if (objSupervisorService != null)
            {
                return(Ok(objSupervisorService.Select(c => new
                {
                    SV_COD_SUPERVISOR = c.SV_COD_SUPERVISOR,
                    SV_COD_SUPERVISOR_DESC = c.AspNetUsers3.FirstName
                }).Distinct()));
            }
            //SV_COD_SUPERVISOR
            //SV_COD_SUPERVISOR_DESC
            return(null);
        }
        public IHttpActionResult GetReporte([FromUri] ReporteSupervisorModel model)
        {
            int estado = Convert.ToInt16(BusinessEnumerations.Estatus.ACTIVO);

            if (model == null)
            {
                model                    = new ReporteSupervisorModel();
                model.SV_ID_AREA         = null;
                model.CE_ID_EMPRESA      = null;
                model.SV_LIMITE_MINIMO   = null;
                model.SV_LIMITE_SUPERIOR = null;
                model.UsuarioAprobador   = null;
                model.SV_COD_SUPERVISOR  = null;
            }
            else
            {
                if (model.SV_COD_SUPERVISOR != null && model.SV_COD_SUPERVISOR.ToUpper() == "UNDEFINED")
                {
                    model.SV_COD_SUPERVISOR = null;
                }
                if (model.SV_LIMITE_MINIMO != null && model.SV_LIMITE_MINIMO.ToUpper() == "UNDEFINED")
                {
                    model.SV_LIMITE_MINIMO = null;
                }
                if (model.SV_LIMITE_SUPERIOR != null && model.SV_LIMITE_SUPERIOR.ToUpper() == "UNDEFINED")
                {
                    model.SV_LIMITE_SUPERIOR = null;
                }
                try
                {
                    if (model.SV_ID_AREA != null && model.SV_ID_AREA.ToUpper() == "UNDEFINED")
                    {
                        model.SV_ID_AREA = null;
                    }
                    else
                    {
                        if (model.SV_ID_AREA == null)
                        {
                            model.Area = null;
                        }
                        else
                        {
                            model.Area = Convert.ToInt32(model.SV_ID_AREA);
                        }
                    }
                }
                catch
                {
                    model.Area = null;
                }

                try
                {
                    if (model.CE_ID_EMPRESA != null && model.CE_ID_EMPRESA.ToUpper() == "UNDEFINED")
                    {
                        model.CE_ID_EMPRESA = null;
                    }
                    else
                    {
                        if (model.CE_ID_EMPRESA == null)
                        {
                            model.Empresa = null;
                        }
                        else
                        {
                            model.Empresa = Convert.ToInt32(model.CE_ID_EMPRESA);
                        }
                    }
                }
                catch
                {
                    model.Empresa = null;
                }
            }

            IList <SupervisorModel> objSupervisorService
                = supervisorService.GetAll(f => //f.SV_ESTATUS == estado &&
                                           f.SV_LIMITE_MINIMO == (model.SV_LIMITE_MINIMO == null ? f.SV_LIMITE_MINIMO : model.SV_LIMITE_MINIMO) &&
                                           f.SV_LIMITE_SUPERIOR == (model.SV_LIMITE_SUPERIOR == null ? f.SV_LIMITE_SUPERIOR : model.SV_LIMITE_SUPERIOR)
                                           //&& f.SV_USUARIO_APROBADOR == (model.UsuarioAprobador == null ? f.SV_USUARIO_APROBADOR : model.UsuarioAprobador)
                                           && f.AspNetUsers3.Estatus == estado &&
                                           f.SV_COD_SUPERVISOR == (model.SV_COD_SUPERVISOR == null ? f.SV_COD_SUPERVISOR : model.SV_COD_SUPERVISOR) &&
                                           f.SV_ID_AREA == (model.SV_ID_AREA == null ? f.SV_ID_AREA : model.Area) &&
                                           f.CE_ID_EMPRESA == (model.CE_ID_EMPRESA == null ? f.CE_ID_EMPRESA : model.Empresa),
                                           null, includes: c => c.SAX_AREA_OPERATIVA);

            if (objSupervisorService == null)
            {
                return(BadRequest("No se encontraron registros para la consulta realizada."));
            }

            return(Ok(objSupervisorService.Select(c => new
            {
                SV_ID_SUPERVISOR = c.SV_ID_SUPERVISOR,
                CE_ID_EMPRESA = c.CE_ID_EMPRESA,
                CE_NOMBRE_EMPRESA = c.SAX_EMPRESA.CE_COD_EMPRESA + '-' + c.SAX_EMPRESA.CE_NOMBRE,
                SV_COD_SUPERVISOR = c.SV_COD_SUPERVISOR,
                SV_NOMBRE_SUPERVISOR = c.AspNetUsers3.FirstName,
                SV_LIMITE_MINIMO = c.SV_LIMITE_MINIMO,
                SV_LIMITE_SUPERIOR = c.SV_LIMITE_SUPERIOR,
                SV_ESTATUS = c.SV_ESTATUS,
                SV_FECHA_CREACION = c.SV_FECHA_CREACION,
                SV_USUARIO_CREACION = c.SV_USUARIO_CREACION,
                SV_USUARIO_CREACION_NOMBRE = c.AspNetUsers1.FirstName,
                SV_FECHA_MOD = c.SV_FECHA_MOD,
                SV_USUARIO_MOD = c.SV_USUARIO_MOD,
                SV_FECHA_APROBACION = c.SV_FECHA_APROBACION,
                SV_USUARIO_APROBADOR = c.SV_USUARIO_APROBADOR,
                SV_USUARIO_APROBADOR_NOMBRE = c.AspNetUsers != null ? c.AspNetUsers.FirstName : null,
                SV_ID_AREA = c.SV_ID_AREA,
                SV_NOMBRE_AREA = c.SAX_AREA_OPERATIVA.CA_COD_AREA.ToString() + '-' + c.SAX_AREA_OPERATIVA.CA_NOMBRE,
                SV_ROL_SUPERVISOR = MappingRol(c.AspNetUsers3)
            })));
        }