public bool EnviarDatosRegistroOVAL(int registroCapacitacionId, ref int totalAceptados, ref int totalRechazados) { //se inicializa nuevamente el db context para evitar que se lean datos cacheados db = new CursosDbContext(); var registroCapacitacion = db.RegistroCapacitacion.Where(r => r.RegistroCapacitacionID == registroCapacitacionId).FirstOrDefault(); if (registroCapacitacion != null) { if (registroCapacitacion.ListoParaEnviarOVAL) { EstadosEnvioOVAL estado; RespuestaOVAL respuesta = this.EnviarDatosRegistro(registroCapacitacion); switch (respuesta.Codigo) { case 0: //si el registro se recibió correctamente estado = EstadosEnvioOVAL.Aceptado; totalAceptados++; break; case 1: //si el registro no se recibió correctamente estado = EstadosEnvioOVAL.Rechazado; totalRechazados++; break; default: return(false); } registroCapacitacion.EnvioOVALEstado = estado; registroCapacitacion.EnvioOVALFechaHora = DateTime.Now; registroCapacitacion.EnvioOVALUsuario = HttpContext.Current.User.Identity.Name; registroCapacitacion.EnvioOVALMensaje = respuesta.Mensaje; db.Entry(registroCapacitacion).State = EntityState.Modified; db.SaveChanges(); } } return(true); }
public RespuestaOVAL ingresarRegistro(RegistroOVAL registro) { RespuestaOVAL respuestaOVALRet = null; bool registroAceptado = false; int primerDigito; if (int.TryParse(registro.NumeroDocumento.Substring(0, 1), out primerDigito)) { if (primerDigito % 2 == 0) //si es un número par, se considera incorrecto el envío { registroAceptado = false; } else { registroAceptado = true; } } else //si el primer digito no es un número, se considera correcto el envío { registroAceptado = true; } if (registroAceptado) { respuestaOVALRet = new RespuestaOVAL { Codigo = 0, Mensaje = string.Empty }; } else { respuestaOVALRet = new RespuestaOVAL { Codigo = 1, Mensaje = "El documento no se encuentra ingresado en el sistema" } }; return(respuestaOVALRet); } }