Пример #1
0
 /// <summary>
 /// Envia una señal que indica que el servicio sigue en ejecución
 /// </summary>
 protected void SendAliveSignal()
 {
     if (!lastAliveSignal.HasValue || DateTime.Now > lastAliveSignal.Value.AddSeconds(20))
     {
         AcademicoApiClient.GetInstance().ApiGet <object>("api/Sync/Alive", null);
         lastAliveSignal = DateTime.Now;
     }
 }
Пример #2
0
        /// <summary>
        /// Consulta por las tareas a WebApi y las hace correr asincronicamente
        /// </summary>
        protected void RunTasks()
        {
            EventLog.WriteEntry("RunTasks", EventLogEntryType.Information);


            AcademicoApiClient.GetInstance().ApiGet <HttpResponseMessage>("api/Sync/ParaEnviarAEnProceso", null);
            EventLog.WriteEntry("ParaEnviarAEnProceso", EventLogEntryType.Information);

            AcademicoApiClient.GetInstance().ApiGet <HttpResponseMessage>("api/Sync/SincroFichadas", null);
            EventLog.WriteEntry("SincroFichadas", EventLogEntryType.Information);

            AcademicoApiClient.GetInstance().ApiGet <HttpResponseMessage>("api/Sync/EnProcesoAEnviado", null);
            EventLog.WriteEntry("EnProcesoAEnviado", EventLogEntryType.Information);

            AcademicoApiClient.GetInstance().ApiGet <HttpResponseMessage>("api/Sync/ParaEnviarAEnProcesoSNFichadas", null);
            EventLog.WriteEntry("ParaEnviarAEnProcesoSNFichadas", EventLogEntryType.Information);

            string toleranceString         = ConfigurationManager.AppSettings["ToleranceInSeconds"];
            string toleranciaEntradaString = ConfigurationManager.AppSettings["ToleranciaEntrada"];
            string toleranciaSalidaString  = ConfigurationManager.AppSettings["ToleranciaSalida"];
            string acumulativasString      = ConfigurationManager.AppSettings["Acumulativas"];

            int toleranceSeconds = 0;

            if (!int.TryParse(toleranceString, out toleranceSeconds))
            {
                toleranceSeconds = 120;
            }

            int toleranciaEntrada = 0;

            int.TryParse(toleranciaEntradaString, out toleranciaEntrada);

            int toleranciaSalida = 0;

            int.TryParse(toleranciaSalidaString, out toleranciaSalida);

            bool acumulativas = false;

            bool.TryParse(acumulativasString, out acumulativas);

            Dictionary <string, string> toleranceSecondsDic = new Dictionary <string, string>();

            toleranceSecondsDic.Add("toleranceSeconds", toleranceSeconds.ToString());
            toleranceSecondsDic.Add("toleranciaEntrada", toleranciaEntrada.ToString());
            toleranceSecondsDic.Add("toleranciaSalida", toleranciaSalida.ToString());
            toleranceSecondsDic.Add("toleranciaAcumuladaDisponible", acumulativas.ToString());

            AcademicoApiClient.GetInstance().ApiGet <HttpResponseMessage>("api/Sync/TransformarSNFichadasEnProceso", toleranceSecondsDic);
            EventLog.WriteEntry("TransformarSNFichadasEnProceso", EventLogEntryType.Information);
        }
Пример #3
0
        protected override void OnStop()
        {
            try
            {
                EventLog.WriteEntry("OnStop", EventLogEntryType.Information);
                logger.Info("Deteniendo el servicio");
                this.runTasks = false;
                AcademicoApiClient.GetInstance().Dispose();
                base.OnStop();
            }
            catch (Exception ex)
            {
                EventLog.WriteEntry(String.Concat("OnStop - ", ex.Message), EventLogEntryType.Error);

                logger.Error(ex);
            }
        }
Пример #4
0
        /// <summary>
        /// Consulta por las tareas a WebApi y las hace correr asincronicamente
        /// </summary>
        protected void RunTasks()
        {
            EventLog.WriteEntry("RunTasks", EventLogEntryType.Information);


            string cicloParam        = ConfigurationManager.AppSettings["Ciclo"];
            string cuatrimestreParam = ConfigurationManager.AppSettings["Cuatrimestre"];

            if (!string.IsNullOrEmpty(cicloParam))
            {
                cicloParam = DateTime.Today.Year.ToString();
            }

            if (!string.IsNullOrEmpty(cuatrimestreParam))
            {
                cuatrimestreParam = DateTime.Today.Month.ToString();
            }

            Dictionary <string, string> parametrosDic = new Dictionary <string, string>();

            parametrosDic.Add("ciclo", cicloParam);
            parametrosDic.Add("cuatrimestre", cuatrimestreParam);


            AcademicoApiClient.GetInstance().ApiGet <HttpResponseMessage>("api/MoodleSync/UpdateEnrolamiento", parametrosDic);
            EventLog.WriteEntry("UpdateEnrolamiento", EventLogEntryType.Information);

            AcademicoApiClient.GetInstance().ApiGet <HttpResponseMessage>("api/MoodleSync/AltaCursos", null);
            AcademicoApiClient.GetInstance().ApiGet <HttpResponseMessage>("api/MoodleSync/AltaGrupos", null);
            AcademicoApiClient.GetInstance().ApiGet <HttpResponseMessage>("api/MoodleSync/AltaUsuarios", null);
            AcademicoApiClient.GetInstance().ApiGet <HttpResponseMessage>("api/MoodleSync/AltaMatriculaciones", null);
            AcademicoApiClient.GetInstance().ApiGet <HttpResponseMessage>("api/MoodleSync/AltaAgrupamientos", null);
            AcademicoApiClient.GetInstance().ApiGet <HttpResponseMessage>("api/MoodleSync/BajaAgrupamientos", null);
            AcademicoApiClient.GetInstance().ApiGet <HttpResponseMessage>("api/MoodleSync/BajaMatriculaciones", null);

            //string moodleDirectoryString = ConfigurationManager.AppSettings["MoodleDirectory"];
            //Process.Start(moodleDirectoryString);
        }