示例#1
0
        public bool agregarActividad(TimeSpan horaInicio, DateTime dia, int duracion, int idTarea = -1, string descripcion = null, string titulo = null, string color = null, bool esRecur = false, string?comentarios = null)
        {
            var nuevaActividad = new Actividad()
            {
                dia           = dia,
                duracion      = duracion,
                horaInicio    = horaInicio,
                idTarea       = null,
                esRecurrencia = esRecur,
                comentarios   = comentarios,
            };

            if (idTarea == -1)
            {
                nuevaActividad.descripcion = descripcion;
                nuevaActividad.titulo      = titulo;
                nuevaActividad.color       = color;
            }
            else
            {
                nuevaActividad.idTarea = idTarea;
            }

            if (verificarNuevaActividad(nuevaActividad) == null)
            {
                if (_actividadRepo.agregarActividad(nuevaActividad) > 0)
                {
                    var nActividad = _actividadRepo.consultarUltimaActividad();

                    if (idTarea != -1)
                    {
                        var tarea = _tareaRepo.consultarTarea(idTarea);
                        titulo      = tarea.titulo;
                        descripcion = tarea.descripcion;
                    }

                    string   tituloInicio      = "Por iniciar " + titulo;
                    string   mensajeInicio     = descripcion;
                    DateTime fechaNotificacion = dia.Date.AddHours(horaInicio.Hours).AddMinutes(horaInicio.Minutes).AddSeconds(-10);

                    CrossLocalNotifications.Current.Show(tituloInicio, mensajeInicio, nActividad.id, fechaNotificacion);
                    return(true);
                }
            }
            return(false);
        }