public static void CrearAplicacion(PI_BA_Aplicacion aplicacion, List <PI_BA_Respuesta> respuestas) { using (var dbContext = new wPremiosInstitucionalesdbEntities()) { try { dbContext.PI_BA_Aplicacion.Add(aplicacion); foreach (var resp in respuestas) { dbContext.PI_BA_Respuesta.Add(resp); } dbContext.SaveChanges(); } catch (Exception Ex) { Console.WriteLine("Catched Exception: " + Ex.Message + Environment.NewLine); } } }
public bool EnviarCorreoRechazarAplicacion(PI_BA_Aplicacion aplicacion, String razon) { var candidato = InformacionPersonalCandidatoService.GetCandidatoById(aplicacion.cveCandidato); var categoria = ConvocatoriaService.GetCategoriaById(aplicacion.cveCategoria); var convocatoria = ConvocatoriaService.GetConvocatoriaById(categoria.cveConvocatoria); var premio = ConvocatoriaService.GetPremioByCategoria(categoria.cveCategoria); String toMail = candidato.Correo; String titulo = "Requiere cambios la solicitud de registro en el sistema Premios Institucionales del Tec de Monterrey."; String cuerpo = ""; cuerpo = File.ReadAllText(Server.MapPath("~/Values/CorreoSolicitudCambio.txt")); cuerpo = cuerpo.Replace(StringValues.ContenidoCorreoFecha, DateTime.Today.ToShortDateString()); cuerpo = cuerpo.Replace(StringValues.ContenidoCorreoNombre, candidato.Nombre); cuerpo = cuerpo.Replace(StringValues.ContenidoCorreoPremio, premio.Nombre); cuerpo = cuerpo.Replace(StringValues.ContenidoCorreoCategoria, categoria.Nombre); cuerpo = cuerpo.Replace(StringValues.ContenidoCorreoRazon, razon); return(EnviarCorreo(toMail, titulo, cuerpo)); }
/** * ObtenerHtmlMapaEstados * Regresa codigo html del mapa pertinente segun el estado actual de la aplicacion * Tipos de Mapas de estados posibles a mostrar: * 1) Solicitado - Aceptado - Veredicto * 2) Solicitado - Rechazado - Modificado - Aceptado - Veredicto * 3) Solicitado - Rechazado - Cerrado **/ public static String obtenerHtmlMapaEstados(PI_BA_Aplicacion ap) { //obtener si las fechas de cierre de convocatoria y de veredicto final ya pasaron bool cierre = AplicacionService.HasEndedByCategoria(ap.cveCategoria.ToString()); bool veredicto = AplicacionService.HasWinnersByCategoria(ap.cveCategoria.ToString()); if (ap.Status == StringValues.Solicitado) { //Si se ha solicitado el registro en la convocatoria : Mapa 1 - Solicitado return("<div class=\"panel panel-primary\">" + crearHtmlMapaEstados(ap, "<ul class=\"nav nav-wizard bpm-process\">" + "<li class=\"active\"><a><div class=\"step\">" + StringValues.TituloSolicitado + "</div></a></li>" + "<li><a><div class=\"step\">" + StringValues.TituloAceptado + "</div></a></li>" + "<li><a><div class=\"step\">" + StringValues.TituloVeredicto + "</div></a></li>" + "</ul>" + StringValues.ExplicacionSolicitado) + "</div>"); } else if (ap.Status == StringValues.Aceptado && veredicto) { //Si el registro fue aceptado y ya se tiene un veredicto : Mapa 1 - Veredicto return("<div class=\"panel panel-success\">" + crearHtmlMapaEstados(ap, "<ul class=\"nav nav-wizard bpm-process aceptado\">" + "<li><a><div class=\"step\">" + StringValues.TituloSolicitado + "</div></a></li>" + "<li><a><div class=\"step\">" + StringValues.TituloAceptado + "</div></a></li>" + "<li class=\"active\"><a><div class=\"step\">" + StringValues.TituloVeredicto + "</div></a></li>" + "</ul>" + StringValues.ExplicacionVeredicto) + "</div>"); } else if (ap.Status == StringValues.Aceptado && !veredicto) { //Si el registro fue aceptado pero no se tiene un veredicto : Mapa 1 - Aceptado return("<div class=\"panel panel-success\">" + crearHtmlMapaEstados(ap, "<ul class=\"nav nav-wizard bpm-process aceptado\">" + "<li><a><div class=\"step\">" + StringValues.TituloSolicitado + "</div></a></li>" + "<li class=\"active\"><a><div class=\"step\">" + StringValues.TituloAceptado + "</div></a></li>" + "<li><a><div class=\"step\">" + StringValues.TituloVeredicto + "</div></a></li>" + "</ul>" + StringValues.ExplicacionAceptado) + "</div>"); } else if (ap.Status == StringValues.Rechazado && cierre) { //Si el registro requiere cambios pero ya ha cerrado la fecha de convocatoria : Mapa 3 - Cerrado return("<div class=\"panel panel-danger\">" + crearHtmlMapaEstados(ap, "<ul class=\"nav nav-wizard bpm-process cambios\">" + "<li><a><div class=\"step\">" + StringValues.TituloSolicitado + "</div></a></li>" + "<li><a><div class=\"step\">" + StringValues.TituloRechazado + "</div></a></li>" + "<li class=\"active\"><a><div class=\"step\">" + StringValues.TituloCerrado + "</div></a></li>" + "</ul>" + StringValues.ExplicacionCerrado) + "</div>"); } else if (ap.Status == StringValues.Rechazado && !cierre) { //Si el registro requiere cambios y no ha cerrado la fecha de convocatoria : Mapa 2 - Rechazado return("<div class=\"panel panel-danger\">" + crearHtmlMapaEstados(ap, "<ul class=\"nav nav-wizard bpm-process cambios\">" + "<li><a><div class=\"step\">" + StringValues.TituloSolicitado + "</div></a></li>" + "<li class=\"active\"><a><div class=\"step\">" + StringValues.TituloRechazado + "</div></a></li>" + "<li><a><div class=\"step\">" + StringValues.TituloModificado + "</div></a></li>" + "<li><a><div class=\"step\">" + StringValues.TituloAceptado + "</div></a></li>" + "<li><a><div class=\"step\">" + StringValues.TituloVeredicto + "</div></a></li>" + "</ul>" + StringValues.ExplicacionRechazado + "<a href=\"CorrigeAplicacion.aspx?aplicacion=" + ap.cveAplicacion + "\">Haz clic aquí para modificarla.</a>") + "</div>"); } else if (ap.Status == StringValues.Modificado) { //Si se han enviado las modificaciones para revision : Mapa 2 - Modificado return("<div class=\"panel panel-warning\">" + crearHtmlMapaEstados(ap, "<ul class=\"nav nav-wizard bpm-process modificada\">" + "<li><a><div class=\"step\">" + StringValues.TituloSolicitado + "</div></a></li>" + "<li><a><div class=\"step\">" + StringValues.TituloRechazado + "</div></a></li>" + "<li class=\"active\"><a><div class=\"step\">" + StringValues.TituloModificado + "</div></a></li>" + "<li><a><div class=\"step\">" + StringValues.TituloAceptado + "</div></a></li>" + "<li><a><div class=\"step\">" + StringValues.TituloVeredicto + "</div></a></li>" + "</ul>" + StringValues.ExplicacionModificado) + "</div>"); } else { return(""); } }