public void Update(Modos item) { var db = new escuelapsdelsurContext(); db.Update(item); db.SaveChanges(); }
public void Add(Modos item) { var db = new escuelapsdelsurContext(); db.Add(item); db.SaveChanges(); }
public void Update(Alumnos item) { var db = new escuelapsdelsurContext(); Alumnos valorOriginal = db.Alumnos.Find(item.AlumnoId); item.Mail2 = valorOriginal.Mail2; db.Entry(valorOriginal).State = EntityState.Detached; db.Update(item); db.SaveChanges(); }
public void Add(Alumnos item) { try { using (var db = new escuelapsdelsurContext()) { // Alumnos AlumnoNuevo; // AlumnoNuevo = new Alumnos(); // AlumnoNuevo.AlumnoId = item.AlumnoId; // AlumnoNuevo.Nombre = item.Nombre; // AlumnoNuevo.Apellido = item.Apellido; // AlumnoNuevo.Mail = item.Mail; // AlumnoNuevo.Mail2 = item.Mail2; // AlumnoNuevo.Telefono = item.Telefono; // AlumnoNuevo.Celular = item.Celular; // AlumnoNuevo.ComoConocio = item.ComoConocio; // AlumnoNuevo.ModalidadId = item.ModalidadId; // AlumnoNuevo.GradoInteres = item.GradoInteres; // AlumnoNuevo.FechaInteresado = item.FechaInteresado; // AlumnoNuevo.Comentario = item.Comentario; // AlumnoNuevo.Provincia = item.Provincia; // AlumnoNuevo.SituacionInscripcion = item.SituacionInscripcion; // AlumnoNuevo.SituacionEspecial = item.SituacionEspecial; // AlumnoNuevo.Dni = item.Dni; // AlumnoNuevo.Domicilio = item.Domicilio; // AlumnoNuevo.FechaInteresadoOriginal = item.FechaInteresadoOriginal; // AlumnoNuevo.AnioAcursar = item.AnioAcursar; // AlumnoNuevo.NmestreAcursar = item.NmestreAcursar; // AlumnoNuevo.DocTitulo = item.DocTitulo; // AlumnoNuevo.DocDni = item.DocDni; // AlumnoNuevo.DocAptoFisico = item.DocAptoFisico; // AlumnoNuevo.DocFoto = item.DocFoto; // AlumnoNuevo.DocCompromiso = item.DocCompromiso; int idInteresado = item.AlumnoId; item.AlumnoId += 50000; //Número mágico para que no colisione con sistema anterior. item.Mail2 = "Enviar"; //Marca el envio de E-mail de bienvenida y completado de cuestionario. db.Alumnos.Add(item); //Borrar Interesados Interesados interesadoABorrar = db.Interesados.Find(idInteresado); if (interesadoABorrar != null) { db.Interesados.Remove(interesadoABorrar); } db.SaveChanges(); _logger.LogInformation("Crear Alumno (" + item.AlumnoId.ToString() + "), DNI:" + item.Dni.ToString() + "--> Ok"); } } catch (System.Exception ex) { _logger.LogError(ex.Message); throw ex; } }
public void Remove(Alumnos item) { try { using (var db = new escuelapsdelsurContext()) { int legajo = db.Legajos.Count(n => n.AlumnoId == item.AlumnoId); if (legajo == 0) { Interesados interesado = new Interesados(); //interesado.InteresadoId = item.AlumnoId-50000; interesado.Nombre = item.Nombre; interesado.Apellido = item.Apellido; interesado.Mail = item.Mail; interesado.Mail2 = item.Mail2; interesado.Telefono = item.Telefono; interesado.Celular = item.Celular; interesado.ComoConocio = item.ComoConocio; interesado.ModalidadId = item.Modalidad.Id; interesado.GradoInteres = item.GradoInteres; interesado.FechaInteresado = item.FechaInteresadoOriginal; interesado.Comentario = item.Comentario; interesado.Provincia = item.Provincia; interesado.SituacionInscripcion = item.SituacionInscripcion; interesado.SituacionEspecial = item.SituacionEspecial; interesado.CarreraId = item.CarreraId; interesado.AnioAcursar = item.AnioAcursar; interesado.NmestreAcursar = item.NmestreAcursar; interesado.Turno = item.Turno; interesado.Seguimiento = false; interesado.MedioDeContactoId = 12; //TODO: Este dato se pierde ¿? interesado.FechaActualizacion = DateTimeOffset.Now; db.Remove(item); db.Interesados.Add(interesado); db.SaveChanges(); _logger.LogInformation("Eliminado Inscripto ID: " + item.AlumnoId.ToString() + " --> OK"); _logger.LogInformation("Re-Creando Interesado ID: " + interesado.InteresadoId.ToString() + " --> OK"); } else { throw new InscriptoInexistenteException("El Inscripto ID: " + item.AlumnoId.ToString() + " tiene legajo asignado."); } } } catch (System.Exception ex) { _logger.LogError(ex.Message); throw ex; } }
public void Egresar(Divisiones division) { try { if (division.EstadoDivisionId == EstadosDivision.Estados[(int)EstadoDivisionId.Cursando]) { bool TerminarDivision = true; using (var db = new escuelapsdelsurContext()) { var estudiantesAsignados = db.Grupos.Include(g => g.Legajo).Where(d => d.CarreraId == division.CarreraId && d.ModoId == division.ModoId && d.AnioInicio == division.AnioInicio && d.MesInicio == division.MesInicio && d.AnioLectivo == division.AnioLectivo && d.NmestreLectivo == division.NmestreLectivo && d.TurnoId == division.TurnoId && d.DivisionId == division.DivisionId); foreach (Grupos estudianteAsigando in estudiantesAsignados) { Legajos legajo = estudianteAsigando.Legajo; if (legajo.EstadoEstudianteId == Enum.GetName(typeof(EstadoEstudianteId), EstadoEstudianteId.Activo)) { legajo.EstadoEstudianteId = Enum.GetName(typeof(EstadoEstudianteId), EstadoEstudianteId.Egresado); db.Legajos.Update(legajo); } TerminarDivision &= !(legajo.EstadoEstudianteId == Enum.GetName(typeof(EstadoEstudianteId), EstadoEstudianteId.Suspendido)); } if (TerminarDivision) { division.EstadoDivisionId = EstadosDivision.Estados[(int)EstadoDivisionId.Terminado]; db.Divisiones.Update(division); } db.SaveChanges(); _logger.LogInformation("Egresar " + "--> Ok"); } } else { throw new EstadoDivisionExpectedException("Se esperaba el estado: " + EstadosDivision.Estados[(int)EstadoDivisionId.Cursando]); } } catch (System.Exception ex) { _logger.LogError(ex.Message); throw ex; } }
public virtual void Update(Model item) { try { using (var db = new escuelapsdelsurContext()) { db.Update(item); db.SaveChanges(); _logger.LogInformation("Actualizar " + typeof(Model).Name + " --> OK"); } } catch (System.Exception ex) { _logger.LogError(ex.Message); throw ex; } }
public void Update(Legajos item) { try { using (var db = new escuelapsdelsurContext()) { db.Update(item); db.SaveChanges(); _logger.LogInformation("Actualizar Legajo ID: " + item.AlumnoId.ToString() + "/ Legajo Nro: " + item.LegajoNro.ToString() + " --> OK"); } } catch (System.Exception ex) { _logger.LogError(ex.Message); throw ex; } }
public void Remove(Interesados item) { try { using (var db = new escuelapsdelsurContext()) { db.Remove(item); db.SaveChanges(); _logger.LogInformation("Eliminado Interesado ID: " + item.InteresadoId.ToString() + " --> OK"); } } catch (System.Exception ex) { _logger.LogError(ex.Message); throw ex; } }
public override void Update(Lugares item) { try { using (var db = new escuelapsdelsurContext()) { db.Update(item); db.SaveChanges(); //_logger.LogInformation("Actualizar Evento ID: " + item.Id.ToString() + " --> OK"); } } catch (System.Exception ex) { _logger.LogError(ex.Message); throw ex; } }
public void Update(Interesados item) { try { using (var db = new escuelapsdelsurContext()) { db.Update(item); db.SaveChanges(); _logger.LogInformation("Actualizar Interesado ID: " + item.InteresadoId.ToString() + "/ Mail: " + item.Mail + " --> OK"); } } catch (System.Exception ex) { _logger.LogError(ex.Message); throw ex; } }
public void Add(Interesados item) { try { using (var db = new escuelapsdelsurContext()) { db.Interesados.Add(item); db.SaveChanges(); _logger.LogInformation("Crear Alumno (" + item.InteresadoId.ToString() + "), E-Mail:" + item.Mail + " --> Ok"); } } catch (System.Exception ex) { _logger.LogError(ex.Message); throw ex; } }
public void Add(Eventos item) { try { using (var db = new escuelapsdelsurContext()) { db.Eventos.Add(item); db.SaveChanges(); _logger.LogInformation("Crear Evento (" + item.Id.ToString() + ") --> Ok"); } } catch (System.Exception ex) { _logger.LogError(ex.Message); throw ex; } }
public void Update(IEnumerable <Inscriptos> items) { try { using (var db = new escuelapsdelsurContext()) { Legajos LegajoNuevo; Boolean HayLegajosNuevos = false; int dniok = 0; foreach (var item in items) { if (item.LegajoNro.HasValue) { LegajoNuevo = new Legajos(); LegajoNuevo.AlumnoId = item.AlumnoId; LegajoNuevo.LegajoNro = item.LegajoNro.Value; LegajoNuevo.Sexo = "Masculino"; //TODO: Según https://pfebolo.atlassian.net/browse/EPSS0-112 LegajoNuevo.FechaNacimiento = null; LegajoNuevo.FechaIngreso = DateTime.Today; dniok = 0; int.TryParse(item.Dni, out dniok); LegajoNuevo.Dni = dniok; LegajoNuevo.DireccionCalle = String.Empty; LegajoNuevo.DireccionNro = String.Empty; db.Legajos.Add(LegajoNuevo); HayLegajosNuevos = true; } } if (HayLegajosNuevos) { db.SaveChanges(); } _logger.LogInformation("Inscriptos:Crear legajos--> Ok"); } } catch (System.Exception ex) { _logger.LogError(ex.Message); throw ex; } }
public void Promover(Divisiones divisionOrigen, Divisiones divisionDestino) { try { using (var db = new escuelapsdelsurContext()) { var estudiantesAsignados = db.Grupos.Where(d => d.CarreraId == divisionOrigen.CarreraId && d.ModoId == divisionOrigen.ModoId && d.AnioInicio == divisionOrigen.AnioInicio && d.MesInicio == divisionOrigen.MesInicio && d.AnioLectivo == divisionOrigen.AnioLectivo && d.NmestreLectivo == divisionOrigen.NmestreLectivo && d.TurnoId == divisionOrigen.TurnoId && d.DivisionId == divisionOrigen.DivisionId); foreach (var estudianteAsigando in estudiantesAsignados) { Grupos nuevaAsignacion = new Grupos(); nuevaAsignacion.CarreraId = divisionDestino.CarreraId; nuevaAsignacion.ModoId = divisionDestino.ModoId; nuevaAsignacion.AnioInicio = divisionDestino.AnioInicio; nuevaAsignacion.MesInicio = divisionDestino.MesInicio; nuevaAsignacion.AnioLectivo = divisionDestino.AnioLectivo; nuevaAsignacion.NmestreLectivo = divisionDestino.NmestreLectivo; nuevaAsignacion.TurnoId = divisionDestino.TurnoId; nuevaAsignacion.DivisionId = divisionDestino.DivisionId; nuevaAsignacion.AlumnoId = estudianteAsigando.AlumnoId; db.Grupos.Add(nuevaAsignacion); } divisionOrigen.EstadoDivisionId = "Terminado"; db.Divisiones.Update(divisionOrigen); db.SaveChanges(); _logger.LogInformation("Promoción " + "--> Ok"); } } catch (System.Exception ex) { _logger.LogError(ex.Message); throw ex; } }
public virtual void MasiveAdd(Grupos[] items) { try { using (var db = new escuelapsdelsurContext()) { foreach (Grupos item in items) { db.Grupos.Add(item); } db.SaveChanges(); _logger.LogInformation("Crear grupos masivo --> Ok"); } } catch (System.Exception ex) { _logger.LogError(ex.Message); throw ex; } }
public virtual void Remove(params Object[] KeyValues) { try { using (var db = new escuelapsdelsurContext()) { var ItemBuscado = db.Set <Model>().Find(KeyValues); if (ItemBuscado != null) //Implementa Idempotencia. { db.Remove(ItemBuscado); db.SaveChanges(); } _logger.LogInformation("Eliminar " + typeof(Model).Name + " --> OK"); } } catch (System.Exception ex) { _logger.LogError(ex.Message); throw ex; } }
public override void Update(Divisiones item) { try { using (var db = new escuelapsdelsurContext()) { if (item.Curso != null) { db.Cursos.Update(item.Curso); item.Curso = null; } db.Divisiones.Update(item); db.SaveChanges(); _logger.LogInformation("Crear " + typeof(Divisiones).Name + "--> Ok"); } } catch (System.Exception ex) { _logger.LogError(ex.Message); throw ex; } }
public override void Add(Divisiones item) { try { using (var db = new escuelapsdelsurContext()) { Cursos Curso = db.Cursos.Find(item.Curso.CarreraId, item.Curso.ModoId, item.Curso.AnioInicio, item.Curso.MesInicio, item.Curso.AnioLectivo, item.Curso.NmestreLectivo); if (Curso != null) { item.Curso = null; } db.Divisiones.Add(item); db.SaveChanges(); _logger.LogInformation("Crear " + typeof(Divisiones).Name + "--> Ok"); } } catch (System.Exception ex) { _logger.LogError(ex.Message); throw ex; } }
public void ProcesarMails(object data) { if (!MailInscripcionEnProceso) { MailInscripcionEnProceso = true; try { MailEasy mail = new MailEasy(settings.smtpSettings); MailboxAddress From = new MailboxAddress(settings.inscripcion.EmisorEmailNombre, settings.inscripcion.EmisorEmailDireccion); MailboxAddress CCO = null; if (!string.IsNullOrEmpty(settings.inscripcion.CCOEmailDireccion)) { CCO = new MailboxAddress(settings.inscripcion.CCOEmailNombre, settings.inscripcion.CCOEmailDireccion); } mail.Conectar(); //Posible error de conexión a servidor de mail int EmailsEnviados = 0; int EmailsConError = 0; using (var db = new escuelapsdelsurContext()) { var alumnos = db.Alumnos.Where(x => x.Mail2 == "Enviar" || x.Mail2.StartsWith(REINTENTO)).ToList(); foreach (Alumnos alumno in alumnos) { try { /* --Contol de re-envio infinito de e-mails-- * Al grabar/cambiar el estado de envío antes del envío del e-mail, se controla * el eventual re-envio infinito de mails, si no se grabará el estado, * en caso de un error en la grabación al estado 'Enviado' * (posterior al envío exitoso del e-mail), este quedaría en 'Enviar' y * volvería a enviar el e-mail (en la próximo ciclo) incorrectamente. * Si se genera un error al grabar el estado, no enviará el email por estar en bloque try. * En el peor de los casos quedaría en un loop hasta corregir el problema de * grabación de estado, pero no de envío de e-mails. */ alumno.Mail2 = DeterminarProximoReintento(alumno.Mail2); db.SaveChanges(); //Se intenta enviar el Mail EnviarEmail(alumno, From, CCO, mail); alumno.Mail2 = "Enviado"; //Estado que toma al enviar exitosamente el envio. db.SaveChanges(); //Graba estado de envío exitoso. EmailsEnviados++; } catch (System.Exception ex) { EmailsConError++; DbContextHelper dbHelper = new DbContextHelper(db); dbHelper.entryRollback(alumno); _logger.LogError(new EventId(), ex, null); } } if (EmailsEnviados != 0 || EmailsConError != 0) { _logger.LogInformation("E-Mails de Inscripción de completado de cuestionario enviados: " + EmailsEnviados.ToString()); _logger.LogInformation("E-Mails de Inscripción de completado de cuestionario con error: " + EmailsConError.ToString()); _logger.LogInformation("----------------------------------------------------------------------"); } else { _logger.LogInformation("E-Mails de Inscripción de completado de cuestionario sin inscriptos a procesar"); } } mail.DesConectar(); } catch (System.Exception ex) { _logger.LogError(new EventId(), ex, null); //Posible error de conexión a servidor de mail } MailInscripcionEnProceso = false; } else { _logger.LogInformation("E-Mails de Inscripción de completado de cuestionario en proceso, se reintentará a próximo ciclo."); } }
private void ActualizarInscripto(string[] inscripto, escuelapsdelsurContext db) { try { int NroDni = 0; DateTime dtProvisorio; Legajos legajo = null; Int32.TryParse(inscripto[(int)inscriptoCampos.DNI].Replace(".", ""), out NroDni); _logger.LogInformation("Procesando DNI:" + NroDni.ToString()); if (db.Legajos.Count(x => (x.Dni == NroDni) && (x.Cuestionario == null)) == 1) { using (var dbContextTransaction = db.Database.BeginTransaction()) { try { StringBuilder registro = new StringBuilder(""); for (int campo = 0; campo < inscripto.Length; campo++) { registro.Append(inscripto[campo]); registro.Append(","); } _logger.LogInformation("Fila: " + registro.ToString()); legajo = db.Legajos.Single(x => x.Dni == NroDni); legajo.Sexo = inscripto[(int)inscriptoCampos.Sexo].Trim(); if (DateTime.TryParse(inscripto[(int)inscriptoCampos.FechaNacimiento], out dtProvisorio)) { legajo.FechaNacimiento = dtProvisorio; } else { legajo.FechaNacimiento = new DateTime(1900, 1, 1); //MinValue form smallDateTime (type of DB Column) } legajo.LugarNacimiento = inscripto[(int)inscriptoCampos.LugarNacimiento].Trim(); legajo.DireccionCalle = inscripto[(int)inscriptoCampos.DireccionCalle].Trim(); legajo.DireccionNro = inscripto[(int)inscriptoCampos.DireccionNumero].Trim(); legajo.DireccionCoordenadaInterna = inscripto[(int)inscriptoCampos.DireccionDepartamento].Trim() + ", " + inscripto[(int)inscriptoCampos.DireccionOtros].Trim(); legajo.LocalidadBase = inscripto[(int)inscriptoCampos.DireccionLocalidad].Trim(); legajo.SecundarioCompletoOley25 = false; if (inscripto[(int)inscriptoCampos.Aclaracion].Trim() != "") { if (legajo.Comentarios != null && legajo.Comentarios.Trim() != "") { legajo.Comentarios = legajo.Comentarios.Trim() + " - " + inscripto[(int)inscriptoCampos.Aclaracion].Trim(); } else { legajo.Comentarios = inscripto[(int)inscriptoCampos.Aclaracion].Trim(); } } int CPBase = 0; int.TryParse(inscripto[(int)inscriptoCampos.DireccionCP].Trim(), out CPBase); legajo.CodigoPostalBase = CPBase; legajo.FechaIngreso = DateTime.Parse(inscripto[(int)inscriptoCampos.FechaDeInscripcion]); legajo.ModalidadBase = inscripto[(int)inscriptoCampos.CursoModalidad]; legajo.Cuestionario = DateTime.Parse(inscripto[(int)inscriptoCampos.FechaDeInscripcion]); legajo.Historia = inscripto[(int)inscriptoCampos.Historia].Trim(); legajo.Definicion = inscripto[(int)inscriptoCampos.Definicion].Trim(); legajo.Situacion = inscripto[(int)inscriptoCampos.Situacion].Trim(); legajo.Expectativas = inscripto[(int)inscriptoCampos.Expectativas].Trim(); //Estudios int Estudio_ID = 500; //Secundario Estudios estudio; Estudio_ID += 1; estudio = db.Estudios.SingleOrDefault(x => x.AlumnoId == legajo.AlumnoId && x.EstudioId == Estudio_ID) ?? new Estudios(legajo.AlumnoId, Estudio_ID); estudio.NivelEstudioId = "Secundario"; estudio.Titulo = inscripto[(int)inscriptoCampos.EstudioSecundarioCarrera].Trim(); estudio.Institucion = inscripto[(int)inscriptoCampos.EstudioSecundarioExpedidoPor].Trim(); estudio.Terminado = (inscripto[(int)inscriptoCampos.EstudioSecundario].Trim().ToUpper() == "SI"); if (!db.Estudios.Contains(estudio)) { db.Estudios.Add(estudio); } if ((inscripto[(int)inscriptoCampos.EstudioTerciarioCarrera].Trim() != "") || (inscripto[(int)inscriptoCampos.EstudioTerciarioInstitucion].Trim() != "")) { Estudio_ID += 1; estudio = db.Estudios.SingleOrDefault(x => x.AlumnoId == legajo.AlumnoId && x.EstudioId == Estudio_ID) ?? new Estudios(legajo.AlumnoId, Estudio_ID); estudio.NivelEstudioId = "Terciario"; estudio.Titulo = inscripto[(int)inscriptoCampos.EstudioTerciarioCarrera].Trim(); estudio.Institucion = inscripto[(int)inscriptoCampos.EstudioTerciarioCarrera].Trim(); estudio.Terminado = (inscripto[(int)inscriptoCampos.EstudioTerciarioCompleto].Trim().ToUpper() == "SI"); if (!db.Estudios.Contains(estudio)) { db.Estudios.Add(estudio); } } if ((inscripto[(int)inscriptoCampos.EstudioUniversitarioCarrera].Trim() != "") || (inscripto[(int)inscriptoCampos.EstudioUniversitarioInstitucion].Trim() != "")) { Estudio_ID += 1; estudio = db.Estudios.SingleOrDefault(x => x.AlumnoId == legajo.AlumnoId && x.EstudioId == Estudio_ID) ?? new Estudios(legajo.AlumnoId, Estudio_ID); estudio.NivelEstudioId = "Universitario"; estudio.Titulo = inscripto[(int)inscriptoCampos.EstudioUniversitarioCarrera].Trim(); estudio.Institucion = inscripto[(int)inscriptoCampos.EstudioUniversitarioCarrera].Trim(); estudio.Terminado = (inscripto[(int)inscriptoCampos.EstudioUniversitarioCompleto].Trim().ToUpper() == "SI"); if (!db.Estudios.Contains(estudio)) { db.Estudios.Add(estudio); } } //Trabajos Trabajos trabajo; int Trabajo_ID = 500; if ((inscripto[(int)inscriptoCampos.TrabajoAntiguedad].Trim() != "") || (inscripto[(int)inscriptoCampos.TrabajoCargo].Trim() != "") || (inscripto[(int)inscriptoCampos.TrabajoLugar].Trim() != "") || (inscripto[(int)inscriptoCampos.TrabajoTelefono].Trim() != "")) { Trabajo_ID += 1; trabajo = db.Trabajos.SingleOrDefault(x => x.AlumnoId == legajo.AlumnoId && x.TrabajoId == Trabajo_ID) ?? new Trabajos(legajo.AlumnoId, Trabajo_ID); trabajo.Antiguedad = inscripto[(int)inscriptoCampos.TrabajoAntiguedad].Trim(); trabajo.Cargo = inscripto[(int)inscriptoCampos.TrabajoCargo].Trim(); trabajo.RazonSocial = inscripto[(int)inscriptoCampos.TrabajoLugar].Trim(); trabajo.Telefono = inscripto[(int)inscriptoCampos.TrabajoTelefono].Trim(); if (!db.Trabajos.Contains(trabajo)) { db.Trabajos.Add(trabajo); } } db.SaveChanges(); dbContextTransaction.Commit(); _logger.LogInformation("Legajo con DNI" + NroDni.ToString() + " encontrado y actualizado satisfactoriamente."); _inscriptosEncontradosOK += 1; } catch (System.Exception ex) { dbContextTransaction.Rollback(); if (legajo != null) { //Rollback del Contexto DbContextHelper dbHelper = new DbContextHelper(db); dbHelper.tableRollback <Estudios>(legajo.Estudios); dbHelper.tableRollback <Trabajos>(legajo.Trabajos); dbHelper.entryRollback(legajo); } _logger.LogError(new EventId(), ex, null); _inscriptosEncontradosNoOK += 1; } } } else { _logger.LogInformation(NroDni.ToString() + " No encontrado o previamente procesado."); _inscriptosNoEncontrados += 1; } } catch (System.Exception ex) { _logger.LogError(new EventId(), ex, null); } }