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)); }
//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(); }); }
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)); } }
// 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; } }
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)); }
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); }
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)); } }