Beispiel #1
0
        public IEnumerable <TemaItem> convierteTemaToTemaItem()
        {
            var cliente = MainVistaModelo.getInstancia().getWS();

            temaModelo[] aTema = null;

            try
            {
                aTema = cliente.getTema(idCurso);
            }
            catch (Exception) { }

            List <temaModelo> lTema = null;

            if (aTema == null)
            {
                ListaVacia   = true;
                lTema        = new List <temaModelo>();
                this.Proceso = false;
            }
            else
            {
                ListaVacia = false;
                lTema      = aTema.ToList <temaModelo>();
            }

            return(lTema.Select(l => new TemaItem
            {
                idTema = l.idTema,
                curso = l.curso,
                nombre = l.nombre
            }).OrderBy(x => x.idTema));
        }
 public async void cargaCursos()
 {
     this.Proceso = true;
     this.usuario = MainVistaModelo.getInstancia().usuarioCurso;
     await Task.Run(() => {
         this.Cursos  = new ObservableCollection <MenuVistaModelo>(convierteCursoAMenuVistaModelo());
         this.Proceso = false;
     });
 }
Beispiel #3
0
        private async void EliminaCurso()
        {
            bool res = await Application.Current.MainPage.DisplayAlert("¡ATENCIÓN!",
                                                                       "Esta a punto de eliminar todo el curso" + this.NombreCurso, "ACEPTAR", "CANCELAR");

            if (res)
            {
                this.Proceso = true;
                var main    = MainVistaModelo.getInstancia();
                var cliente = main.getWS();

                bool resS = false;
                try
                {
                    await Task.Run(() =>
                    {
                        try
                        {
                            resS = cliente.eliminaCurso(new cursoModelo {
                                idCurso = this.idCurso
                            });
                        }
                        catch (Exception) { }
                    });

                    if (!resS)
                    {
                        string mensaje = string.Format("No se ha podido eliminar el curso{0}Pruebe " +
                                                       "con borrar las actividades de este curso{0}", Environment.NewLine);
                        Util.mensaje(1, mensaje);
                    }
                    else
                    {
                        usuarioModelo usuarioM = null;

                        usuarioModelo usuarioN = main.usuarioCurso;

                        await Task.Run(() =>
                        {
                            usuarioM          = cliente.login(usuarioN.nickname, usuarioN.contrasena, true);
                            main.usuarioCurso = usuarioM;
                            HomeVistaModelo.getInstancia().cargaCursos();
                        });

                        Util.mensaje(0, "Curso Eliminado");

                        VMenu.getInstancia().irAlInicio();
                    }
                }
                catch (Exception)
                {
                    Util.mensaje(1, "No se ha podido eliminar el curso");
                }
            }
            this.Proceso = false;
        }
        public async void GuardaArchivo()
        {
            if (archivo == null)
            {
                Util.mensaje(1, "El archivo no ha sido cargado"); return;
            }

            this.Proceso = true;

            var conexion = await new APIServicio().verificaConexion();

            if (!conexion.IsSuccess)
            {
                this.Proceso = false;
                Util.mensaje(1, conexion.Mensaje);
                return;
            }

            int indiceExtension = archivo.FileName.IndexOf(".") + 1;

            archivoM = new archivoModelo();

            archivoM.bufferArchivo = archivo.DataArray;
            archivoM.actividad     = new actividadModelo {
                idActividad = this.actividad.idActividad
            };
            archivoM.usuario   = MainVistaModelo.getInstancia().usuarioCurso;
            archivoM.extension = archivo.FileName.Substring(indiceExtension);
            archivoM.nombre    = archivo.FileName.Substring(0, indiceExtension);

            var cliente = MainVistaModelo.getInstancia().getWS();

            bool res = false;

            await Task.Run(() => res = cliente.agregaActualizaArchivo(archivoM));

            if (!res)
            {
                Util.mensaje(1, "EL archivo no pudo ser cargado");
            }
            else
            {
                //Mostrar una imagen de OK
                Util.mensaje(1, "Archivo Agregado Correctamente");
                this.CargaArchivo();
            }
            this.Proceso = false;
        }
Beispiel #5
0
        private async void RegistraTema()
        {
            if (string.IsNullOrEmpty(Nombre))
            {
                Util.mensaje(1, "El nombre esta vacío");
                return;
            }

            this.Proceso = true;

            var conexion = await this.apiServicio.verificaConexion();

            if (!conexion.IsSuccess)
            {
                this.Proceso = false;
                Util.mensaje(1, conexion.Mensaje);
                return;
            }

            var client = MainVistaModelo.getInstancia().getWS();

            client.Timeout = 10000;

            cursoModelo cursoN = new cursoModelo {
                idCurso = this.idCurso
            };

            temaModelo tema = new temaModelo {
                nombre = this.Nombre, curso = cursoN
            };

            bool res = false;

            await Task.Run(() => res = client.agregaTema(tema));

            if (!res)
            {
                Util.mensaje(1, "El tema no pudo ser creado");
                this.Proceso = false;
                return;
            }

            CursoVistaModelo.getInstancia().cargaTemas();
            this.Proceso = false;
            Util.pantallaAnterior();
        }
Beispiel #6
0
        public IEnumerable <ActividadItem> convierteActividadToActividadItem()
        {
            var cliente = MainVistaModelo.getInstancia().getWS();

            cliente.Timeout = 10000;

            actividadModelo[] aActividad = null;

            try
            {
                aActividad = cliente.getActividad(this.tema.idTema);
            }
            catch (Exception) { }

            List <actividadModelo> lActividadN = null;

            if (aActividad == null)
            {
                this.ListaVacia = true;
                lActividadN     = new List <actividadModelo>();
                this.Proceso    = false;
            }
            else
            {
                this.ListaVacia = false;
                lActividadN     = aActividad.ToList <actividadModelo>();
            }


            return(lActividadN.Select(l => new ActividadItem
            {
                idActividad = l.idActividad,
                fechaFin = l.fechaFin,
                fechaInicio = l.fechaInicio,
                horaFin = l.horaFin,
                horaInicio = l.horaInicio,
                nombre = l.nombre,
                valor = l.valor,
                descripcion = l.descripcion
            }).OrderBy(x => x.idActividad));
        }
Beispiel #7
0
        public async void EliminarTema()
        {
            bool res = await Application.Current.MainPage.DisplayAlert("¡ATENCIÓN!",
                                                                       "Esta a punto de eliminar el tema '" + this.tema.nombre + "'", "ACEPTAR", "CANCELAR");

            if (res)
            {
                this.Proceso = true;

                var cliente = MainVistaModelo.getInstancia().getWS();

                bool resS = false;

                await Task.Run(() =>
                {
                    try
                    {
                        resS = cliente.eliminaTema(new temaModelo {
                            idTema = this.tema.idTema
                        });
                    }
                    catch (Exception e) { Util.mensaje(1, e.Message); }
                });

                if (!resS)
                {
                    Util.mensaje(1, "No se ha podido eliminar el tema");
                }
                else
                {
                    CursoVistaModelo.getInstancia().cargaTemas();
                    this.Proceso = false;
                    Util.pantallaAnterior();
                }
            }
        }
        private async void CargaArchivo()
        {
            this.Proceso = true;
            var main = MainVistaModelo.getInstancia();

            var cliente = main.getWS();

            await Task.Run(() => archivoM = cliente.getArchivo(
                               this.actividad.idActividad, main.usuarioCurso.idPersona));

            if (archivoM != null)
            {
                this.RutaImagen    = archivoM.extension + ".png";
                this.BotonActivo   = false;
                this.ImagenVisible = true;
                this.CargarArchivo = false;
            }
            else
            {
                this.CargarArchivo = true;
            }

            this.Proceso = false;
        }
Beispiel #9
0
        public async void RegistraCurso()
        {
            if (string.IsNullOrEmpty(NombreCurso))
            {
                Util.mensaje(1, "Nombre del curso vacío");
                return;
            }

            if (string.IsNullOrEmpty(Periodo))
            {
                Util.mensaje(1, "Seleccione un periodo");
                return;
            }

            this.Proceso = true;

            var conexion = await new APIServicio().verificaConexion();

            if (!conexion.IsSuccess)
            {
                this.Proceso = false;
                Util.mensaje(1, conexion.Mensaje);
                return;
            }

            cursoModelo curso = new cursoModelo
            {
                anio    = 2018,
                nombre  = NombreCurso,
                periodo = Periodo
            };

            List <cursoModelo> lCurso = new List <cursoModelo>();

            var main = MainVistaModelo.getInstancia();

            usuarioModelo usuario = main.usuarioCurso;

            lCurso = (usuario.cursos != null) ? usuario.cursos.ToList <cursoModelo>() : lCurso;

            lCurso.Add(curso);

            usuario.cursos = lCurso.ToArray();

            bool res = main.getWS().registro(usuario);

            if (!res)
            {
                Util.mensaje(1, "El curso no ha podido ser creado");
            }
            else
            {
                usuarioModelo usuarioM = null;

                await Task.Run(() =>
                {
                    usuarioM          = main.getWS().login(usuario.nickname, usuario.contrasena, true);
                    main.usuarioCurso = usuarioM;
                    HomeVistaModelo.getInstancia().cargaCursos();
                });

                Util.mensaje(0, "Curso creado");
            }
            this.Proceso     = false;
            this.Periodo     = null;
            this.NombreCurso = string.Empty;
        }
Beispiel #10
0
 public void RedireccionaRegistroActividad()
 {
     MainVistaModelo.getInstancia().Actividad = new ActividadVistaModelo(this.tema, null);
     Util.muestraPantalla(new VActividad("Registrar nueva Actividad"));
 }
Beispiel #11
0
 private void RedireccionaRegistroTema()
 {
     MainVistaModelo.getInstancia().Tema = new TemaVistaModelo(0, null, this.idCurso);
     Util.muestraPantalla(new VTema("Registrar nuevo tema"));
 }
Beispiel #12
0
 /**
  * Instancia unica del Main
  * */
 public static MainVistaModelo getInstancia()
 {
     return((mainVistaModelo == null) ? mainVistaModelo = new MainVistaModelo() : mainVistaModelo);
 }
Beispiel #13
0
 /**
  * El constructor solo se inicializa una vez entonces
  * el Login es el principal que se debe de mostrar
  * */
 public MainVistaModelo()
 {
     mainVistaModelo = this;
     this.Login      = new LoginVistaModelo();
 }
        public async void Iniciar()
        {
            if (string.IsNullOrEmpty(Nombre))
            {
                Util.mensaje(1, "Nombre vacío");
                return;
            }
            if (string.IsNullOrEmpty(Correo))
            {
                Util.mensaje(1, "Correo vacío");
                return;
            }
            if (string.IsNullOrEmpty(Nickname))
            {
                Util.mensaje(1, "Nickname vacío");
                return;
            }
            if (string.IsNullOrEmpty(Contrasena))
            {
                Util.mensaje(1, "Contrasena vacía");
                return;
            }
            if (string.IsNullOrEmpty(Contrasena1))
            {
                Util.mensaje(1, "Contraseña vacía");
                return;
            }

            if (!Contrasena1.Equals(Contrasena))
            {
                Util.mensaje(1, "Las contraseñas no coinciden");
                return;
            }

            this.Proceso = true;

            usuarioModelo usuario = new usuarioModelo();
            rolModelo     rol     = new rolModelo
            {
                idRol = (this.soyProfesor.Equals("Soy Profesor")) ? 1 : 2
            };

            usuario.nombre     = this.Nombre;
            usuario.correo     = this.Correo;
            usuario.nickname   = this.Nickname;
            usuario.contrasena = this.Contrasena;
            usuario.rol        = rol;

            try
            {
                var mainVistaM = MainVistaModelo.getInstancia();
                var cliente    = mainVistaM.getWS();

                cliente.Timeout = 6000;
                bool res = false;

                await Task.Run(() => res = cliente.registro(usuario));

                if (!res)
                {
                    Util.mensaje(1, "Nickname o correo no disponibles");
                }
                else
                {
                    usuarioModelo usuarioM = null;

                    await Task.Run(() => usuarioM = cliente.login(usuario.nickname, usuario.contrasena, true));

                    mainVistaM.usuarioCurso = usuarioM;
                    mainVistaM.Home         = new HomeVistaModelo();
                    Util.muestraPantalla(new VMenu());
                }
                this.Proceso = false;
            }
            catch
            {
                this.Proceso = false;
            }
        }
        public async void RegistrarActividad()
        {
            if (string.IsNullOrEmpty(Nombre))
            {
                Util.mensaje(1, "El nombre esta vacío");
                return;
            }

            this.Proceso = true;

            var conexion = await new APIServicio().verificaConexion();

            if (!conexion.IsSuccess)
            {
                this.Proceso = false;
                Util.mensaje(1, conexion.Mensaje);
                return;
            }

            var client = MainVistaModelo.getInstancia().getWS();

            client.Timeout = 10000;

            actividadModelo actividad = new actividadModelo
            {
                nombre      = this.Nombre,
                descripcion = this.Descripcion,
                fechaInicio = this.FechaInicio.ToString("yyyy-MM-dd"),
                fechaFin    = this.FechaFin.ToString("yyyy-MM-dd"),
                horaInicio  = this.HoraInicio.ToString("hh:mm tt"),
                horaFin     = this.HoraFin.ToString("hh:mm tt"),
                valor       = this.Valor,
                tema        = new temaModelo {
                    idTema = tema.idTema
                }
            };

            bool res = false;

            await Task.Run(() =>
            {
                try
                {
                    res = client.agregaActividad(actividad);
                }
                catch (Exception e)
                {
                    Util.mensaje(1, e.Message);
                }
            });

            if (!res)
            {
                Util.mensaje(1, "La actividad no pudo ser creada");
                this.Proceso = false;
                return;
            }

            TemaVistaModelo.getInstancia().cargaActividades();
            this.Proceso = false;
            Util.pantallaAnterior();
        }
Beispiel #16
0
 public void Registrar()
 {
     MainVistaModelo.getInstancia().Registro = new RegistroVistaModelo();
     Util.muestraPantalla(new VRegistro());
 }
Beispiel #17
0
        public async void Iniciar()
        {
            if (string.IsNullOrEmpty(this.Email))
            {
                Util.mensaje(1, "Email vacío");
                return;
            }

            if (string.IsNullOrEmpty(this.Password))
            {
                Util.mensaje(1, "Password vacío");
                return;
            }

            this.BtnActivo = false;
            this.Proceso   = true;

            bool correo = this.Email.Contains("@");

            var conexion = await this.apiServicio.verificaConexion();

            if (!conexion.IsSuccess)
            {
                this.BtnActivo = true;
                this.Proceso   = false;
                Util.mensaje(1, conexion.Mensaje);
                return;
            }

            usuarioModelo usuario = null;

            try
            {
                var client = MainVistaModelo.getInstancia().getWS();
                client.Timeout = 10000;

                await Task.Run(() => usuario = client.login(Email, Password, correo));

                usuario = client.login(Email, Password, correo);
                this.limpiaPantalla();

                if (usuario == null)
                {
                    this.BtnActivo = true;
                    this.Proceso   = false;
                    Util.mensaje(1, "Usuario o contraseña incorrectos");
                    return;
                }

                MainVistaModelo.getInstancia().usuarioCurso = usuario;
                MainVistaModelo.getInstancia().Home         = new HomeVistaModelo();

                this.BtnActivo = true;
                this.Proceso   = false;

                Util.muestraPantalla(new VMenu());
            }
            catch (Exception e)
            {
                limpiaPantalla();
                Util.mensaje(1, e.Message);
            }
        }