public List <PersonaVacacion> GetEstadoVacacionesNacional(string regional)
        {
            try
            {
                CapaDatos.StoreProcedure consultaMS = new CapaDatos.StoreProcedure("sp_vacacionesnacional");
                consultaMS.AgregarParametro("@fecha", "20180515");
                consultaMS.AgregarParametro("@OFI", regional);
                DataTable dtMS = consultaMS.RealizarConsulta(Parametros.ConexionBDSAP());

                ConsultaMySql consulta = new ConsultaMySql(@"select u.userid, u.idsap, CONCAT(u.first_name,' ', u.last_name) as Personal, if (total is null, 0, total) as total
                            from lafarnet.users u 
                            left join (select id_usuario_sap ,SUM(dias) as total 
                            from lafarnet.glv_vacaciones 
                            where estado_subida = 0 and estado <> 2
                            group by id_usuario_sap) v on u.idsap= v.id_usuario_sap
                            where u.status = 'live';");
                //StoreProcedure consulta = new StoreProcedure("sp_GetPersona");
                DataTable dt = consulta.EjecutarConsulta(Parametros.ConexionBDMySQL());

                DataView view = dt.AsDataView();

                List <PersonaVacacion> lvzofra = new List <PersonaVacacion>();
                foreach (DataRow item in dtMS.Rows)
                {
                    view.RowFilter = "idsap=" + item["empid"].ToString();
                    float saldo = 0;
                    if (view.Count > 0)
                    {
                        saldo = float.Parse(view[0][3].ToString().Replace(',', '.'), System.Globalization.CultureInfo.InvariantCulture);
                    }
                    PersonaVacacion p = new PersonaVacacion
                    {
                        empid         = Convert.ToInt32(item["empid"]),
                        empleado      = item["empleado"].ToString(),
                        cargo         = item["cargo"].ToString(),
                        fecha_ingreso = (Convert.ToDateTime(item["fecha_ingreso"])).ToShortDateString(),
                        fecha         = (Convert.ToDateTime(item["fecha"])).ToShortDateString(),
                        numdias       = float.Parse(item["numdias"].ToString().Replace(',', '.'), System.Globalization.CultureInfo.InvariantCulture),
                        ant           = float.Parse(item["ant"].ToString().Replace(',', '.'), System.Globalization.CultureInfo.InvariantCulture),
                        saldo         = float.Parse(item["saldo"].ToString().Replace(',', '.'), System.Globalization.CultureInfo.InvariantCulture),
                        saldo_total   = float.Parse(item["saldo"].ToString().Replace(',', '.'), System.Globalization.CultureInfo.InvariantCulture) - saldo,
                        duodecima     = float.Parse(item["duodecima"].ToString().Replace(',', '.'), System.Globalization.CultureInfo.InvariantCulture),
                        oficina       = item["oficina"].ToString(),
                        area          = item["area"].ToString()
                    };
                    lvzofra.Add(p);
                }
                return(lvzofra);
            }
            catch (Exception ex)
            {
                //log.RegistroLogAlerta("GetSolFiltro: " + ex.ToString());
                return(null);
            }
        }
        public List <PersonaVacacion> GetPersonalZofraVacacion()
        {
            try
            {
                CapaDatos.StoreProcedure consulta = new CapaDatos.StoreProcedure("sp_vacacionesregional");
                consulta.AgregarParametro("@fecha", "20180515");
                consulta.AgregarParametro("@OFI", "administracion zofra");
                DataTable dt = consulta.RealizarConsulta(Parametros.ConexionBDSAP());
                if (dt.Rows.Count <= 0)
                {
                    throw new Exception("No trajo datos de la consulta a la DB:" + consulta.Error);
                }

                List <PersonaVacacion> lpv = new List <PersonaVacacion>();
                foreach (DataRow item in dt.Rows)
                {
                    PersonaVacacion u = new PersonaVacacion
                    {
                        empid         = Convert.ToInt32(item["empid"]),
                        empleado      = item["empleado"].ToString(),
                        fecha_ingreso = Convert.ToDateTime(item["fecha_ingreso"]).ToShortDateString(),
                        fecha         = Convert.ToDateTime(item["fecha"]).ToShortDateString(),
                        numdias       = Convert.ToSingle(item["numdias"], CultureInfo.CreateSpecificCulture("es-ES")),
                        ant           = Convert.ToSingle(item["ant"], CultureInfo.CreateSpecificCulture("es-ES")),
                        saldo         = Convert.ToSingle(item["saldo"], CultureInfo.CreateSpecificCulture("es-ES")),
                        duodecima     = Convert.ToSingle(item["duodecima"], CultureInfo.CreateSpecificCulture("es-ES")),
                        oficina       = item["oficina"].ToString(),
                        area          = item["area"].ToString()
                    };
                    lpv.Add(u);
                }
                return(lpv);
            }
            catch (Exception ex)
            {
                //log.RegistroLogAlerta("GetSolFiltro: " + ex.ToString());
                return(new List <PersonaVacacion>());
            }
        }