public static void RechazarPropuesta(int t940_idtramitacambiorol, string motivorechazo, string nombre_promotor, string nombreapellidosinteresado, string rolantiguo, string rolnuevo, string correoresporigen, string motivo) { IB.Progress.BLL.TramitacionCambioRol solicitud = new IB.Progress.BLL.TramitacionCambioRol(); try { solicitud.NoAceptacion(t940_idtramitacambiorol, motivorechazo, ((IB.Progress.Models.Profesional)HttpContext.Current.Session["PROFESIONAL"]).t001_idficepi); solicitud.Dispose(); //Correo a la OT StringBuilder sb = new StringBuilder(); sb.Append(((IB.Progress.Models.Profesional)HttpContext.Current.Session["PROFESIONAL"]).nombrelargo.ToString() + " no ha aprobado la solicitud de cambio de rol que " + nombre_promotor + " propuso para " + nombreapellidosinteresado + ". </br></br>"); sb.Append("Rol actual: " + rolantiguo + "</br>"); sb.Append("Rol propuesto: " + rolnuevo + "</br></br>"); sb.Append("Motivo de la propuesta: </br> " + motivo + "</br></br>"); sb.Append("Motivo de la decisión: </br> " + motivorechazo + "</br></br>"); sb.Append("</br></br></br></br>Si te encuentras en las oficinas de IBERMÁTICA, puedes acceder directamente pulsando <a href=" + ConfigurationManager.AppSettings["UrlInterna"] + "/Default.aspx?CR=true>aquí</a>"); sb.Append("</br>Si estás fuera, puedes acceder pulsando <a href=" + ConfigurationManager.AppSettings["UrlExterna"] + "/Default.aspx?CR=true>aquí</a>"); Correo.Enviar("PROGRESS: Cambio de rol", sb.ToString(), ConfigurationManager.AppSettings["SMTP_to_OTRRHH"]); } catch (Exception ex) { if (solicitud != null) { solicitud.Dispose(); } throw ex; } }
public static void delete(int t940_idtramitacambiorol, string nombreapellidosinteresado, string rolactual, string rolpropuesto, string motivo, string nombreaprobador, string correoaprobador) { try { IB.Progress.BLL.TramitacionCambioRol blltcr_i = new IB.Progress.BLL.TramitacionCambioRol(); blltcr_i.Delete(t940_idtramitacambiorol); blltcr_i.Dispose(); StringBuilder sb = new StringBuilder(); sb.Append(nombreaprobador + ", " + ((IB.Progress.Models.Profesional)HttpContext.Current.Session["PROFESIONAL"]).nombrelargo.ToString() + " ha anulado la solicitud de cambio de Rol que había realizado para " + nombreapellidosinteresado + ".</br></br>"); sb.Append("Rol actual: " + rolactual + "</br>"); sb.Append("Rol propuesto: " + rolpropuesto + "</br></br>"); sb.Append("Motivo: </br></br>" + motivo); if (correoaprobador != "") { Correo.Enviar("PROGRESS: Anulación de solicitud de cambio de Rol", sb.ToString(), correoaprobador); } } catch (Exception ex) { Smtp.SendSMTP("Error al rechazar un cambio de rol", ex.ToString()); throw ex; } }
public static void AceptarPropuesta(int t940_idtramitacambiorol, int idficepi_interesado, int t004_idrol_propuesto, string nombre_promotor, string nombreapellidosinteresado, string rolantiguo, string rolnuevo, string correoresporigen, string nombre_interesado, string nombreapellidos_promotor, string correointeresado, string motivo) { IB.Progress.BLL.TramitacionCambioRol solicitud = new IB.Progress.BLL.TramitacionCambioRol(); try { //Aceptación de propuesta (La dejamos en estado P ... en manos de RRHH) solicitud.CambioEstadoSolicitudCambioRol(t940_idtramitacambiorol, Convert.ToChar("P"), ((Profesional)HttpContext.Current.Session["PROFESIONAL"]).t001_idficepi); solicitud.Dispose(); //Se envía correo a OT StringBuilder sb = new StringBuilder(); sb.Append(((IB.Progress.Models.Profesional)HttpContext.Current.Session["PROFESIONAL"]).nombrelargo.ToString() + " ha aprobado la solicitud de cambio de rol, que " + nombreapellidos_promotor + " realizó para " + nombreapellidosinteresado + ". </br></br>"); sb.Append("Debes acceder a PROGRESS para aprobar, o no, dicho cambio, explicando el motivo de tu decisión.</br></br>"); sb.Append("Rol actual: " + rolantiguo + "</br>"); sb.Append("Rol propuesto: " + rolnuevo + "</br></br>"); sb.Append("Motivo de la propuesta: </br> " + motivo + "</br></br>"); sb.Append("</br></br></br></br>Si te encuentras en las oficinas de IBERMÁTICA, puedes acceder directamente pulsando <a href=" + ConfigurationManager.AppSettings["UrlInterna"] + "/Default.aspx?CR=true>aquí</a>"); sb.Append("</br>Si estás fuera, puedes acceder pulsando <a href=" + ConfigurationManager.AppSettings["UrlExterna"] + "/Default.aspx?CR=true>aquí</a>"); Correo.Enviar("PROGRESS: Aprobación de cambio de rol", sb.ToString(), ConfigurationManager.AppSettings["SMTP_to_OTRRHH"]); } catch (Exception) { if (solicitud != null) { solicitud.Dispose(); } throw; } }
public static void NoAprobacionAceptada(List <IB.Progress.Models.TramitacionCambioRol> oProfesional) { try { IB.Progress.BLL.TramitacionCambioRol solicitud = new IB.Progress.BLL.TramitacionCambioRol(); StringBuilder sbPromotor = null; StringBuilder sbAprobador = null; StringBuilder sbOtrosEvaluadores = null; solicitud.CambioEstadoSolicitudROL(oProfesional); solicitud.Dispose(); //Envío de correos foreach (IB.Progress.Models.TramitacionCambioRol item in oProfesional) { sbPromotor = new StringBuilder(); sbAprobador = new StringBuilder(); //CORREO AL APROBADOR sbAprobador.Append(item.nomCortoAprobador + ", no has aprobado el cambio de rol solicitado por " + item.nombre_promotor + " para " + item.nombre_interesado + ".</br></br>"); sbAprobador.Append("Rol actual: " + item.t940_desrolActual + "</br>"); sbAprobador.Append("Rol no aprobado: " + item.t940_desrolPropuesto + "</br></br>"); sbAprobador.Append("Motivo: </br> " + item.t940_motivorechazo + "</br>"); Correo.Enviar("PROGRESS: Cambio de rol no aprobado", sbAprobador.ToString(), item.CorreoAprobador); //CORREO AL PROMOTOR sbPromotor.Append(item.nomCortoPromotor + ", el cambio de rol que solicitaste para " + item.nombre_interesado + ", no ha sido aprobado por " + item.aprobador + ".</br></br>"); sbPromotor.Append("Rol actual: " + item.t940_desrolActual + "</br>"); sbPromotor.Append("Rol no aprobado: " + item.t940_desrolPropuesto + "</br></br>"); sbPromotor.Append("Motivo: </br> " + item.t940_motivorechazo + "</br>"); Correo.Enviar("PROGRESS: Cambio de rol no aprobado", sbPromotor.ToString(), item.CorreoPromotor); //CORREO A LOS EVALUADORES INTERMEDIOS IB.Progress.BLL.Profesional bllProfesional = new IB.Progress.BLL.Profesional(); List <Profesional> lstEvaluadores = bllProfesional.getAscendientesHastaAprobador(item.t001_idficepi_promotor); for (int i = 0; i < lstEvaluadores.Count; i++) { sbOtrosEvaluadores = new StringBuilder(); sbOtrosEvaluadores.Append(lstEvaluadores[i].nombre + ", el cambio de rol solicitado por " + item.nombre_promotor + " para " + item.nombre_interesado + ", no ha sido aprobado por " + item.aprobador + ".</br></br>"); sbOtrosEvaluadores.Append("Rol actual: " + item.t940_desrolActual + "</br>"); sbOtrosEvaluadores.Append("Rol no aprobado: " + item.t940_desrolPropuesto + "</br></br>"); sbOtrosEvaluadores.Append("Motivo: </br> " + item.t940_motivorechazo + "</br>"); if (lstEvaluadores[i].Correo != "") { Correo.Enviar("PROGRESS: Información sobre cambio de rol no aprobado", sbOtrosEvaluadores.ToString(), lstEvaluadores[i].Correo); } } bllProfesional.Dispose(); } } catch (Exception ex) { throw ex; } }
public static void standby(List <IB.Progress.Models.TramitacionCambioRol> oProfesional) { try { IB.Progress.BLL.TramitacionCambioRol solicitud = new IB.Progress.BLL.TramitacionCambioRol(); StringBuilder sbAprobador = null; solicitud.CambioEstadoSolicitudROL(oProfesional); solicitud.Dispose(); //CORREO AL APROBADOR foreach (IB.Progress.Models.TramitacionCambioRol item in oProfesional) { sbAprobador = new StringBuilder(); sbAprobador.Append(item.nomCortoAprobador + ", la Oficina Técnica de PROGRESS se va a poner en contacto contigo para recabar más información acerca de la solicitud de cambio de rol que, " + item.nombre_promotor + " propuso para " + item.nombre_interesado + ".</br></br>"); sbAprobador.Append("Rol actual: " + item.t940_desrolActual + "</br>"); sbAprobador.Append("Rol propuesto: " + item.t940_desrolPropuesto + "</br></br>"); sbAprobador.Append("Motivo de la propuesta: </br> " + item.t940_motivopropuesto + "</br></br>"); sbAprobador.Append("Motivo de la no aprobación: </br> " + item.t940_motivorechazo + "</br>"); Correo.Enviar("PROGRESS: Cambio de rol, pendiente de confirmar", sbAprobador.ToString(), item.CorreoAprobador); } } catch (Exception ex) { throw ex; } }
public static string insert(TRAMITACIONCAMBIOROL_INS tcr_i, string nombreapellidosinteresado, string rolactual, string rolpropuesto, string motivo, string nombreaprobador, string correoaprobador, string nombreapellidosaprobador) { try { //Añado al objto el idpromotor tcr_i.t001_idficepi_promotor = ((Profesional)HttpContext.Current.Session["PROFESIONAL"]).t001_idficepi; IB.Progress.BLL.TramitacionCambioRol blltcr_i = new IB.Progress.BLL.TramitacionCambioRol(); string result = blltcr_i.Insert(tcr_i); blltcr_i.Dispose(); //Correo para el aprobador StringBuilder sb = new StringBuilder(); sb.Append(nombreaprobador + ", " + ((IB.Progress.Models.Profesional)HttpContext.Current.Session["PROFESIONAL"]).nombrelargo.ToString() + " ha solicitado un cambio de rol para " + nombreapellidosinteresado + ". </br> Debes acceder a PROGRESS para aprobar, o no, dicho cambio, explicando el motivo de tu decisión.</br></br>"); sb.Append("Rol actual: " + rolactual + "</br>"); sb.Append("Rol propuesto: " + rolpropuesto + "</br></br>"); sb.Append("Motivo de la propuesta: </br></br>" + motivo); sb.Append("</br></br></br></br>Si te encuentras en las oficinas de IBERMÁTICA, puedes acceder directamente pulsando <a href=" + ConfigurationManager.AppSettings["UrlInterna"] + "/Default.aspx?APROL=true>aquí</a>"); sb.Append("</br>Si estás fuera, puedes acceder pulsando <a href=" + ConfigurationManager.AppSettings["UrlExterna"] + "/Default.aspx?APROL=true>aquí</a>"); if (correoaprobador != "") { Correo.Enviar("PROGRESS: Solicitud de cambio de rol", sb.ToString(), correoaprobador); } //Correo a los evaluadores intermedios IB.Progress.BLL.Profesional bllProfesional = new IB.Progress.BLL.Profesional(); List <Profesional> lstEvaluadores = bllProfesional.getAscendientesHastaAprobador(((Profesional)HttpContext.Current.Session["PROFESIONAL"]).t001_idficepi); StringBuilder sbEvaluadores = new StringBuilder(); for (int i = 0; i < lstEvaluadores.Count; i++) { sbEvaluadores.Append(lstEvaluadores[i].nombre + ", " + ((IB.Progress.Models.Profesional)HttpContext.Current.Session["PROFESIONAL"]).nombrelargo.ToString() + " ha solicitado un cambio de rol para " + nombreapellidosinteresado + ", que gestionará " + nombreapellidosaprobador + ".</br></br>"); sbEvaluadores.Append("Rol actual: " + rolactual + "</br>"); sbEvaluadores.Append("Rol propuesto: " + rolpropuesto + "</br></br>"); sbEvaluadores.Append("Motivo del cambio: </br></br>" + motivo); if (lstEvaluadores[i].Correo != "") { Correo.Enviar("PROGRESS: Información sobre solicitud de cambio de rol", sbEvaluadores.ToString(), lstEvaluadores[i].Correo); } } bllProfesional.Dispose(); return(result); } catch (Exception ex) { Smtp.SendSMTP("Error al solicitar cambio de rol", ex.ToString()); throw ex; } }
public static List <IB.Progress.Models.TramitacionCambioRol> solicitudCambioRolCat() { IB.Progress.BLL.TramitacionCambioRol pro = null; try { List <IB.Progress.Models.TramitacionCambioRol> profesionales = null; pro = new IB.Progress.BLL.TramitacionCambioRol(); profesionales = pro.catalogoSolicitudes(((IB.Progress.Models.Profesional)HttpContext.Current.Session["PROFESIONAL"]).t001_idficepi); pro.Dispose(); return(profesionales); } catch (Exception) { if (pro != null) { pro.Dispose(); } throw; } }
public static List <IB.Progress.Models.TramitacionCambioRol> solicitudesCat() { IB.Progress.BLL.TramitacionCambioRol pro = null; try { List <IB.Progress.Models.TramitacionCambioRol> profesionales = null; pro = new IB.Progress.BLL.TramitacionCambioRol(); profesionales = pro.getSolicitudesSegunEstado(Convert.ToChar("Z"), ((IB.Progress.Models.Profesional)HttpContext.Current.Session["PROFESIONAL"]).t001_idficepi); pro.Dispose(); return(profesionales); } catch (Exception ex) { if (pro != null) { pro.Dispose(); } throw ex; } }
public static string getCountTiles() { IB.Progress.BLL.TramitacionCambioRol pro = null; try { pro = new IB.Progress.BLL.TramitacionCambioRol(); IB.Progress.Models.TramitacionCambioRol valores = pro.getCountTiles(((IB.Progress.Models.Profesional)HttpContext.Current.Session["PROFESIONAL"]).t001_idficepi); pro.Dispose(); string retval = JsonConvert.SerializeObject(valores); return(retval); } catch (Exception ex) { if (pro != null) { pro.Dispose(); } throw ex; } }
public static void AceptarCambioRol(List <IB.Progress.Models.TramitacionCambioRol> oProfesional) { IB.Progress.BLL.TramitacionCambioRol solicitud = new IB.Progress.BLL.TramitacionCambioRol(); StringBuilder sbPromotor = null; StringBuilder sbOtrosEvaluadores = null; StringBuilder sbInteresado = null; StringBuilder sbAprobador = null; try { //Update de cambio de Rol solicitud.AceptarCambioRol(oProfesional); solicitud.Dispose(); //Envío de Correos foreach (IB.Progress.Models.TramitacionCambioRol item in oProfesional) { sbPromotor = new StringBuilder(); //ENVIAR CORREO AL PROMOTOR sbPromotor.Append(item.nomCortoPromotor + ", el cambio de rol que solicitaste para " + item.nombre_interesado + ", se ha producido y comunicado al profesional. </br></br>"); sbPromotor.Append("Rol anterior: " + item.t940_desrolActual + "</br>"); sbPromotor.Append("Rol nuevo: " + item.t940_desrolPropuesto + "</br>"); if (item.CorreoPromotor != "") { Correo.Enviar("PROGRESS: Cambio de rol confirmado", sbPromotor.ToString(), item.CorreoPromotor); } //ENVIAR CORREO AL INTERESADO sbInteresado = new StringBuilder(); sbInteresado.Append(item.nomCortoInteresado + ", el cambio de rol solicitado por " + item.nombre_promotor + " para ti, ya es efectivo.</br></br>"); sbInteresado.Append("Rol anterior: " + item.t940_desrolActual + "</br>"); sbInteresado.Append("Rol nuevo: " + item.t940_desrolPropuesto + "</br>"); if (item.correointeresado != "") { Correo.Enviar("PROGRESS: Cambio de rol confirmado", sbInteresado.ToString(), item.correointeresado); } //ENVIAR CORREO AL APROBADOR sbAprobador = new StringBuilder(); sbAprobador.Append(item.nomCortoAprobador + ", el cambio de rol solicitado por " + item.nombre_promotor + " para " + item.nombre_interesado + ", se ha producido y comunicado al profesional.</br></br>"); sbAprobador.Append("Rol anterior: " + item.t940_desrolActual + "</br>"); sbAprobador.Append("Rol nuevo: " + item.t940_desrolPropuesto + "</br>"); if (item.CorreoAprobador != "") { Correo.Enviar("PROGRESS: Cambio de rol confirmado", sbAprobador.ToString(), item.CorreoAprobador); } //ENVIAR CORREO A LOS EVALUADORES INTERMEDIOS IB.Progress.BLL.Profesional bllProfesional = new IB.Progress.BLL.Profesional(); List <Profesional> lstEvaluadores = bllProfesional.getAscendientesHastaAprobador(item.t001_idficepi_promotor); for (int i = 0; i < lstEvaluadores.Count; i++) { sbOtrosEvaluadores = new StringBuilder(); sbOtrosEvaluadores.Append(lstEvaluadores[i].nombre + ", el cambio de rol solicitado por " + item.nombre_promotor + " para " + item.nombre_interesado + ", se ha producido y comunicado al profesional.</br></br>"); sbOtrosEvaluadores.Append("Rol anterior: " + item.t940_desrolActual + "</br>"); sbOtrosEvaluadores.Append("Rol nuevo: " + item.t940_desrolPropuesto + "</br>"); if (lstEvaluadores[i].Correo != "") { Correo.Enviar("PROGRESS: Información sobre cambio de rol confirmado", sbOtrosEvaluadores.ToString(), lstEvaluadores[i].Correo); } } bllProfesional.Dispose(); } } catch (Exception ex) { if (solicitud != null) { solicitud.Dispose(); } throw ex; } }
protected void Page_Load(object sender, EventArgs e) { string sExtension = ".xlsx"; string sFilename = ""; byte[] oExcel = null; string pantalla = Request.QueryString["pantalla"]; DataSet ds = new DataSet(); Response.ClearContent(); Response.ClearHeaders(); Response.Buffer = true; svcEXCEL.IsvcEXCELClient osvcEXCEL = new svcEXCEL.IsvcEXCELClient(); try { switch (pantalla) { //Exportación del equipo desde la pantalla de desglose de rol case "desgloserol": //recuperar parametros del querystring int idficepi = int.Parse(Request.QueryString["idficepi"]); int parentesco = int.Parse(Request.QueryString["parentesco"]); string idficepitext = Request.QueryString["idficepitext"]; string parentescotext = Request.QueryString["parentescotext"]; int numprofesionales = int.Parse(Request.QueryString["numprofesionales"]); sFilename = "desglose por rol" + sExtension; IB.Progress.BLL.DesgloseRol dRol = null; try { //Datatable de cabecera DataTable dtH = new DataTable("HEAD-Excel"); DataColumn dtc = new DataColumn("clave"); dtH.Columns.Add(dtc); dtc = new DataColumn("valor"); dtH.Columns.Add(dtc); DataRow oRow = dtH.NewRow(); oRow[0] = "title"; oRow[1] = "Profesionales por rol"; dtH.Rows.Add(oRow); oRow = dtH.NewRow(); oRow[0] = "Evaluador"; oRow[1] = idficepitext; dtH.Rows.Add(oRow); oRow = dtH.NewRow(); oRow[0] = "Nivel de dependencia"; oRow[1] = parentescotext; dtH.Rows.Add(oRow); oRow = dtH.NewRow(); oRow[0] = "Total profesionales"; oRow[1] = numprofesionales; dtH.Rows.Add(oRow); //Datatable de cuerpo List <IB.Progress.Models.DesgloseRol> desgloseRol = null; dRol = new IB.Progress.BLL.DesgloseRol(); desgloseRol = dRol.catalogoDesgloseRol(idficepi, parentesco); dRol.Dispose(); //eliminar las filas con profesional = ""; desgloseRol = (from o in desgloseRol where o.Profesional.Length > 0 select o).ToList <IB.Progress.Models.DesgloseRol>(); //convertir la lista a datatable DataTable dtbody = desgloseRol.CopyGenericToDataTable <IB.Progress.Models.DesgloseRol>(); dtbody.TableName = "BODY-Excel"; //Eliminar las columnas no necesarias ArrayList arl = new ArrayList(); foreach (DataColumn c in dtbody.Columns) { if (c.ColumnName.ToLower().Trim() != "desrol" && c.ColumnName.ToLower().Trim() != "profesional") { arl.Add(c); } } foreach (DataColumn dc in arl) { dtbody.Columns.Remove(dc.ColumnName); } //renombar columnas dtbody.Columns["desrol"].ColumnName = "Rol"; dtbody.Columns["profesional"].ColumnName = "Profesional"; //reordenar columnas dtbody.Columns["Rol"].SetOrdinal(0); dtbody.Columns["Profesional"].SetOrdinal(1); //Agregar al dataset ds.Tables.Add(dtH); ds.Tables.Add(dtbody); //exportar oExcel = osvcEXCEL.getExcelFromDataSet(ds, sFilename); } catch (Exception ex) { throw ex; } finally { if (dRol != null) { dRol.Dispose(); } } break; case "solicitudesaprobadas": //recuperar parametros del querystring int idficepiSolicitudesaprobadas = int.Parse(Request.QueryString["idficepi"]); IB.Progress.BLL.TramitacionCambioRol dTramitacion = null; try { //Datatable de cabecera DataTable dtH = new DataTable("HEAD-Excel"); DataColumn dtc = new DataColumn("clave"); dtH.Columns.Add(dtc); dtc = new DataColumn("valor"); dtH.Columns.Add(dtc); DataRow oRow = dtH.NewRow(); oRow[0] = "title"; oRow[1] = "Solicitudes aprobadas"; dtH.Rows.Add(oRow); //Datatable de cuerpo List <IB.Progress.Models.TramitacionCambioRol> tramit = null; dTramitacion = new IB.Progress.BLL.TramitacionCambioRol(); tramit = dTramitacion.getSolicitudesSegunEstado(Convert.ToChar("P"), idficepiSolicitudesaprobadas); dTramitacion.Dispose(); ////convertir la lista a datatable DataTable dtbody = tramit.CopyGenericToDataTable <IB.Progress.Models.TramitacionCambioRol>(); dtbody.TableName = "BODY-Excel"; //Eliminar las columnas no necesarias ArrayList arl = new ArrayList(); foreach (DataColumn c in dtbody.Columns) { if (c.ColumnName.ToLower().Trim() != "nombre_interesado" && c.ColumnName.ToLower().Trim() != "nombre_promotor" && c.ColumnName.ToLower().Trim() != "t940_desrolactual" && c.ColumnName.ToLower().Trim() != "t940_desrolpropuesto" && c.ColumnName.ToLower().Trim() != "t940_motivopropuesto" && c.ColumnName.ToLower().Trim() != "t940_fechaproposicion" && c.ColumnName.ToLower().Trim() != "aprobador" && c.ColumnName.ToLower().Trim() != "t940_fecharesolucion") { arl.Add(c); } } foreach (DataColumn dc in arl) { dtbody.Columns.Remove(dc.ColumnName); } dtbody.Columns["nombre_interesado"].ColumnName = "Profesional"; dtbody.Columns["nombre_promotor"].ColumnName = "Evaluador"; dtbody.Columns["t940_desrolActual"].ColumnName = "Rol actual"; dtbody.Columns["t940_desrolPropuesto"].ColumnName = "Rol propuesto"; dtbody.Columns["t940_motivopropuesto"].ColumnName = "Motivo"; dtbody.Columns["t940_fechaproposicion"].ColumnName = "Proposición"; dtbody.Columns["aprobador"].ColumnName = "Aprobador"; dtbody.Columns["t940_fecharesolucion"].ColumnName = "Aprobación"; //Reordenar columnas dtbody.Columns["Profesional"].SetOrdinal(0); dtbody.Columns["Evaluador"].SetOrdinal(1); dtbody.Columns["Rol actual"].SetOrdinal(2); dtbody.Columns["Rol propuesto"].SetOrdinal(3); dtbody.Columns["Motivo"].SetOrdinal(4); dtbody.Columns["Proposición"].SetOrdinal(5); dtbody.Columns["Aprobador"].SetOrdinal(6); dtbody.Columns["Aprobación"].SetOrdinal(7); //Agregar al dataset ds.Tables.Add(dtH); ds.Tables.Add(dtbody); //exportar oExcel = osvcEXCEL.getExcelFromDataSet(ds, sFilename); } catch (Exception ex) { throw ex; } finally { if (dTramitacion != null) { dTramitacion.Dispose(); } } break; case "formaciondemandada": //recuperar parametros del querystring int idficepiFormacionDemandada = int.Parse(Request.QueryString["idficepi"]); int desde = int.Parse(Request.QueryString["desde"]); int hasta = int.Parse(Request.QueryString["hasta"]); string selmesinitext = Request.QueryString["mesinitext"]; string selanoinitext = Request.QueryString["anoinitext"]; string selmesfintext = Request.QueryString["mesfintext"]; string selanofintext = Request.QueryString["anofintext"]; int numevaluadosFormacion = int.Parse(Request.QueryString["numevaluaciones"]); Nullable <short> colectivo = short.Parse(Request.QueryString["colectivo"]); string colectivotext = Request.QueryString["colectivotext"]; sFilename = "Formación demandada" + sExtension; IB.Progress.BLL.FormacionDemandada dFormacion = null; try { //Datatable de cabecera DataTable dtH = new DataTable("HEAD-Excel"); DataColumn dtc = new DataColumn("clave"); dtH.Columns.Add(dtc); dtc = new DataColumn("valor"); dtH.Columns.Add(dtc); DataRow oRow = dtH.NewRow(); oRow[0] = "title"; oRow[1] = "Formación demandada"; dtH.Rows.Add(oRow); oRow = dtH.NewRow(); oRow[0] = "Desde"; oRow[1] = selmesinitext + " " + selanoinitext; dtH.Rows.Add(oRow); oRow = dtH.NewRow(); oRow[0] = "Hasta"; oRow[1] = selmesfintext + " " + selanofintext; dtH.Rows.Add(oRow); oRow = dtH.NewRow(); oRow[0] = "Colectivo"; oRow[1] = colectivotext; dtH.Rows.Add(oRow); oRow = dtH.NewRow(); oRow[0] = "Total evaluaciones"; oRow[1] = numevaluadosFormacion; dtH.Rows.Add(oRow); //Datatable de cuerpo IB.Progress.Models.FormacionDemandada formacionDemandada = null; dFormacion = new IB.Progress.BLL.FormacionDemandada(); formacionDemandada = dFormacion.catFormacionDemandada(idficepiFormacionDemandada, desde, hasta, colectivo); dFormacion.Dispose(); ////convertir la lista a datatable DataTable dtbody = formacionDemandada.FormacionDemandadaS1.CopyGenericToDataTable <IB.Progress.Models.FormacionDemandadaSelect1>(); dtbody.TableName = "BODY-Excel"; ////Eliminar las columnas no necesarias dtbody.Columns.Remove("t930_idvaloracion"); dtbody.Columns.Remove("idformulario"); //Agregar al dataset ds.Tables.Add(dtH); ds.Tables.Add(dtbody); //exportar oExcel = osvcEXCEL.getExcelFromDataSet(ds, sFilename); } catch (Exception ex) { throw ex; } finally{ if (dFormacion != null) { dFormacion.Dispose(); } } break; case "arboldependencias": //recuperar parametros del querystring int idficepiArbol = int.Parse(Request.QueryString["idficepi"]); string idficepitextArbol = Request.QueryString["idficepitext"]; int idficepievaluador = int.Parse(Request.QueryString["idficepievaluador"]); string evaluadortext = Request.QueryString["evaluadortext"]; string rolevaluador = Request.QueryString["rolevaluador"]; int numevaluadosArbol = int.Parse(Request.QueryString["numevaluados"]); sFilename = "Árbol de dependencias" + sExtension; IB.Progress.BLL.ArbolDependencias dArbol = null; try { //Datatable de cabecera DataTable dtH = new DataTable("HEAD-Excel"); DataColumn dtc = new DataColumn("clave"); dtH.Columns.Add(dtc); dtc = new DataColumn("valor"); dtH.Columns.Add(dtc); DataRow oRow = dtH.NewRow(); oRow[0] = "title"; oRow[1] = "Árbol de dependencias"; dtH.Rows.Add(oRow); oRow = dtH.NewRow(); oRow[0] = "Evaluador/a"; oRow[1] = evaluadortext; dtH.Rows.Add(oRow); oRow = dtH.NewRow(); oRow[0] = "Rol del evaluador/a"; oRow[1] = rolevaluador; dtH.Rows.Add(oRow); oRow = dtH.NewRow(); oRow[0] = "Total evaluados/as"; oRow[1] = numevaluadosArbol; dtH.Rows.Add(oRow); //Datatable cuerpo List <IB.Progress.Models.ArbolDependencias> arbolDependencias = null; dArbol = new IB.Progress.BLL.ArbolDependencias(); arbolDependencias = dArbol.catalogoArbolDependencias(idficepievaluador); dArbol.Dispose(); //eliminar las filas con profesional = ""; arbolDependencias = (from o in arbolDependencias select o).ToList <IB.Progress.Models.ArbolDependencias>(); //convertir la lista a datatable DataTable dtbody = arbolDependencias.CopyGenericToDataTable <IB.Progress.Models.ArbolDependencias>(); dtbody.TableName = "BODY-Excel"; //Eliminar las columnas no necesarias ArrayList arl = new ArrayList(); foreach (DataColumn c in dtbody.Columns) { if (c.ColumnName.ToLower().Trim() != "evaluado" && c.ColumnName.ToLower().Trim() != "roldelevaluado") { arl.Add(c); } } foreach (DataColumn dc in arl) { dtbody.Columns.Remove(dc.ColumnName); } //dtbody.Rows.Remove([dtbody.Rows[0])]; dtbody.Rows[0].Delete(); //renombar columnas dtbody.Columns["evaluado"].ColumnName = "Evaluado/a"; dtbody.Columns["roldelevaluado"].ColumnName = "Rol del evaluado/a"; //Agregar al dataset ds.Tables.Add(dtH); ds.Tables.Add(dtbody); //exportar oExcel = osvcEXCEL.getExcelFromDataSet(ds, sFilename); } catch (Exception ex) { throw ex; } finally { if (dArbol != null) { dArbol.Dispose(); } } break; case "arboldependenciasALL": //recuperar parametros del querystring int idficepiArbolALL = int.Parse(Request.QueryString["idficepi"]); string idficepitextArbolALL = Request.QueryString["idficepitext"]; int idficepievaluadorALL = int.Parse(Request.QueryString["idficepievaluador"]); string evaluadortextALL = Request.QueryString["evaluadortext"]; string rolevaluadorALL = Request.QueryString["rolevaluador"]; int numevaluadosArbolALL = int.Parse(Request.QueryString["numevaluados"]); sFilename = "Árbol de dependencias" + sExtension; IB.Progress.BLL.ArbolDependencias dArbolALL = null; try { //Datatable de cabecera DataTable dtH = new DataTable("HEAD-Excel"); DataColumn dtc = new DataColumn("clave"); dtH.Columns.Add(dtc); dtc = new DataColumn("valor"); dtH.Columns.Add(dtc); DataRow oRow = dtH.NewRow(); oRow[0] = "title"; oRow[1] = "Árbol de dependencias"; dtH.Rows.Add(oRow); //Datatable cuerpo List <IB.Progress.Models.ArbolDependencias> arbolDependencias = null; dArbol = new IB.Progress.BLL.ArbolDependencias(); arbolDependencias = dArbol.catalogoArbolDependenciasALL(idficepievaluadorALL); dArbol.Dispose(); //eliminar las filas con profesional = ""; //arbolDependencias = (from o in arbolDependencias // select o).ToList<IB.Progress.Models.ArbolDependencias>(); //convertir la lista a datatable DataTable dtbody = arbolDependencias.CopyGenericToDataTable <IB.Progress.Models.ArbolDependencias>(); dtbody.TableName = "BODY-Excel"; //Eliminar las columnas no necesarias ArrayList arl = new ArrayList(); foreach (DataColumn c in dtbody.Columns) { if (c.ColumnName.ToLower().Trim() != "evaluado" && c.ColumnName.ToLower().Trim() != "roldelevaluado" && c.ColumnName.ToLower().Trim() != "evaluador" && c.ColumnName.ToLower().Trim() != "roldelevaluador") { arl.Add(c); } } foreach (DataColumn dc in arl) { dtbody.Columns.Remove(dc.ColumnName); } //renombar columnas dtbody.Columns["evaluado"].ColumnName = "Evaluado/a"; dtbody.Columns["evaluador"].ColumnName = "Evaluador/a"; dtbody.Columns["Roldelevaluador"].ColumnName = "Rol del evaluador/a"; dtbody.Columns["Roldelevaluado"].ColumnName = "Rol del evaluado/a"; //reordenar columnas dtbody.Columns["Evaluador/a"].SetOrdinal(0); dtbody.Columns["Rol del evaluador/a"].SetOrdinal(1); dtbody.Columns["Evaluado/a"].SetOrdinal(2); dtbody.Columns["Rol del evaluado/a"].SetOrdinal(3); //Agregar al dataset ds.Tables.Add(dtH); ds.Tables.Add(dtbody); //exportar oExcel = osvcEXCEL.getExcelFromDataSet(ds, sFilename); } catch (Exception ex) { throw ex; } finally { if (dArbolALL != null) { dArbolALL.Dispose(); } } break; } } catch (Exception ex) { this.hdnError.Value = "Error al exportar a excel.<br /><br />: " + ex.Message; } finally { if (osvcEXCEL != null && osvcEXCEL.State != System.ServiceModel.CommunicationState.Closed) { if (osvcEXCEL.State != System.ServiceModel.CommunicationState.Faulted) { osvcEXCEL.Close(); } else { osvcEXCEL.Abort(); } } } //Devolver el excel if (Response.IsClientConnected && hdnError.Value == "") { Response.AddHeader("Content-Disposition", "attachment; filename=\"" + sFilename + "\""); Response.BinaryWrite(oExcel); Response.ContentType = "application/vnd.ms-excel"; //Para que funcione en Chrome if (System.Web.HttpContext.Current.Request.Browser.Browser.ToString() == "Chrome") { Response.AddHeader("Content-Length", "999999999999"); } Response.Flush(); Response.Close(); Response.End(); System.Web.HttpContext.Current.ApplicationInstance.CompleteRequest(); } }
public static void AceptarPropuesta(List <IB.Progress.Models.TramitacionCambioRol> oProfesional) { IB.Progress.BLL.TramitacionCambioRol solicitud = new IB.Progress.BLL.TramitacionCambioRol(); List <IB.Progress.Models.TramitacionCambioRol> oProfbyID = null; StringBuilder sbPromotor = null; StringBuilder sbOtrosEvaluadores = null; StringBuilder sbInteresado = null; StringBuilder sbAprobador = null; try { //Update de cambio de Rol solicitud.AceptarCambioRol(oProfesional); solicitud.Dispose(); oProfbyID = new List <TramitacionCambioRol>(); //Linq.. Devuelve los id promotor distintos //var oProfbyID2 = (from e in oProfesional // select e.t001_idficepi_promotor // ).Distinct().ToList(); //Agrupa por id promotor y select profesionales //var result = oProfesional.GroupBy(objeto => objeto.t001_idficepi_promotor) // .Select(grp => grp.First()) // .ToList(); //var newList = oProfesional.GroupBy(x => x.t001_idficepi_promotor) // .Select(group => new { GroupID = group.Key, Profesionales = group.ToList() }) // .ToList(); //Envío de Correos foreach (IB.Progress.Models.TramitacionCambioRol item in oProfesional) { //ENVIAR CORREO AL PROMOTOR sbPromotor = new StringBuilder(); sbPromotor.Append(item.nomCortoPromotor + ", el cambio de rol que solicitaste para " + item.nombre_interesado + ", se ha producido y comunicado al profesional. </br></br>"); sbPromotor.Append("Rol anterior: " + item.t940_desrolActual + "</br>"); sbPromotor.Append("Rol nuevo: " + item.t940_desrolPropuesto + "</br>"); if (item.CorreoPromotor != "") { Correo.Enviar("PROGRESS: Cambio de rol confirmado", sbPromotor.ToString(), item.CorreoPromotor); } //ENVIAR CORREO AL INTERESADO sbInteresado = new StringBuilder(); sbInteresado.Append(item.nomCortoInteresado + ", el cambio de rol solicitado por " + item.nombre_promotor + " para tí, ya es efectivo.</br></br>"); sbInteresado.Append("Rol anterior: " + item.t940_desrolActual + "</br>"); sbInteresado.Append("Rol nuevo: " + item.t940_desrolPropuesto + "</br>"); if (item.correointeresado != "") { Correo.Enviar("PROGRESS: Cambio de rol confirmado", sbInteresado.ToString(), item.correointeresado); } //ENVIAR CORREO AL APROBADOR sbAprobador = new StringBuilder(); sbAprobador.Append(item.nomCortoAprobador + ", el cambio de rol solicitado por " + item.nombre_promotor + " para " + item.nombre_interesado + ", se ha producido y comunicado al profesional.</br></br>"); sbAprobador.Append("Rol anterior: " + item.t940_desrolActual + "</br>"); sbAprobador.Append("Rol nuevo: " + item.t940_desrolPropuesto + "</br>"); if (item.CorreoAprobador != "") { Correo.Enviar("PROGRESS: Cambio de rol confirmado", sbAprobador.ToString(), item.CorreoAprobador); } //ENVIAR CORREO A LOS EVALUADORES INTERMEDIOS IB.Progress.BLL.Profesional bllProfesional = new IB.Progress.BLL.Profesional(); List <Profesional> lstEvaluadores = bllProfesional.getAscendientesHastaAprobador(item.t001_idficepi_promotor); for (int i = 0; i < lstEvaluadores.Count; i++) { sbOtrosEvaluadores = new StringBuilder(); sbOtrosEvaluadores.Append(lstEvaluadores[i].nombre + ", el cambio de rol solicitado por " + item.nombre_promotor + " para " + item.nombre_interesado + ", se ha producido y comunicado al profesional.</br></br>"); sbOtrosEvaluadores.Append("Rol anterior: " + item.t940_desrolActual + "</br>"); sbOtrosEvaluadores.Append("Rol nuevo: " + item.t940_desrolPropuesto + "</br>"); if (lstEvaluadores[i].Correo != "") { Correo.Enviar("PROGRESS: Información sobre cambio de rol confirmado", sbOtrosEvaluadores.ToString(), lstEvaluadores[i].Correo); } } bllProfesional.Dispose(); } } catch (Exception ex) { if (solicitud != null) { solicitud.Dispose(); } throw ex; } }