Ejemplo n.º 1
0
        /// <summary>
        /// Guarda las entradas en la bitacora semanal corresponidente
        /// </summary>
        /// <param name="msg">contenido de la entrada</param>
        /// <param name="tipoEntrada">"objetivo" "planificaciondiaria" "reflexionsemanal" "reflexionmetacognitiva"</param>
        /// <param name="fecha">fecha de la bitacora semanal a a la que se quiere guardar la entrada</param>
        public void GuardarMensajeEnEntrada(Mensaje msg, TipoEntrada tipoEntrada, DateTime fecha)
        {
            //buscar biracora semenal con fecha
            int indice = BuscarBitacoraSemanalPorFecha(fecha);

            //guardarmensaje en la encontrada

            if (tipoEntrada == TipoEntrada.Objetivo)
            {
                this.BitacoraSemanals[indice].GuardarObjetivo(msg);
            }

            if (tipoEntrada == TipoEntrada.PlanificacionDiaria)
            {
                this.BitacoraSemanals[indice].GuardarPlanificacionDiaria(msg);
            }

            if (tipoEntrada == TipoEntrada.ReflexionSemanal)
            {
                this.BitacoraSemanals[indice].GuardarReflexionSemanal(msg);
            }

            if (tipoEntrada == TipoEntrada.ReflexionMetacognitiva)
            {
                this.BitacoraSemanals[indice].GuardarReflexionMetacognitiva(msg);
            }

            this.BitacoraSemanals[indice].EstadoSiguiente();
        }
Ejemplo n.º 2
0
        public override bool Equals(object obj)
        {
            //
            // See the full list of guidelines at
            //   http://go.microsoft.com/fwlink/?LinkID=85237
            // and also the guidance for operator== at
            //   http://go.microsoft.com/fwlink/?LinkId=85238
            //

            if (obj == null || GetType() != obj.GetType())
            {
                return(false);
            }

            // safe because of the GetType check
            NodoTablaSimbolos nodo = (NodoTablaSimbolos)obj;

            // use this pattern to compare reference members
            if (Nombre.Equals(nodo.Nombre) && TipoEntrada.Equals(nodo.TipoEntrada))
            {
                return(true);
            }
            else
            {
                return(false);
            }
        }
        public ActionResult Actualizar(TipoEntrada tipo)
        {
            var proxy = new TransaccionesClient();

            proxy.actualizarTipoEntrada(tipo);
            return(RedirectToAction("Index"));
        }
        public void GuardarTipoEntradaDiaNotificacionAUsuario(TipoEntrada entrada, long IDUsuario)
        {
            DiaNotificacion diaNotificacion = new DiaNotificacion();

            diaNotificacion.Tipo = entrada;
            GuardarDiaNotificacionAUsuario(diaNotificacion, IDUsuario);
            //this.ImprimirConsolaUsuarios();
        }
        public static void  ModeradroMensajeNotificacion(long idContacto, TipoEntrada entrada)
        {
            MensajesNotificatorios m = new MensajesNotificatorios(idContacto);

            m.Notificacion(entrada);
            string response = m.Respuesta;

            Console.WriteLine(response);
        }
Ejemplo n.º 6
0
        public static void  HandleMessageSendNotification(long idContacto, TipoEntrada entrada)
        {
            MensajesNotificatorios m = new MensajesNotificatorios(idContacto);

            m.Notificacion(entrada);
            string response = m.Respuesta;

            // enviamos el texto de respuesta
            Bot.SendTextMessageAsync(idContacto, response);
        }
        /// <summary>
        /// Delega a el comunicador el envio del mensaje para el usuario
        /// </summary>
        public void EnviarMensajeNotificacion(long idContacto, TipoEntrada entrada)
        {
            int i = this.BuscarUsuarioID(idContacto);

            if (this.UsuariosDelPrograma[i].modo == ModoDeUso.Telegram)
            {
                ComunicadorTelegram.HandleMessageSendNotification(idContacto, entrada);
            }
            else
            {
                ComunicadorConsola.ModeradroMensajeNotificacion(idContacto, entrada);
            }
        }
Ejemplo n.º 8
0
 public DiaNotificacion(TipoEntrada tipo, Dias dia, TimeSpan hora)
 {
     this.Tipo = tipo;
     this.Dia  = dia;
     this.Hora = hora;
 }
Ejemplo n.º 9
0
        private int SetFrequencia(string login, TipoEntrada tipo)
        {
            if (!FrequenciaValida(login, tipo))
            {
                this.EnviarMensagem("Já foi realizada a frequência de entrada", "2");
                return 0;
            }

            var freq = GetFrequencia(login, tipo);

            //Db.AddOrUpdate(freq);
            //Db.Commit();

            return freq.Id;
        }
Ejemplo n.º 10
0
        private bool FrequenciaValida(string login, TipoEntrada tipo)
        {
            var hoje = DateTime.Parse(DateTime.Now.ToShortDateString());

            var freq = new FrequenciaMo();

            switch (tipo)
            {
                case TipoEntrada.Entrada:
                    {
                        freq = Db.Find(x => x.Funcionario.Login.Equals(login) && x.Data == hoje && x.IsEntrada);
                        break;
                    }
                case TipoEntrada.EntradaIntervalo:
                    {
                        freq = Db.Find(x => x.Funcionario.Login.Equals(login) && x.Data == hoje && x.IsSaidaIntervalo);
                        break;
                    }
                case TipoEntrada.SaidaIntervalo:
                    {
                        freq = Db.Find(x => x.Funcionario.Login.Equals(login) && x.Data == hoje && x.IsVoltaIntervalo);
                        break;
                    }
                case TipoEntrada.Saida:
                    {
                        freq = Db.Find(x => x.Funcionario.Login.Equals(login) && x.Data == hoje && x.IsSaida);
                        break;
                    }
            }

            return freq == null;
        }
Ejemplo n.º 11
0
        private FrequenciaMo GetFrequencia(string login, TipoEntrada tipo)
        {
            var funcC0 = new FuncionarioCo();
            var func = funcC0.Find(x => x.Login.Equals(login));
            var hoje = DateTime.Parse(DateTime.Now.ToShortDateString());
            var hora = DateTime.Now;

            var freqMo = Db.Find(x => x.Data == hoje && x.Funcionario.Id == func.Id) ?? new FrequenciaMo();

            freqMo.Data = hoje;
            freqMo.FuncionarioId = func.Id;

            switch (tipo)
            {
                case TipoEntrada.Entrada:
                    {
                        freqMo.Entrada = new TimeSpan(hora.Hour, hora.Minute, 0);
                        freqMo.IsEntrada = true;
                        break;
                    }
                case TipoEntrada.EntradaIntervalo:
                    {
                        freqMo.EntradaIntervalo = new TimeSpan(hora.Hour, hora.Minute, 0);
                        freqMo.IsSaidaIntervalo = true;
                        break;
                    }
                case TipoEntrada.SaidaIntervalo:
                    {
                        freqMo.SaidaIntervalo = new TimeSpan(hora.Hour, hora.Minute, 0);
                        freqMo.IsVoltaIntervalo = true;
                        break;
                    }
                case TipoEntrada.Saida:
                    {
                        //freqMo.Saida = new TimeSpan(hora.Hour, hora.Minute, 0);
                        freqMo.IsSaida = true;

                        var horaTrabalhada = (freqMo.Saida - freqMo.SaidaIntervalo) +
                                             (freqMo.EntradaIntervalo - freqMo.Entrada);

                        freqMo.HoraTrabalhada = Convert.ToDecimal(horaTrabalhada.TotalHours);
                        break;
                    }
            }

            return freqMo;
        }
Ejemplo n.º 12
0
 public void Notificacion(TipoEntrada entrada)
 {
     Respuesta = "Llego el momento de completar la entrada " + entrada.ToString() +
                 "\nRecuerda que para ESCRIBIR UNA ENTRADA DE TU BITACORA DEBES ESCRIBIR EN EL CHAT: escribir";
 }
Ejemplo n.º 13
0
 public Entrada(TipoEntrada tipo, string valor)
 {
     Tipo  = tipo;
     Valor = valor;
 }
Ejemplo n.º 14
0
        public void FlujoUsuarioEntraAPlataforma()
        {
            if ((MensajeEntrada == "lunes") || (MensajeEntrada == "martes") || (MensajeEntrada == "miercoles") ||
                (MensajeEntrada == "jueves") || (MensajeEntrada == "viernes") || (MensajeEntrada == "sabado") || (MensajeEntrada == "domingo"))
            {
                Responde = "ELIGE A QUE ::HORA:: QUIERES QUE SE NOTIFIQUE EL ::" + entrada.ToString() + ":: ESCRIBE\n" +
                           " CON EL SIGUIENTE FORMATO: \nHH:MM:SS \n___";
                //buscar usuario en el programa asociado con el usuario de Telegram

                //guardar en DiaNotificacion del usuario

                terminoConfigurarMomentoNotificacion = true;
            }
            else
            {
                switch (MensajeEntrada)
                {
                case "/start":
                    Responde = "¡Bienvenido!\n ¿Qué quieres hacer?\n" +
                               " * SI QUIERES ESCRIBIR TU BITÁCORA ESCRIBE: escribir \n" +
                               " * SI QUIERES CONFIGURAR EL MOMENTO DE NOTIFICACIÓN DE LAS ENTRADAS ESCRIBE: configurar\n" +
                               " * SI QUIERES SALIR DEL BOT ESCRIBE: salir \n" +
                               "___";
                    this.seEquivoco = false;
                    break;

                case "escribir":
                    Responde = " * SI QUIERES ESCRIBIR EL OBJETIVO ESCRIBE: escribir objetivo \n" +
                               " * SI QUIERES ESCRIBIR LA PLANIFICACION DIARIA ESCRIBE: escribir diaria \n" +
                               " * SI QUIERES ESCRIBIR LA REFLEXION METACOGNITIVA ESCRIBE: escribir metacognitiva \n" +
                               " * SI QUIERES ESCRIBIR LA REFLEXION SEMANAL ESCRIBE: escribir semanal \n" +
                               " * SI QUIERES SALIR DEL BOT ESCRIBE: salir \n" +
                               "___";
                    this.seEquivoco = false;
                    break;

                case "escribir objetivo":
                    Responde = " ESCRIBE UN OBJETIVO \n" +
                               "___";
                    this.seEquivoco = false;
                    break;


                case "escribir diaria":
                    Responde = " ESCRIBE UNA PLANIFICACIÓN DIARIA \n" +
                               "___";
                    this.seEquivoco = false;
                    break;


                case "escribir metacognitiva":
                    Responde = " ESCRIBE UNA REFLEXIÓN METACOGNITIVA \n" +
                               "___";
                    this.seEquivoco = false;
                    break;


                case "escribir semanal":
                    Responde = " ESCRIBE UNA REFLEXIÓN SEMANAL \n" +
                               "___";
                    this.seEquivoco = false;
                    break;

                case "configurar":
                    Responde = "ELIGE LA OPCION CORRESPONDIENTE A LA ENTRADA QUE QUIERES CONFIGURAR:\n" +
                               " 1. OBJETIVO\n 2. PLANIFICACION DIARIA \n 3. REFLEXION METACOGNITIVA\n 4. REFLEXION SEMANAL\n___";
                    this.seEquivoco = false;
                    break;

                case "1":
                    Responde = "ELIGE QUE ::DÍA:: QUIERES QUE SE NOTIFIQUE EL ::OBJETIVO:: ESCRIBE: \n" +
                               " lunes, martes, miercoles,\n jueves, viernes, sabado o domingo\n___";
                    entrada = TipoEntrada.Objetivo;
                    //buscar usuario en el programa asociado con el usuario de Telegram
                    //guardar en DiaNotificacion del usuario
                    this.seEquivoco = false;
                    break;

                case "2":
                    Responde = "ELIGE QUE ::DÍA:: QUIERES QUE SE NOTIFIQUE EL ::PLANIFICACION DIARIA:: ESCRIBE: \n" +
                               " lunes, martes, miercoles,\n jueves, viernes, sabado o domingo\n___";
                    entrada = TipoEntrada.PlanificacionDiaria;
                    //buscar usuario en el programa asociado con el usuario de Telegram
                    //guardar en DiaNotificacion del usuario
                    this.seEquivoco = false;
                    break;


                case "3":
                    Responde = "ELIGE QUE ::DÍA:: QUIERES QUE SE NOTIFIQUE EL ::REFLEXION METACOGNITIVA:: ESCRIBE: \n" +
                               " lunes, martes, miercoles,\n jueves, viernes, sabado o domingo\n___";
                    entrada = TipoEntrada.ReflexionMetacognitiva;
                    //buscar usuario en el programa asociado con el usuario de Telegram
                    //guardar en DiaNotificacion del usuario
                    this.seEquivoco = false;
                    break;


                case "4":
                    Responde = "ELIGE QUE ::DÍA:: QUIERES QUE SE NOTIFIQUE EL ::REFLEXION SEMANAL:: ESCRIBE: \n" +
                               " lunes, martes, miercoles,\n jueves, viernes, sabado o domingo\n___";
                    entrada = TipoEntrada.ReflexionSemanal;
                    //buscar usuario en el programa asociado con el usuario de Telegram
                    //guardar en DiaNotificacion del usuario
                    this.seEquivoco = false;
                    break;

                case "salir":
                    Responde = "Chau! Que andes bien!";
                    break;

                default:
                    Console.WriteLine(seEquivoco + "Terminoconf" + terminoConfigurarMomentoNotificacion);
                    if (seEquivoco == false && terminoConfigurarMomentoNotificacion == true)
                    {
                        Responde        = "TU CONFIGURACION DE NOTIFICACIÓN A SIDO GUARDADA";
                        this.seEquivoco = false;
                    }
                    else
                    {
                        Responde        = "Disculpa, no se qué hacer con ese mensaje!";
                        this.seEquivoco = true;
                    }
                    Console.WriteLine(seEquivoco + "Terminoconf" + terminoConfigurarMomentoNotificacion);

                    break;
                }
            }
        }