Example #1
0
        public async Task <IActionResult> Edit(int id, [Bind("Id,Nombre,Apellido")] AsistenciaModel asistenciaModel)
        {
            if (id != asistenciaModel.Id)
            {
                return(NotFound());
            }

            if (ModelState.IsValid)
            {
                try
                {
                    _context.Update(asistenciaModel);
                    await _context.SaveChangesAsync();
                }
                catch (DbUpdateConcurrencyException)
                {
                    if (!AsistenciaModelExists(asistenciaModel.Id))
                    {
                        return(NotFound());
                    }
                    else
                    {
                        throw;
                    }
                }
                return(RedirectToAction(nameof(Index)));
            }
            return(View(asistenciaModel));
        }
Example #2
0
        //Tomar asistencia. Invoca un objeto ScannerView()
        public async void TomarAsistencia()
        {
            await App.Current.MainPage.Navigation.PushModalAsync(new Views.ScannerView());

            //Estara pendiente de cuando la clase scannerView haya obtenido un resultado del escaneo.
            MessagingCenter.Subscribe <ScannerView, String>(this, "", async(s, arg) => {
                MessagingCenter.Unsubscribe <ScannerView, String>(this, "");

                //Si posee el siguiente substring, la respuesta no es valida
                if (arg.Contains("no posee un formato valido"))
                {
                    return;
                }

                //Se crea un nuevo objeto AsistenciaModel y se agrega a la base de datos.
                string [] datos = arg.Split('-');
                var asis        = new AsistenciaModel();
                asis.Cedula     = datos[0];
                asis.Nombre     = datos[1];
                asis.Apellido   = datos[2];
                asis.id_seccion = seccion;
                App.BaseDeDatos.AlmacenarAsistencia(asis);
                await App.Current.MainPage.Navigation.PopModalAsync();
            });
        }
Example #3
0
 public IHttpActionResult PutAsistencias(string id, AsistenciaModel asistencias)
 {
     try
     {
         string data = validaciones.validarDatosAsistencia(asistencias.FechaAsistencia, asistencias.Estudiante, asistencias.Grupo, asistencias.Curso, asistencias.TipoAsistencia);
         if (data.Equals("1"))
         {
             data = db.ActualizarAsistencia(id, asistencias.Estudiante, Int32.Parse(asistencias.Grupo), Int32.Parse(asistencias.Curso), asistencias.TipoAsistencia, asistencias.FechaAsistencia);
             if (data.Equals("1"))
             {
                 return(StatusCode(HttpStatusCode.NoContent));//201
             }
             else if (data.Equals("Error el estudiante no existe") || data.Equals("Error el curso no existe") ||
                      data.Equals("Error el grupo no existe") || data.Equals("Error el tipo de asistencia no existe") ||
                      data.Equals("La asistencia no esta registrado"))
             {
                 return(NotFound());
             }
             else
             {
                 throw new Exception(data);
             }
         }
         else
         {
             throw new Exception(data);
         }
     }
     catch (Exception ex)
     {
         return(InternalServerError(ex));
     }
 }
Example #4
0
        // GET: api/Asistencias
        public List <AsistenciaModel> GetAsistencias()
        {
            try
            {
                List <AsistenciaModel> asistencias = new List <AsistenciaModel>();
                List <Asistencias>     data        = db.obtenerAsistencias();
                foreach (Asistencias asis in data)
                {
                    AsistenciaModel temp = new AsistenciaModel();
                    temp.FechaAsistencia = asis.fecha;
                    temp.Estudiante      = temp.obtenerCedulaEstudiante(asis.idEstudiante);
                    string[] tempG = temp.obtenerDataGrupo(asis.idGrupo).Split(',');
                    temp.Grupo          = tempG[0];
                    temp.Curso          = tempG[1];
                    temp.TipoAsistencia = temp.obtenerNombreTipoAsistencia(asis.idTipoAsistencia);
                    asistencias.Add(temp);
                }

                return(asistencias);
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
Example #5
0
        public async Task <IActionResult> Create([Bind("Id,Nombre,Apellido")] AsistenciaModel asistenciaModel)
        {
            if (ModelState.IsValid)
            {
                _context.Add(asistenciaModel);
                await _context.SaveChangesAsync();

                return(RedirectToAction(nameof(Index)));
            }
            return(View(asistenciaModel));
        }
        public ActionResult Index([Bind(Include = "idProfesor,firma")] AsistenciaModel asistencia)
        {
            if (ModelState.IsValid)
            {
                String         dia        = obtenCadenaDiaHoy();
                DateTime       horaActual = DateTime.Now.AddMinutes(15);
                List <HORARIO> lHorario   = db.HORARIO.Where(h => h.ID_PROFESOR == asistencia.idProfesor && h.DIA_SEMANA.Contains(dia)).ToList();

                if (lHorario.Count > 0)
                {
                    int cont = 0;
                    foreach (HORARIO hAux in lHorario)
                    {
                        if (hAux.HORA_CLASE.HORA_INICIO.TimeOfDay <= DateTime.Now.AddMinutes(15).TimeOfDay&& hAux.HORA_CLASE.HORA_FIN.TimeOfDay > DateTime.Now.AddMinutes(15).TimeOfDay)
                        {
                            REGISTRO_ASISTENCIA raAux = db.REGISTRO_ASISTENCIA.FirstOrDefault(ra => ra.ID_HORARIO == hAux.ID_HORARIO && ra.FECHA == DateTime.Today);
                            if (raAux == null)
                            {
                                if (hAux.PROFESOR.FIRMA == asistencia.firma)
                                {
                                    REGISTRO_ASISTENCIA rAsistencia = new REGISTRO_ASISTENCIA();
                                    rAsistencia.FECHA      = DateTime.Now.Date;
                                    rAsistencia.HORA       = DateTime.Now;
                                    rAsistencia.ID_HORARIO = hAux.ID_HORARIO;
                                    db.REGISTRO_ASISTENCIA.Add(rAsistencia);
                                    db.SaveChanges();
                                    db.CALCULOINSERCIONRETARDO(rAsistencia.ID_HORARIO, rAsistencia.ID_REGISTRO_ASISTENCIA, rAsistencia.HORA);
                                    db.SaveChanges();
                                    ViewBag.idProfesor = obtenListadoProfesores();
                                    return(View());
                                }
                                ModelState.AddModelError("firma", "La firma es incorrecta");
                                break;
                            }
                            else
                            {
                                ModelState.AddModelError("", "Ya se registró una asistencia por parte del profesor en esta hora");
                            }
                        }
                        cont++;
                    }
                    if (cont >= lHorario.Count)
                    {
                        ModelState.AddModelError("idProfesor", "El profesor no tiene una clase asignada este día en está hora");
                    }
                }
                else
                {
                    ModelState.AddModelError("idProfesor", "El profesor no tiene una clase asignada este día en está hora");
                }
            }
            ViewBag.idProfesor = obtenListadoProfesores();
            return(View(asistencia));
        }
Example #7
0
        public AsistenciaModel ObtenerAsistenciaxAlumno(long gradoId, long seccionId, long colegioId, long alumnoId)
        {
            AsistenciaModel AsistenciaActual = new AsistenciaModel();

            try
            {
                //Se obtiene el ciclo actual del colegio
                Ciclo CicloActual = db.Set <Ciclo>().AsNoTracking().Where(x => x.ColegioId == colegioId && x.Activo).OrderByDescending(x => x.Fecha).ThenByDescending(x => x.CicloId).FirstOrDefault();
                if (CicloActual != null)
                {
                    AsistenciaActual = db.Database.SqlQuery <AsistenciaModel>("dbo.sp_consulta_asistencia_resumen_x_alumno @ColegioId, @GradoId, @SeccionId, @CicloId, @AlumnoId", new SqlParameter("@ColegioId", colegioId), new SqlParameter("@GradoId", gradoId), new SqlParameter("@SeccionId", seccionId), new SqlParameter("@CicloId", CicloActual.CicloId), new SqlParameter("@AlumnoId", alumnoId)).FirstOrDefault();
                }
            }
            catch (Exception)
            { }


            return(AsistenciaActual);
        }
Example #8
0
 public IHttpActionResult PostAsistencias(AsistenciaModel asistencias)
 {
     try
     {
         string data = validaciones.validarDatosAsistencia(asistencias.FechaAsistencia, asistencias.Estudiante, asistencias.Grupo, asistencias.Curso, asistencias.TipoAsistencia);
         if (data.Equals("1"))
         {
             data = db.CrearAsistencia(asistencias.Estudiante, Int32.Parse(asistencias.Grupo), Int32.Parse(asistencias.Curso), asistencias.TipoAsistencia, asistencias.FechaAsistencia);
             if (data.Equals("1"))
             {
                 return(Created("DefaultApi", "Asistencia registrada")); //201
             }
             else if (data.Equals("La asistencia ya esta registrado"))
             {
                 return(Conflict()); //404
             }
             else if (data.Equals("Error el estudiante no existe") || data.Equals("Error el curso no existe") ||
                      data.Equals("Error el grupo no existe") || data.Equals("Error el tipo de asistencia no existe"))
             {
                 return(NotFound());
             }
             else
             {
                 throw new Exception(data);
             }
         }
         else
         {
             throw new Exception(data);
         }
     }
     catch (Exception ex)
     {
         return(InternalServerError(ex));
     }
 }