/// <summary> /// Obtiene un Recursos a partir del id /// </summary> internal Models.Recursos Select(string sIDRED, int t314_idusuario) { Models.Recursos oRecursos = null; IDataReader dr = null; try { SqlParameter[] dbparams = new SqlParameter[2] { Param(enumDBFields.sIDRED, sIDRED), Param(enumDBFields.t314_idusuario, t314_idusuario) }; dr = cDblib.DataReader("SUP_LOGIN_BAJA", dbparams); if (dr.Read()) { oRecursos = new Models.Recursos(); oRecursos.t001_IDFICEPI = Convert.ToInt32(dr["t001_IDFICEPI"]); oRecursos.t314_idusuario = Convert.ToInt32(dr["t314_idusuario"]); if (!Convert.IsDBNull(dr["NOMBRE"])) { oRecursos.NOMBRE = Convert.ToString(dr["NOMBRE"]); } if (!Convert.IsDBNull(dr["APELLIDO1"])) { oRecursos.APELLIDO1 = Convert.ToString(dr["APELLIDO1"]); } if (!Convert.IsDBNull(dr["APELLIDO2"])) { oRecursos.APELLIDO2 = Convert.ToString(dr["APELLIDO2"]); } if (!Convert.IsDBNull(dr["T009_IDCENTRAB"])) { oRecursos.T009_IDCENTRAB = Convert.ToInt16(dr["T009_IDCENTRAB"]); } if (!Convert.IsDBNull(dr["T009_DESCENTRAB"])) { oRecursos.T009_DESCENTRAB = Convert.ToString(dr["T009_DESCENTRAB"]); } if (!Convert.IsDBNull(dr["t303_idnodo"])) { oRecursos.t303_idnodo = Convert.ToInt32(dr["t303_idnodo"]); } if (!Convert.IsDBNull(dr["t303_ultcierreIAP"])) { oRecursos.t303_ultcierreIAP = Convert.ToInt32(dr["t303_ultcierreIAP"]); } if (!Convert.IsDBNull(dr["t303_denominacion"])) { oRecursos.t303_denominacion = Convert.ToString(dr["t303_denominacion"]); } if (!Convert.IsDBNull(dr["t399_figura"])) { oRecursos.t399_figura = Convert.ToString(dr["t399_figura"]); } if (!Convert.IsDBNull(dr["t399_figura_cvt"])) { oRecursos.t399_figura_cvt = Convert.ToString(dr["t399_figura_cvt"]); } oRecursos.t314_falta = Convert.ToDateTime(dr["t314_falta"]); if (!Convert.IsDBNull(dr["t314_fbaja"])) { oRecursos.t314_fbaja = Convert.ToDateTime(dr["t314_fbaja"]); } oRecursos.t314_jornadareducida = Convert.ToBoolean(dr["t314_jornadareducida"]); oRecursos.t314_horasjor_red = Convert.ToSingle(dr["t314_horasjor_red"]); if (!Convert.IsDBNull(dr["t314_fdesde_red"])) { oRecursos.t314_fdesde_red = Convert.ToDateTime(dr["t314_fdesde_red"]); } if (!Convert.IsDBNull(dr["t314_fhasta_red"])) { oRecursos.t314_fhasta_red = Convert.ToDateTime(dr["t314_fhasta_red"]); } oRecursos.t314_controlhuecos = Convert.ToBoolean(dr["t314_controlhuecos"]); string sFecUltImputac = USUARIO.ObtenerFecUltImputac(null, t314_idusuario); if (sFecUltImputac != "") { oRecursos.fUltImputacion = DateTime.Parse(sFecUltImputac); } /*if(!Convert.IsDBNull(dr["fUltImputacion"])) * oRecursos.fUltImputacion=Convert.ToDateTime(dr["fUltImputacion"]);*/ oRecursos.IdCalendario = Convert.ToInt32(dr["IdCalendario"]); oRecursos.desCalendario = Convert.ToString(dr["desCalendario"]); oRecursos.t066_semlabL = Convert.ToInt32(dr["t066_semlabL"]); oRecursos.t066_semlabM = Convert.ToInt32(dr["t066_semlabM"]); oRecursos.t066_semlabX = Convert.ToInt32(dr["t066_semlabX"]); oRecursos.t066_semlabJ = Convert.ToInt32(dr["t066_semlabJ"]); oRecursos.t066_semlabV = Convert.ToInt32(dr["t066_semlabV"]); oRecursos.t066_semlabS = Convert.ToInt32(dr["t066_semlabS"]); oRecursos.t066_semlabD = Convert.ToInt32(dr["t066_semlabD"]); oRecursos.t001_codred = Convert.ToString(dr["t001_codred"]); oRecursos.t001_sexo = Convert.ToString(dr["t001_sexo"]); oRecursos.t314_crp = Convert.ToBoolean(dr["t314_crp"]); oRecursos.t314_accesohabilitado = Convert.ToBoolean(dr["t314_accesohabilitado"]); oRecursos.t314_diamante = Convert.ToBoolean(dr["t314_diamante"]); oRecursos.tipo = Convert.ToString(dr["tipo"]); oRecursos.t314_nsegmb = Convert.ToByte(dr["t314_nsegmb"]); if (!Convert.IsDBNull(dr["T010_CODWEATHER"])) { oRecursos.T010_CODWEATHER = Convert.ToString(dr["T010_CODWEATHER"]); } if (!Convert.IsDBNull(dr["T010_NOMWEATHER"])) { oRecursos.T010_NOMWEATHER = Convert.ToString(dr["T010_NOMWEATHER"]); } oRecursos.t314_carrusel1024 = Convert.ToBoolean(dr["t314_carrusel1024"]); oRecursos.t314_avance1024 = Convert.ToBoolean(dr["t314_avance1024"]); oRecursos.t314_resumen1024 = Convert.ToBoolean(dr["t314_resumen1024"]); oRecursos.t314_datosres1024 = Convert.ToBoolean(dr["t314_datosres1024"]); oRecursos.t314_fichaeco1024 = Convert.ToBoolean(dr["t314_fichaeco1024"]); oRecursos.t314_segrenta1024 = Convert.ToBoolean(dr["t314_segrenta1024"]); oRecursos.t314_avantec1024 = Convert.ToBoolean(dr["t314_avantec1024"]); oRecursos.t314_estruct1024 = Convert.ToBoolean(dr["t314_estruct1024"]); oRecursos.t314_fotopst1024 = Convert.ToBoolean(dr["t314_fotopst1024"]); oRecursos.t314_plant1024 = Convert.ToBoolean(dr["t314_plant1024"]); oRecursos.t314_const1024 = Convert.ToBoolean(dr["t314_const1024"]); oRecursos.t314_iapfact1024 = Convert.ToBoolean(dr["t314_iapfact1024"]); oRecursos.t314_iapdiario1024 = Convert.ToBoolean(dr["t314_iapdiario1024"]); oRecursos.t314_cuadromando1024 = Convert.ToBoolean(dr["t314_cuadromando1024"]); oRecursos.t314_importaciongasvi = Convert.ToByte(dr["t314_importaciongasvi"]); oRecursos.t314_recibirmails = Convert.ToBoolean(dr["t314_recibirmails"]); oRecursos.t314_defectoperiodificacion = Convert.ToBoolean(dr["t314_defectoperiodificacion"]); oRecursos.t314_multiventana = Convert.ToBoolean(dr["t314_multiventana"]); oRecursos.t422_idmoneda_VDC = Convert.ToString(dr["t422_idmoneda_VDC"]); oRecursos.t422_denominacionimportes_vdc = Convert.ToString(dr["t422_denominacionimportes_vdc"]); if (!Convert.IsDBNull(dr["t422_idmoneda_VDP"])) { oRecursos.t422_idmoneda_VDP = Convert.ToString(dr["t422_idmoneda_VDP"]); } if (!Convert.IsDBNull(dr["t422_denominacionimportes_vdp"])) { oRecursos.t422_denominacionimportes_vdp = Convert.ToString(dr["t422_denominacionimportes_vdp"]); } oRecursos.t422_denominacionimportes = Convert.ToString(dr["t422_denominacionimportes"]); oRecursos.t314_nuevogasvi = Convert.ToBoolean(dr["t314_nuevogasvi"]); oRecursos.t314_calculoonline = Convert.ToBoolean(dr["t314_calculoonline"]); oRecursos.t314_cargaestructura = Convert.ToBoolean(dr["t314_cargaestructura"]); } return(oRecursos); } catch (Exception ex) { throw ex; } finally { if (dr != null) { if (!dr.IsClosed) { dr.Close(); } dr.Dispose(); } } }
public void EnviarCorreo(Models.Asunto DatosGenerales, List <Models.AsuntoRecursos> Integrantes, bool bAlta) { string sTexto = "", sTO = "", sToAux = "", sAux, sIdResponsable, slMails; string sAsunto = ""; ArrayList aListCorreo = new ArrayList(); StringBuilder sb = new StringBuilder(); sIdResponsable = DatosGenerales.T382_responsable.ToString(); slMails = DatosGenerales.T382_alerta.ToString(); if (slMails == "" && sIdResponsable == "") { return; } sAsunto = "Alerta de asunto en Bitácora de proyecto económico."; if (bAlta) { sb.Append("<BR>SUPER le informa de la generación del siguiente asunto:<BR><BR>"); } else { sb.Append("<BR>SUPER le informa de la modificación del siguiente asunto:<BR><BR>"); } sb.Append("<label style='width:120px'>Proyecto económico: </label>" + DatosGenerales.t301_idproyecto.ToString() + @" - " + DatosGenerales.DesPE + "<br>"); sb.Append("<label style='width:120px'>Asunto: </label><b>" + DatosGenerales.T382_idasunto.ToString() + @" - " + DatosGenerales.T382_desasunto + "</b><br><br>"); sb.Append("<b>Información del asunto:</b><br>"); sb.Append("<label style='width:120px'>Responsable: </label>" + DatosGenerales.Responsable + "<br>"); if (DatosGenerales.T382_flimite == null) { sAux = ""; } else { sAux = DatosGenerales.T382_flimite.ToString().Substring(0, 10); } sb.Append("<label style='width:120px'>F/Límite: </label>" + sAux + "<br>"); if (DatosGenerales.T382_ffin == null) { sAux = ""; } else { sAux = DatosGenerales.T382_ffin.ToString().Substring(0, 10); } sb.Append("<label style='width:120px'>F/Fin: </label>" + sAux + "<br>"); sb.Append("<label style='width:120px'>Ref. Externa: </label>" + DatosGenerales.T382_refexterna.ToString() + "<br>"); sb.Append("<label style='width:120px'>Esfuerzo planificado: </label>" + double.Parse(DatosGenerales.T382_etp.ToString()).ToString("N") + "<br>"); sb.Append("<label style='width:120px'>Esfuerzo real: </label>" + double.Parse(DatosGenerales.T382_etr.ToString()).ToString("N") + "<br>"); sb.Append("<label style='width:120px'>Severidad: </label>" + DatosGenerales.DesSeveridad + "<br>"); sb.Append("<label style='width:120px'>Prioridad: </label>" + DatosGenerales.DesPrioridad + "<br>"); sb.Append("<label style='width:120px'>Tipo: </label>" + DatosGenerales.T384_destipo + "<br>"); sb.Append("<label style='width:120px'>Estado: </label>" + DatosGenerales.DesEstado + "<br>"); sb.Append("<label style='width:120px'>Sistema afectado: </label>" + DatosGenerales.T382_sistema + "<br><br>"); //descripcion larga sb.Append("<b><label style='width:120px'>Descripción: </label></b>" + DatosGenerales.T382_desasuntolong + "<br><br>"); //observaciones sb.Append("<b><label style='width:120px'>Observaciones: </label></b>" + DatosGenerales.T382_obs + "<br><br>"); //Departamento sb.Append("<b><label style='width:120px'>Departamento: </label></b>" + DatosGenerales.T382_dpto + "<br><br>"); //Obtengo la lista de e-mail a los que alertar if (!slMails.Contains(";")) { slMails += ";"; } string[] aMails = Regex.Split(slMails, ";"); //Genero una tabla con la lista de e-mails a notificar sb.Append("<b><label style='width:400px'>Relación de e-mails a notificar: </label></b> <br>"); sb.Append("<table width='400px' style='padding:10px;'>"); sb.Append("<colgroup><col style='width:400px;' /></colgroup>"); sb.Append("<tbody>"); for (int i = 0; i < aMails.Length; i++) { sToAux = aMails[i].Trim(); if (sToAux != "") { sb.Append("<tr><td style='padding-left:5px;font-size:11px;'>"); sTO = sToAux; sAux = sTO.Substring(0, 2); if (sAux == "\r\n") { sTO = sTO.Substring(2); } sb.Append(sTO); sb.Append("</td></tr>"); } } sb.Append("</tbody>"); sb.Append("</table><br>"); //Genero una tabla con la lista de profesionales a notificar sb.Append("<b><label style='width:400px'>Relación de profesionales asignados: </label> </b><br>"); sb.Append("<table width='400px' style='padding:10px;'>"); sb.Append("<colgroup><col style='width:400px;' /></colgroup>"); sb.Append("<tbody>"); foreach (Models.AsuntoRecursos oRecurso in Integrantes) { if (oRecurso.accionBD != "D") { sb.Append("<tr><td style='padding-left:5px;font-size:11px;'>"); sb.Append(oRecurso.nomRecurso); sb.Append("</td></tr>"); } } sb.Append("</tbody>"); sb.Append("</table><br>"); sTexto = sb.ToString(); //Envío e-mail al responsable del asunto if (sIdResponsable != "") { BLL.Recursos oRecursos = new BLL.Recursos(); Models.Recursos oRecursoModel = new Models.Recursos(); try { oRecursoModel = oRecursos.establecerUsuarioIAP("", int.Parse(sIdResponsable)); } catch (Exception ex) { throw new Exception(System.Uri.EscapeDataString("Error al obtener el código de red" + ex.Message)); } finally { oRecursos.Dispose(); } sTO = oRecursoModel.t001_codred; string[] aMail = { sAsunto, sTexto, sTO }; aListCorreo.Add(aMail); } //Obtengo la lista de e-mail a los que alertar y envío un correo a cada uno for (int i = 0; i < aMails.Length; i++) { if (aMails[i] != "") { sTO = aMails[i]; //sTO.Replace((char)10, (char)160); //sTO.Replace((char)13, (char)160); sAux = sTO.Substring(0, 2); if (sAux == "\r\n") { sTO = sTO.Substring(2); } sTO.Trim(); string[] aMail = { sAsunto, sTexto, sTO }; aListCorreo.Add(aMail); } } //Obtengo la lista de profesionales a los que notificar y envío un correo a cada uno foreach (Models.AsuntoRecursos oRecurso in Integrantes) { if (oRecurso.T388_notificar) { string[] aMail = { sAsunto, sTexto, oRecurso.mail }; aListCorreo.Add(aMail); } } Correo.EnviarCorreos(aListCorreo); }