public ViewTarea(Tarea tarea, bool nuevo)
        {
            this.nuevo = nuevo;
            this.tarea = tarea;
            InitializeComponent();
            tareaManager = new TareaManager(new GenericRepository <Tarea>());
            contenedor.BindingContext = tarea;

            btnGuardar.Clicked += (sender, e) =>
            {
                Tarea resultado;
                if (nuevo)
                {
                    resultado = tareaManager.Agregar(contenedor.BindingContext as Tarea);
                }
                else
                {
                    resultado = tareaManager.Modificar(contenedor.BindingContext as Tarea);
                }
                if (resultado != null)
                {
                    DisplayAlert("Mi Escuela", "Tarea Guardado", "Ok");
                    Navigation.PopAsync();
                }
                else
                {
                    DisplayAlert("Mi Escuela", "Error al guardar :'(   ...", "Ok");
                }
            };
            btnEliminar.Clicked += (sender, e) =>
            {
                if (!nuevo)
                {
                    if (tareaManager.Eliminar(tarea.Id))
                    {
                        DisplayAlert("Mi Escuela", "Tarea Eliminada Correctamente", "OK");
                        Navigation.PopAsync();
                    }
                    else
                    {
                        DisplayAlert("Mi Escuela", "No se pudo eliminar la Tarea", "OK");
                    }
                }
            };
        }
        public ViewMateria(Materia materia, bool nuevo)
        {
            InitializeComponent();
            this.nuevo                = nuevo;
            this.materia              = materia;
            materiaManager            = new MateriasManager(new GenericRepository <Materia>());
            tareaManager              = new TareaManager(new GenericRepository <Tarea>());
            contenedor.BindingContext = materia;
            this.Appearing           += ViewMateria_Appearing;

            btnGuardar.Clicked += (sender, e) =>
            {
                Materia resultado;
                if (nuevo)
                {
                    resultado = materiaManager.Agregar(contenedor.BindingContext as Materia);
                }
                else
                {
                    resultado = materiaManager.Modificar(contenedor.BindingContext as Materia);
                }
                if (resultado != null)
                {
                    DisplayAlert("Mi Escuela", "Materia Guardado", "Ok");
                    Navigation.PopAsync();
                }
                else
                {
                    DisplayAlert("Mi Escuela", "Error al guardar :'(   ...", "Ok");
                }
            };


            btnEliminar.Clicked += (sender, e) =>
            {
                if (!nuevo)
                {
                    if (materiaManager.Eliminar(materia.Id))
                    {
                        DisplayAlert("Mi Escuela", "Materia Eliminada Correctamente", "OK");
                        Navigation.PopAsync();
                    }
                    else
                    {
                        DisplayAlert("Mi Escuela", "No se pudo eliminar la materia", "OK");
                    }
                }
            };

            btnAgregarTarea.Clicked += (sender, e) =>
            {
                Navigation.PushAsync(new ViewTarea(new Tarea()
                {
                    IdMateria = materia.Id
                }, true));
            };
            lstTareas.ItemTapped += (sender, e) =>
            {
                if (lstTareas.SelectedItem != null)
                {
                    Navigation.PushAsync(new ViewTarea(lstTareas.SelectedItem as Tarea, false));
                }
            };
        }