public bool ValidadeHora(long Hora, long Minuto, long Segundo, TipoHora tipo)
        {
            if (tipo == TipoHora._12horas)
            {
                if (Hora < 0 || Hora > 12) { return false; }
            }
            else if (tipo == TipoHora._24horas)
            {
                if (Hora < 0 || Hora > 23) { return false; }
            }
            if (Minuto < 0 || Minuto > 59) { return false; }
            if (Segundo < 0 || Segundo > 59) { return false; }

            return true;
        }
        public bool ValidadeHora(string Hora, TipoHora tipo)
        {
            string[] arrHora = Hora.Split(':');
            long hora = long.Parse(arrHora[0]);
            long minuto = long.Parse(arrHora[1]);
            long segundo = long.Parse(arrHora[2]);

            return ValidadeHora(hora, minuto, segundo, tipo);
        }
 public bool ValidadeHora(int Hora, TipoHora tipo)
 {
     return ValidadeHora((long)Hora, tipo);
 }
        public bool ValidadeHora(long Hora, TipoHora tipo)
        {
            if (Hora.ToString().Length != 3 && Hora.ToString().Length != 4 && Hora.ToString().Length != 6) { return false; }

            long hora = 0;
            long minuto = 0;
            long segundo = 0;

            if (Hora.ToString().Length == 3)
            {
                hora = long.Parse(Hora.ToString().Substring(0, 1));
                minuto = long.Parse(Hora.ToString().Substring(1, 2));
            }
            else if (Hora.ToString().Length == 4)
            {
                if (long.Parse(Hora.ToString().Substring(0, 2)) < 60)
                {
                    hora = long.Parse(Hora.ToString().Substring(0, 2));
                    minuto = long.Parse(Hora.ToString().Substring(2, 2));
                }
                else
                {
                    minuto = long.Parse(Hora.ToString().Substring(0, 2));
                    segundo = long.Parse(Hora.ToString().Substring(2, 2));
                }
            }
            else if (Hora.ToString().Length == 6)
            {
                hora = long.Parse(Hora.ToString().Substring(0, 2));
                minuto = long.Parse(Hora.ToString().Substring(2, 2));
                segundo = long.Parse(Hora.ToString().Substring(4, 2));
            }

            return ValidadeHora(hora, minuto, segundo, tipo);
        }
        private static string ObtenerHoras(string horas_totales, DateTime dia, TipoHora tipo_buscado)
        {
            string horas_normales = "00:00";
            string horas_extra_50 = "00:00";
            string horas_extra_100 = "00:00";
            Feriado feriado = null;
            using (var cxt = new Model1Container())
            {
                feriado = cxt.Feriados.FirstOrDefault(ff => ff.fecha == dia);
            }

            if (feriado == null)
            {
                switch (dia.DayOfWeek)
                {
                    case DayOfWeek.Saturday:
                        if (Horas_string.AMayorQueB("04:00", horas_totales))
                        {
                            horas_normales = horas_totales;
                            horas_totales = "00:00";
                        }
                        else
                        {
                            horas_normales = "04:00";
                            horas_totales = Horas_string.RestarHoras(horas_totales, "04:00");
                        }

                        horas_extra_50 = horas_totales;
                        horas_extra_100 = "00:00";
                        break;
                    case DayOfWeek.Sunday:
                        horas_normales = "00:00";
                        horas_extra_50 = "00:00";
                        horas_extra_100 = horas_totales;
                        break;
                    default:
                        if (Horas_string.AMayorQueB("08:00", horas_totales))
                        {
                            horas_normales = horas_totales;
                            horas_totales = "00:00";
                        }
                        else
                        {
                            horas_normales = "08:00";
                            horas_totales = Horas_string.RestarHoras(horas_totales, "08:00");
                        }
                        horas_extra_50 = horas_totales;
                        horas_extra_100 = "00:00";
                        break;
                }
            }
            else
            {
                horas_normales = "00:00";
                horas_extra_50 = "00:00";
                horas_extra_100 = horas_totales;
            }

            switch (tipo_buscado)
            {
                case TipoHora.Normales:
                    return horas_normales;
                case TipoHora.Extra50:
                    return horas_extra_50;
                case TipoHora.Extra100:
                    return horas_extra_100;
                default:
                    return "00:00";
            }
        }