Exemple #1
0
        public void Iniciar()
        {
            try
            {
                IScheduler scheduler = StdSchedulerFactory.GetDefaultScheduler();
                scheduler.Start();

                // Obtener la Periodicidad de ejecuciones
                SincronizacionBusiness ms           = new SincronizacionBusiness();
                Periodicidad           periodicidad = ms.ObtenerPeriodicidad();

                // Proceso de Ceder Apartados
                IJobDetail apartadosJob     = JobBuilder.Create <ApartadosJob>().Build();
                ITrigger   apartadosTrigger = TriggerBuilder.Create().WithSimpleSchedule(a => a.WithIntervalInSeconds(periodicidad.PeriodicidadProcesoCederApartados).RepeatForever()).Build();

                // Proceso de Motor de Sincronización
                IJobDetail msJob     = JobBuilder.Create <MSJob>().Build();
                ITrigger   msTrigger = TriggerBuilder.Create().WithSimpleSchedule(a => a.WithIntervalInSeconds(periodicidad.PeriodicidadProcesoMotorSincronizacion).RepeatForever()).Build();

                // Proceso para Purgar Registros de Auditoría
                IJobDetail purgaJob     = JobBuilder.Create <PurgaJob>().Build();
                ITrigger   purgaTrigger = TriggerBuilder.Create().WithSimpleSchedule(a => a.WithIntervalInHours(4).RepeatForever()).Build();

                // Lanzamiento
                scheduler.ScheduleJob(apartadosJob, apartadosTrigger);
                scheduler.ScheduleJob(msJob, msTrigger);
                scheduler.ScheduleJob(purgaJob, purgaTrigger);
            }
            catch (Exception)
            {
                this.Parar();
                this.Iniciar();
            }
        }
Exemple #2
0
        public int ObtenerLecturas(DateTime FechaInicio, Periodicidad TipoPeriodicidad, DateTime FechaFin)
        {
            int Res = -1;

            _Lecturas = new List <Lectura>();

            try
            {
                //TODO: Obtener datos en función de la periodicidad
                {
                    //relleno datos aleatlorios
                    Random rnd = new Random();
                    for (int i = 0; i < 70; i++)
                    {
                        _Lecturas.Add(new Lectura(DateTime.Now.AddMinutes(-i),
                                                  rnd.Next(150, 300) / 10.0,
                                                  rnd.Next(200, 400) / 10.0,
                                                  rnd.Next(1000, 7000) / 10.0,
                                                  rnd.Next(0, 60000) / 10.0));
                    }
                }

                //Ordena para futura visualización
                _Lecturas = _Lecturas.OrderBy(Lec => Lec.Fecha).ToList();

                //Discretiza valores del eje de abscisas
                DiscretizaAbscisas();
            }
            catch (Exception)
            {
            }

            return(Res);
        }
Exemple #3
0
        /// <summary>
        /// calcularResultados
        /// metodo encargado de calcular los resultados kpi para los usuarios que pertenecen a un rol
        /// </summary>
        /// <param name="registros">Registros mercadeo</param>
        /// <returns>List(Of String)</returns>
        /// <remarks><para>Historia de Creación y modificaciones:
        /// <list type="bullet">
        /// <item>Autor.: Jimmi Vila </item>
        /// <item>10/10/2015 - Creación</item>
        /// </list></para></remarks>
        public List <string> calcularResultados(List <RegistroMercadeo> registros, List <Usuario> usuarios)
        {
            List <string> result = new List <string>();

            //agrupar registros
            if (!Periodicidad.Equals("mensual"))
            {
                registros = agruparRegistros(usuarios, registros);
            }

            foreach (Usuario user in usuarios)
            {
                foreach (RegistroMercadeo registro in registros)
                {
                    if (registro.usuario != null)
                    {
                        if (registro.usuario.UsuarioID == user.UsuarioID)
                        {
                            result.Add(DescKpi);
                            result.Add(user.Nombre + " " + user.Apellidos);
                            result.Add(Formato);
                            result.Add(Objetivo.ToString());
                            if (isCalculoCampoUnico())
                            {
                                double datoCampo = getDatoCampo(registro, 0);

                                result.Add(formatoFinal(datoCampo).ToString());
                                result.Add(calcularColorResultado(datoCampo));
                            }
                            else
                            {
                                List <double>         datos   = new List <double>();
                                List <DetalleFormula> formula = Formula.ToList <DetalleFormula>();

                                for (int i = 0; i < Formula.Count; i++)
                                {
                                    if (formula[i].Tabla != null)
                                    {
                                        //result.Add(getDatoCampo(registro, i).ToString());
                                        datos.Add(getDatoCampo(registro, i));
                                    }
                                    else if (formula[i].Valor != 0)
                                    {
                                        //result.Add(formula[i].Valor.Value.ToString());
                                        datos.Add(formula[i].Valor.Value);
                                    }
                                }

                                result.Add(formatoFinal(aplicarFormula(datos, formula)).ToString());
                                result.Add(calcularColorResultado(aplicarFormula(datos, formula)));
                            }
                        }
                    }
                }
            }
            return(result);
        }
Exemple #4
0
        public IList <string> GetLecturas(string IdEquipo, Periodicidad Periodicidad, DateTime FechaInicio, DateTime FechaFin)
        {
            //Obtiene la lista de las lecturas
            IList <string> Res = new List <string>();

            string TablaPeriodicidad = "";

            switch (Periodicidad)
            {
            case Periodicidad.TiempoReal:
                TablaPeriodicidad = "`01input`";
                break;

            case Periodicidad.Diario:
                TablaPeriodicidad = "`02diario`";
                break;

            case Periodicidad.Mensual:
            default:
                TablaPeriodicidad = "`03mensual`";
                break;
            }

            string sSQL = "SELECT T2.ip, T1.fecha, T1.temperatura, T1.humedad, T1.co, T1.consumo" + "\n" +
                          "FROM " + TablaPeriodicidad + " T1" + " INNER JOIN" + "\n" +
                          "`00equipos` T2 ON T1.equipo = T2.ip" + "\n" +
                          "WHERE (fecha BETWEEN '" + FechaInicio.ToString("yyyy-MM-dd HH:mm:ss") + "' AND '" + FechaFin.ToString("yyyy-MM-dd HH:mm:ss") + "') AND (T2.id = '" + IdEquipo + "')";

            MySql.Data.MySqlClient.MySqlCommand MyComm =
                new MySql.Data.MySqlClient.MySqlCommand(sSQL, MySQLConn);

            try
            {
                MySql.Data.MySqlClient.MySqlDataReader MyReader = MyComm.ExecuteReader();
                if (MyReader.HasRows)
                {
                    while (MyReader.Read())
                    {
                        Res.Add(new Lectura(MyReader.GetDateTime("fecha"),
                                            MyReader.GetString("ip"),
                                            MyReader.GetDouble("temperatura"),
                                            MyReader.GetDouble("humedad"),
                                            MyReader.GetDouble("co"),
                                            MyReader.GetDouble("consumo")).ToString());
                    }
                }
                MyReader.Close();
            }
            catch (MySql.Data.MySqlClient.MySqlException MyEx)
            {
                ErrLogger.LogError(MyEx.ToString(), System.Diagnostics.EventLogEntryType.Error);
                Res = new List <string>();
            }

            return(Res);
        }
        public override string[] UpdateSQL()
        {
            string[] consulta = new string[1];

            Consulta.Remove(0, Consulta.Length);
            Consulta.Append("UPDATE Tareas SET Periodicidad='" + Periodicidad.ToString() + "'," +
                            "Hora='" + Hora + "'," +
                            "Argumentos='" + Argumentos + "'," +
                            "Intervalo=" + Intervalo + "," +
                            "Comentario='" + Comentario + "' " +
                            "WHERE IdSistema='" + IdSistema + "' AND IdTarea='" + IdTarea + "'");

            consulta[0] = Consulta.ToString();
            return(consulta);
        }
        public override string[] InsertSQL()
        {
            string[] consulta = new string[1];

            Consulta.Remove(0, Consulta.Length);
            Consulta.Append("INSERT INTO Tareas (IdSistema,IdTarea,Programa,Argumentos,Hora,Periodicidad,Intervalo,Comentario)" +
                            " VALUES ('" + IdSistema + "','" +
                            IdTarea + "','" +
                            Programa + "'," +
                            ((Argumentos == null) ? "null" : ("'" + Argumentos + "','")) +
                            Hora + "','" +
                            Periodicidad.ToString() + "'," +
                            Intervalo + ",'" +
                            Comentario + "')");

            consulta[0] = Consulta.ToString();
            return(consulta);
        }
Exemple #7
0
        /// <summary>
        /// Obtener Periodicidad Proceso de Sincronización
        /// </summary>
        public Periodicidad ObtenerPeriodicidad()
        {
            Periodicidad periodicidad = new Periodicidad();
            var          parameters   = new Dictionary <string, object>();
            List <System.Data.SqlClient.SqlParameter> parametersOut = new List <System.Data.SqlClient.SqlParameter>();

            parametersOut.Add(new System.Data.SqlClient.SqlParameter()
            {
                ParameterName = "@PeriodicidadMotorSincronizacion", Direction = ParameterDirection.Output, SqlDbType = SqlDbType.Int
            });
            parametersOut.Add(new System.Data.SqlClient.SqlParameter()
            {
                ParameterName = "@PeriodicidadCederApartados", Direction = ParameterDirection.Output, SqlDbType = SqlDbType.Int
            });
            var result = data.ExecuteProcedure("[dbo].[sp_vanti_ObtenerPeriodicidadProcesosAutomaticos]", parameters, parametersOut);

            periodicidad.PeriodicidadProcesoMotorSincronizacion = Int32.Parse(result["@PeriodicidadMotorSincronizacion"].ToString());
            periodicidad.PeriodicidadProcesoCederApartados      = Int32.Parse(result["@PeriodicidadCederApartados"].ToString());
            return(periodicidad);
        }
        //public Mensaje obtenerFactores(string claveRazonSocial)
        //{
        //    try
        //    {
        //        DatosTablaXml datosTablaXml = new DatosTablaXml();
        //        datosTablaXml.tipoTablaISR = TipoTablaISR.NORMAL;
        //        decimal[] valores = new decimal[]{
        //             (decimal)   ClavesParametrosModulos.claveParametroFactorAplicaciónTablaAnual,
        //              (decimal)  ClavesParametrosModulos.claveParametroPagosPorHora,
        //              (decimal)  ClavesParametrosModulos.claveParametroManejarHorasPor,
        //              (decimal)  ClavesParametrosModulos.claveParametroManejarSalarioDiarioPor,
        //              (decimal)  ClavesParametrosModulos.claveParametroFactorAplicaciónTablaMensual,
        //              (decimal)  ClavesParametrosModulos.claveParametroModoAjustarIngresosAlMes,
        //               (decimal) ClavesParametrosModulos.claveParametroDesgloseInternoISR,
        //               (decimal) ClavesParametrosModulos.clavePagarNominaDiasNaturales,
        //               (decimal) ClavesParametrosModulos.claveParametroVersionCalculoPrestamoAhorro,
        //              (decimal)  ClavesParametrosModulos.claveParametroPagarIMSSDiasNaturales,
        //               (decimal) ClavesParametrosModulos.claveParametroDescontarFaltasModoAjusteMes,
        //              (decimal)  ClavesParametrosModulos.claveParametroPagarPrimayVacacionesAuto,
        //              (decimal)  ClavesParametrosModulos.claveParametroSalarioUtilizarVacaciones,
        //               (decimal) ClavesParametrosModulos.claveParametroUsaUMA};
        //        List<object[]> listParametros;

        //        mensajeResultado = getParametrosYListCrucePorModuloYClaves((String)ClavesParametrosModulos.claveModuloGlobal, valores);

        //        if (mensajeResultado.noError == 0)
        //        {
        //            listParametros = (List<object[]>)mensajeResultado.resultado;
        //        }
        //        else
        //        {
        //            return mensajeResultado;
        //        }

        //        mensajeResultado = buscaPeriodicidadesOrPeriodosNomina();
        //        if (mensajeResultado.noError == 0)
        //        {
        //            periodicidadTipoNomina = new Periodicidad();
        //            periodicidadTipoNomina = (Periodicidad)mensajeResultado.resultado;
        //        }
        //        else
        //        {
        //            return mensajeResultado;
        //        }
        //        Object[] parametroManejarSalarioDiarioPor = null;
        //        DesgloseInternoISR desgloseInternoISR = DesgloseInternoISR.DESGLOSEISRNORMALANUAL;
        //        for (int i = 0; i < listParametros.Count; i++)
        //        {
        //            if (((Parametros)(listParametros[i])[0]).clave == (decimal)ClavesParametrosModulos.claveParametroFactorAplicaciónTablaAnual)
        //            {
        //                if (datosTablaXml.factorAnual == null ? true : datosTablaXml.factorAnual == 0)
        //                {

        //                    datosTablaXml.factorAnual = parametroFactorAplicacionTablaAnual((Parametros)listParametros[i][0], (List<Cruce>)listParametros[i][1], new List<ValoresElementosAplicacion>() { new ValoresElementosAplicacion(typeof(RazonesSociales), claveRazonSocial) });

        //                }
        //            }
        //            else if (((Parametros)(listParametros[i])[0]).clave == (decimal)ClavesParametrosModulos.claveParametroPagosPorHora)
        //            {
        //                if (datosTablaXml.manejaPagosPorHora == null)
        //                {
        //                    Object[] objects = parametroPagosPorHora((Parametros)listParametros[i][0], (List<Cruce>)listParametros[i][1], new List<ValoresElementosAplicacion>() { new ValoresElementosAplicacion(typeof(RazonesSociales), claveRazonSocial) });
        //                    datosTablaXml.manejaPagosPorHora = (bool)objects[0];
        //                }
        //            }
        //            else if (((Parametros)(listParametros[i])[0]).clave == (decimal)ClavesParametrosModulos.claveParametroManejarHorasPor)
        //            {
        //                if (datosTablaXml.manejoHorasPor == null)
        //                {
        //                    datosTablaXml.manejoHorasPor = parametroManejarHorasPor((Parametros)listParametros[i][0], (List<Cruce>)listParametros[i][1], new List<ValoresElementosAplicacion>() { new ValoresElementosAplicacion(typeof(RazonesSociales), claveRazonSocial) });
        //                }
        //            }
        //            else if (((Parametros)(listParametros[i])[0]).clave == (decimal)ClavesParametrosModulos.claveParametroManejarSalarioDiarioPor)
        //            {
        //                parametroManejarSalarioDiarioPor = listParametros[i];
        //            }
        //            else if (((Parametros)(listParametros[i])[0]).clave == (decimal)ClavesParametrosModulos.claveParametroFactorAplicaciónTablaMensual)
        //            {
        //                datosTablaXml.factorMensual = parametroFactorAplicacionTablaMensual((Parametros)listParametros[i][0], (List<Cruce>)listParametros[i][1], new List<ValoresElementosAplicacion>() { new ValoresElementosAplicacion(typeof(RazonesSociales), claveRazonSocial) });
        //            }
        //            else if (((Parametros)(listParametros[i])[0]).clave == (decimal)ClavesParametrosModulos.claveParametroModoAjustarIngresosAlMes)
        //            {
        //                modoAjustarIngresosMes = parametroModoAjustarIngresosAlMes((Parametros)listParametros[i][0], (List<Cruce>)listParametros[i][1], new List<ValoresElementosAplicacion>() { new ValoresElementosAplicacion(typeof(RazonesSociales), claveRazonSocial) });
        //                if (modoAjustarIngresosMes == ProporcionaCadaPeriodoUtilizandoTablaPeriodo)
        //                {
        //                    tipoTablaISR = TipoTablaISR.PERIODICIDAD;
        //                }
        //            }
        //            else if (((Parametros)(listParametros[i])[0]).clave == (decimal)ClavesParametrosModulos.claveParametroDesgloseInternoISR)
        //            {
        //                desgloseInternoISR = parametroDesgloseInternoISR((Parametros)listParametros[i][0], (List<Cruce>)listParametros[i][1], new List<ValoresElementosAplicacion>() { new ValoresElementosAplicacion(typeof(RazonesSociales), claveRazonSocial) });
        //            }
        //            else if (((Parametros)(listParametros[i])[0]).clave == (decimal)ClavesParametrosModulos.clavePagarNominaDiasNaturales)
        //            {
        //                if (periodicidadTipoNomina != null)
        //                {
        //                    manejaPagoDiasNaturales = pagarNominaDiasNaturales((Parametros)listParametros[i][0], (List<Cruce>)listParametros[i][1], new List<ValoresElementosAplicacion>() { new ValoresElementosAplicacion(typeof(RazonesSociales), claveRazonSocial), new ValoresElementosAplicacion(typeof(Periodicidad), periodicidadTipoNomina.clave) });
        //                }
        //                else
        //                {
        //                    manejaPagoDiasNaturales = pagarNominaDiasNaturales((Parametros)listParametros[i][0], (List<Cruce>)listParametros[i][1], new List<ValoresElementosAplicacion>() { new ValoresElementosAplicacion(typeof(RazonesSociales), claveRazonSocial) });
        //                }
        //            }
        //            else if (((Parametros)(listParametros[i])[0]).clave == (decimal)ClavesParametrosModulos.claveParametroVersionCalculoPrestamoAhorro)
        //            {
        //                versionCalculoPrestamoAhorro = parametroVersionCalculoPrestamoAhorro((Parametros)listParametros[i][0], (List<Cruce>)listParametros[i][1], new List<ValoresElementosAplicacion>() { new ValoresElementosAplicacion(typeof(RazonesSociales), claveRazonSocial) });
        //            }
        //            else if (((Parametros)(listParametros[i])[0]).clave == (decimal)ClavesParametrosModulos.claveParametroPagarIMSSDiasNaturales)
        //            {
        //                manejaPagoIMSSDiasNaturales = pagarIMSSDiasNaturales((Parametros)listParametros[i][0], (List<Cruce>)listParametros[i][1], new List<ValoresElementosAplicacion>() { new ValoresElementosAplicacion(typeof(RazonesSociales), claveRazonSocial) });
        //            }
        //            else if (((Parametros)(listParametros[i])[0]).clave == (decimal)ClavesParametrosModulos.claveParametroDescontarFaltasModoAjusteMes)
        //            {
        //                descontarFaltasModoAjustaMes = descuentoFaltasModoAjustaMes((Parametros)listParametros[i][0], (List<Cruce>)listParametros[i][1], new List<ValoresElementosAplicacion>() { new ValoresElementosAplicacion(typeof(RazonesSociales), claveRazonSocial) });
        //            }
        //            else if (((Parametros)(listParametros[i])[0]).clave == (decimal)ClavesParametrosModulos.claveParametroPagarPrimayVacacionesAuto)
        //            {
        //                pagarVacaAuto = parametroPagarPrimayVacacionesAuto((Parametros)listParametros[i][0], (List<Cruce>)listParametros[i][1], new List<ValoresElementosAplicacion>() { new ValoresElementosAplicacion(typeof(RazonesSociales), claveRazonSocial) });
        //            }
        //            else if (((Parametros)(listParametros[i])[0]).clave == (decimal)ClavesParametrosModulos.claveParametroSalarioUtilizarVacaciones)
        //            {
        //                salarioVacaciones = parametroSalarioVacaciones((Parametros)listParametros[i][0], (List<Cruce>)listParametros[i][1], new List<ValoresElementosAplicacion>() { new ValoresElementosAplicacion(typeof(RazonesSociales), claveRazonSocial) });
        //            }
        //            else if (((Parametros)(listParametros[i])[0]).clave == (decimal)ClavesParametrosModulos.claveParametroUsaUMA)
        //            {
        //                isUMA = activarUMA((Parametros)listParametros[i][0], (List<Cruce>)listParametros[i][1], new List<ValoresElementosAplicacion>() { new ValoresElementosAplicacion(typeof(RazonesSociales), claveRazonSocial) });
        //            }
        //        }
        //        manejoSalarioDiario = parametroManejadorSalarioDiarioPor((Parametros)parametroManejarSalarioDiarioPor[0], (List<Cruce>)parametroManejarSalarioDiarioPor[1], manejaPagoDiasNaturales, new List<ValoresElementosAplicacion>() { new ValoresElementosAplicacion(typeof(RazonesSociales), claveRazonSocial) });
        //        if (modoAjustarIngresosMes != ProporcionaTablaAnual)
        //        {
        //            if (desgloseInternoISR == DesgloseInternoISR.DESGLOSEISRNORMALANUAL)
        //            {
        //                calculoSeparadoISR = true;
        //            }
        //        }
        //    }
        //    catch (Exception ex)
        //    {

        //        mensajeResultado.error = "";
        //        mensajeResultado.noError = 0;
        //        mensajeResultado.resultado = null;
        //    }

        //    return mensajeResultado;
        //}

        private Mensaje buscaPeriodicidadesOrPeriodosNomina()
        {
            Periodicidad periodicidad = new Periodicidad();

            try
            {
                periodicidad = (from t in dbContextSimple.context.Set <TipoNomina>()
                                where t.clave == claveTipoNomina
                                select t.periodicidad).SingleOrDefault();
                mensajeResultado.error     = "";
                mensajeResultado.noError   = 0;
                mensajeResultado.resultado = periodicidad;
            }
            catch (Exception ex)
            {
                mensajeResultado.error     = ex.GetBaseException().Message;
                mensajeResultado.noError   = 1002;
                mensajeResultado.resultado = null;
            }
            return(mensajeResultado);
        }
Exemple #9
0
        private string ListConcat(IList <DateTime> Lista, Periodicidad Period)
        {
            string Temp = "";

            if (Lista != null)
            {
                string FiltroFecha = "";
                switch (Period)
                {
                case Periodicidad.Mensual:
                    FiltroFecha = "MM/yyyy";
                    break;

                case Periodicidad.Diario:
                    FiltroFecha = "dd/MM/yyyy";
                    break;

                case Periodicidad.TiempoReal:
                default:
                    FiltroFecha = "dd/MM/yyyy HH:mm";
                    break;
                }

                foreach (DateTime obj in Lista)
                {
                    if (Temp == "")
                    {
                        Temp = (obj == DateTime.MinValue ? "" : obj.ToString(FiltroFecha));
                    }
                    else
                    {
                        Temp += ("|" + (obj == DateTime.MinValue ? "" : obj.ToString(FiltroFecha)));
                    }
                }
            }

            return(Temp);
        }
Exemple #10
0
        public ActionResult Historico(string selectedID = "-1",
                                      Periodicidad selectedPeriodicidad = Periodicidad.TiempoReal,
                                      string FechaInicio = "",
                                      string FechaFin    = "")
        {
            ViewBag.Message = "Cronología de los valores registrados.";

            List <Periodicidad> periodicidadList = Enum.GetValues(typeof(Periodicidad)).Cast <Periodicidad>().ToList();

            ViewData["Periodicidad"] = new SelectList(periodicidadList, selectedPeriodicidad);

            WSRefSMATEC.RecopiladorDatosClient client = new WSRefSMATEC.RecopiladorDatosClient();

            IList <DescripcionEquipo> ListaEquipos = client.GetEquipos().ToList <DescripcionEquipo>();

            Equipo CurrEq;

            if (ListaEquipos.Where(Eq => Eq.ID == selectedID).Count() == 0)
            {
                if (ListaEquipos.Count > 0)
                {
                    selectedID = ListaEquipos.First().ID;
                }
            }

            ViewData["Equipos"] = new SelectList(ListaEquipos, "ID", "NOMBRE", selectedID);

            if (selectedID == "-1" || selectedID == "null")
            {
                CurrEq = new Equipo("-1", "0.0.0.0", "Sin equipos.");
            }
            else
            {
                CurrEq = new Equipo(ListaEquipos.Where(Eq => Eq.ID == selectedID).First());
            }

            DateTime dtFechaInicio = ObtieneFecha(FechaInicio, -30);
            DateTime dtFechaFin    = ObtieneFecha(FechaFin, 0);

            //evalua la periodicidad y restringe la ventana temporal
            switch (selectedPeriodicidad)
            {
            case Periodicidad.TiempoReal:
                //máximo 2 horas desde el límite inferior
                if (dtFechaFin < dtFechaInicio || (dtFechaFin - dtFechaInicio).TotalHours > 1.0)
                {
                    dtFechaFin = dtFechaInicio.AddHours(1.0);
                }
                break;

            case Periodicidad.Diario:
                //máximo 6 meses desde el límite inferior
                if (dtFechaFin < dtFechaInicio || (dtFechaFin.Date - dtFechaInicio.Date).TotalDays > 30.0 * 6.0)
                {
                    dtFechaFin = dtFechaInicio.AddMonths(6);
                }
                break;

            case Periodicidad.Mensual:
                //máximo 200 años desde el límite inferior
                if (dtFechaFin < dtFechaInicio || (dtFechaFin.Year - dtFechaInicio.Year) > 200)
                {
                    dtFechaFin = dtFechaInicio.AddYears(200);
                }
                break;
            }
            CurrEq.Lecturas.Clear();
            IList <string> CollCect = client.GetLecturas(CurrEq.Id, selectedPeriodicidad, dtFechaInicio, dtFechaFin).ToList <string>();

            foreach (string Lec in CollCect)
            {
                CurrEq.Lecturas.Add(new Lectura(Lec));
            }
            //CurrEq.Lecturas = client.GetLecturas(CurrEq.Id, selectedPeriodicidad, dtFechaInicio, dtFechaFin);

            ViewBag.ColumnName = ListConcat(CurrEq.LecturasFecha(), selectedPeriodicidad);

            ViewBag.ValuesTemperatura = ListConcat(CurrEq.LecturasTemperatura());
            ViewBag.ValuesHumedad     = ListConcat(CurrEq.LecturasHumedad());
            ViewBag.ValuesCO          = ListConcat(CurrEq.LecturasCO());
            ViewBag.ValuesConsumo     = ListConcat(CurrEq.LecturasConsumo());

            ViewBag.FechaInicio = dtFechaInicio.ToString("dd/MM/yyyy HH:mm");
            ViewBag.FechaFin    = dtFechaFin.ToString("dd/MM/yyyy HH:mm");

            return(View());
        }
        public Mensaje generaTablasXml(String controlador, String claveRazonSocial, DateTime fechaFinal, int ejercicio)
        {
            try
            {
                DatosTablaXml datosTablaXml = new DatosTablaXml();
                mensajeResultado = buscaPeriodicidadesOrPeriodosNomina();
                if (mensajeResultado.noError == 0)
                {
                    periodicidadTipoNomina = new Periodicidad();
                    periodicidadTipoNomina = (Periodicidad)mensajeResultado.resultado;
                }
                else
                {
                    return(mensajeResultado);
                }

                MetodosBDMaestra metodos = new MetodosBDMaestra(DateTime.Now);
                metodos.generaTablasXml(controlador, periodicidadTipoNomina, claveRazonSocial, fechaFinal, ejercicio, (DBContextMaster)dbContextMaestra.context);
                if (metodos.mensajeResultado.noError == 0)
                {
                    datosTablaXml.calculoSeparadoISR           = metodos.calculoSeparadoISR;
                    datosTablaXml.descontarFaltasModoAjustaMes = metodos.descontarFaltasModoAjustaMes;
                    datosTablaXml.factorAnual                  = metodos.factorAnual;
                    datosTablaXml.factorMensual                = metodos.factorMensual;
                    datosTablaXml.isUMA                        = metodos.isUMA;
                    datosTablaXml.manejaPagoDiasNaturales      = metodos.manejaPagoDiasNaturales;
                    datosTablaXml.manejaPagoIMSSDiasNaturales  = metodos.manejaPagoIMSSDiasNaturales;
                    datosTablaXml.manejaPagosPorHora           = metodos.manejaPagosPorHora;
                    datosTablaXml.manejoHorasPor               = metodos.manejoHorasPor;
                    datosTablaXml.manejoSalarioDiario          = metodos.manejoSalarioDiario;
                    datosTablaXml.modoAjustarIngresosMes       = metodos.modoAjustarIngresosMes;
                    datosTablaXml.pagarVacaAuto                = metodos.pagarVacaAuto;
                    datosTablaXml.salarioVacaciones            = metodos.salarioVacaciones;
                    datosTablaXml.tablaDatosXml                = metodos.tablaDatosXml;
                    datosTablaXml.tablaFactorIntegracion       = metodos.tablaFactorIntegracion;
                    datosTablaXml.tablaIsr                     = metodos.tablaIsr;
                    datosTablaXml.tablaSubsidio                = metodos.tablaSubsidio;
                    datosTablaXml.tablaZonaSalarial            = metodos.tablaZonaSalarial;
                    datosTablaXml.tipoTablaISR                 = metodos.tipoTablaISR;
                    datosTablaXml.tablaIsrMes                  = metodos.tablaIsrMes;
                    datosTablaXml.tablaSubsidioMes             = metodos.tablaSubsidioMes;
                    datosTablaXml.valorUMA                     = metodos.valorUMA;
                    datosTablaXml.valorUMI                     = metodos.valorUMI;
                    datosTablaXml.versionCalculoPrestamoAhorro = metodos.versionCalculoPrestamoAhorro;
                    datosTablaXml.filtroConceptosNomina        = buscaConceptosTipoAutomatico();
                }
                else
                {
                    return(mensajeResultado);
                }
                mensajeResultado.noError   = 0;
                mensajeResultado.error     = "";
                mensajeResultado.resultado = datosTablaXml;
            }
            catch (Exception ex)
            {
                mensajeResultado.error     = ex.GetBaseException().Message;
                mensajeResultado.noError   = 1000;
                mensajeResultado.resultado = null;
            }
            return(mensajeResultado);
        }