protected void lnkguardar_Click(object sender, EventArgs e) { try { if (txtcorreo.Text == "") { Toast.Error("Ingrese el correo electrónico relacionado a su cuenta.", this.Page); } else if (!funciones.emailIsValid(txtcorreo.Text)) { Toast.Error("Ingrese un correo electrónico valido.", this.Page); } else { UsuariosCOM usuarios = new UsuariosCOM(); usuarios usuario = usuarios.usuario_mail(txtcorreo.Text); if (usuario == null) { Toast.Error("No existe ningun usuario con el correo electrónico proporcionado.", this.Page); } else { string saludo = DateTime.Now.Hour > 13 ? "Buenas tardes" : "Buenos dias"; string mail_to = usuario.correo; string subject = "Portal Connext | Recuperación de contraseña"; string mail = "<div>" + saludo + " <strong>" + System.Threading.Thread.CurrentThread.CurrentCulture.TextInfo.ToTitleCase(usuario.nombres.ToLower() + " " + usuario.a_paterno.ToLower().Trim() + " " + (usuario.a_materno == null?"": usuario.a_materno.ToLower().Trim())) + "</strong> <div>" + "<br>" + "<p>Se anexa la información para el inicio de sesión en el Portal Connext" + "</p>" + "<p>A continuación, se muestra la información completa:</p>" + "<p><strong>Usuario</strong><br/> " + usuario.usuario + "</p> " + "<p><strong>Contraseña</strong><br/> " + funciones.de64aTexto(usuario.contraseña) + "</p> " + "<p><strong>Nombre</strong><br/> " + System.Threading.Thread.CurrentThread.CurrentCulture.TextInfo.ToTitleCase(usuario.nombres.ToLower() + " " + usuario.a_paterno.ToLower().Trim() + " " + (usuario.a_materno == null ? "" : usuario.a_materno.ToLower().Trim())) + "</p> " + "<p><strong>Correo electrónico</strong><br/> " + usuario.correo + "</p> " + "<p><strong>Puesto</strong><br/> " + (usuario.puesto == ""?"--Información no proporcionada--":usuario.puesto) + "</p> " + "<br/><p>Este movimiento fue solicitado el dia <strong>" + DateTime.Now.ToString("dddd dd MMMM, yyyy hh:mm:ss tt", System.Globalization.CultureInfo.CreateSpecificCulture("es-MX")) + "</strong>" + "</p>"; CorreosCOM correos = new CorreosCOM(); bool correct = correos.SendMail(mail, subject, mail_to); Toast.Success("Se envio la información al correo proporcionado.", "Mensaje del sistema", this); ModalClose("#modal_recuperar_contraseña"); } } } catch (Exception ex) { Toast.Error("Error al enviar correo: " + ex.Message, this.Page); } finally { lnkguardar.Visible = true; lnkcargando.Style["display"] = "none"; } }
protected void AsyncUpload1_FileUploaded(object sender, Telerik.Web.UI.FileUploadedEventArgs e) { try { int r = AsyncUpload1.UploadedFiles.Count; if (r == 0) { Toast.Error("Error al terminar proyecto: Seleccione un archivo.", this); } else { DirectoryInfo dirInfo = new DirectoryInfo(Server.MapPath("~/"));//path localDateTime localDate = DateTime.Now; string path_local = "files/documents/proyectos/"; DateTime localDate = DateTime.Now; string date = localDate.ToString(); date = date.Replace("/", "_"); date = date.Replace(":", "_"); date = date.Replace(" ", ""); string name = path_local + Path.GetFileNameWithoutExtension(e.File.FileName) + "_" + date + Path.GetExtension(e.File.FileName); //funciones.UploadFile(fuparchivo, dirInfo.ToString() + name.Trim(), this.Page); e.File.SaveAs(dirInfo.ToString() + name.Trim()); int id_proyecto = Convert.ToInt32(hdfid_proyecto.Value); documentos documento = new documentos(); documento.id_proyecto = id_proyecto; documento.path = funciones.deTextoa64(name); documento.nombre = Path.GetFileName(funciones.de64aTexto(funciones.deTextoa64(name))); documento.tamaño = e.File.ContentLength.ToString(); documento.publico = true; documento.extension = Path.GetExtension(funciones.de64aTexto(funciones.deTextoa64(name))); documento.contentType = funciones.ContentType(documento.extension); documento.fecha = DateTime.Now; documento.usuario = Session["usuario"] as string; documento.id_documento_tipo = 2; documento.comentarios = txtcomentarioscierre.Text; ProyectosCOM proyectos = new ProyectosCOM(); string vmensaje = proyectos.Cerrar(id_proyecto, Session["usuario"] as string, documento); if (vmensaje == "") { proyectos proyecto = proyectos.proyecto(id_proyecto); //string usuario_resp = proyecto.usuario_resp; //EmpleadosCOM usuarios = new EmpleadosCOM(); //DataTable dt_usuario = usuarios.GetUsers(); //DataView dv = dt_usuario.DefaultView; //dv.RowFilter = "usuario_red = '" + usuario_resp.Trim().ToUpper() + "'"; //DataTable dt_result = dv.ToTable(); ProyectosEmpleadosCOM empleados = new ProyectosEmpleadosCOM(); DataTable users = empleados.empleados_proyecto(id_proyecto); if (users.Rows.Count > 0) { foreach (DataRow row in users.Rows) { string saludo = DateTime.Now.Hour > 13 ? "Buenas tardes" : "Buenos dias"; DataRow usuario = row; string mail_to = usuario["correo"].ToString() == "" ? "" : (usuario["correo"].ToString() + ";"); string subject = "Módulo de proyectos - Proyecto cerrado"; string mail = "<div>" + saludo + " <strong>" + System.Threading.Thread.CurrentThread.CurrentCulture.TextInfo.ToTitleCase(usuario["nombre"].ToString().ToLower()) + "</strong> <div>" + "<br>" + "<p>Se le comunica que el proyecto <strong>" + proyecto.proyecto + "</strong>, fue cerrado el dia <strong>" + DateTime.Now.ToString("dddd dd MMMM, yyyy hh:mm:ss tt", CultureInfo.CreateSpecificCulture("es-MX")) + "</strong>" + "</p>" + "<p><strong>Documento de cierre</strong><br>" + (txtcomentarioscierre.Text == "" ? "" : txtcomentarioscierre.Text) + "<br><a href='https://apps.migesa.com.mx/portal_connext/" + name + "' download>Descargar documento</a></p>" + "<br><p>Este movimiento fue realizado por <strong>" + System.Threading.Thread.CurrentThread.CurrentCulture.TextInfo.ToTitleCase(Session["nombre"].ToString().ToLower()) + "</strong>" + " el dia <strong> " + DateTime.Now.ToString("dddd dd MMMM, yyyy hh:mm:ss tt", System.Globalization.CultureInfo.CreateSpecificCulture("es-MX")) + "</strong>" + "</p>"; CorreosCOM correos = new CorreosCOM(); bool correct = correos.SendMail(mail, subject, mail_to); } } System.Web.UI.ScriptManager.RegisterStartupScript(this, GetType(), Guid.NewGuid().ToString(), "AlertGO('Proyecto terminado correctamente.','mis_proyectos.aspx');", true); } else { Toast.Error("Error al terminar proyecto: " + vmensaje, this); } } } catch (Exception ex) { Toast.Error("Error al terminar proyecto: " + ex.Message, this); } }
protected void lnkguardarempleado_Click(object sender, EventArgs e) { IList <RadListBoxItem> collection = rdlempleadosproyecto.SelectedItems; string vmensaje = ""; try { if (collection.Count == 0) { vmensaje = "Seleccione minimo 1 empleado."; } string correos_pm = ""; if (ProyectoTerminado()) { vmensaje = "El proyecto fue terminado y no puede generarse información adicional."; } int id_rol = Convert.ToInt32(ddlperfil.SelectedValue); if (id_rol == 0) { vmensaje = "Seleccione un rol para el empleado"; } if (vmensaje == "") { ProyectosEmpleadosCOM proyectos = new ProyectosEmpleadosCOM(); foreach (RadListBoxItem item in collection) { string usuario = item.Value; int id_proyecto = Convert.ToInt32(funciones.de64aTexto(Request.QueryString["id_proyecto"])); string usuario_registro = Session["usuario"] as string; vmensaje = proyectos.Agregar(id_proyecto, id_rol, usuario, usuario_registro); if (vmensaje == "") { ProyectosCOM proyectos2 = new ProyectosCOM(); datos.proyectos proyecto = proyectos2.proyecto(Convert.ToInt32(funciones.de64aTexto(Request.QueryString["id_proyecto"]))); if (proyecto != null) { string tecnologias = ""; string usuario_resp = usuario; ICollection <datos.proyectos_historial_tecnologias> n = proyecto.proyectos_historial_tecnologias; foreach (datos.proyectos_historial_tecnologias tecnologia in n) { if (tecnologia.activo) { datos.proyectos_tecnologias tecn = tecnologia.proyectos_tecnologias; tecnologias = tecnologias + tecn.nombre + ","; } } if (tecnologias.Length > 1) { tecnologias = tecnologias.Substring(0, tecnologias.Length - 1); } EmpleadosCOM usuarios = new EmpleadosCOM(); DataTable dt_usuario = usuarios.GetUsers(); DataView dv = dt_usuario.DefaultView; dv.RowFilter = "usuario_red = '" + usuario_resp.Trim().ToUpper() + "'"; DataTable dt_result = dv.ToTable(); if (dt_result.Rows.Count > 0) { string saludo = DateTime.Now.Hour > 13 ? "Buenas tardes" : "Buenos dias"; DataRow drusuario = dt_result.Rows[0]; string mail_to = drusuario["mail"].ToString() == "" ? "" : (drusuario["mail"].ToString() + ";"); string subject = "Módulo de proyectos - Proyecto relacionado"; string mail = "<div>" + saludo + " <strong>" + System.Threading.Thread.CurrentThread.CurrentCulture.TextInfo.ToTitleCase(drusuario["empleado"].ToString().ToLower()) + "</strong> <div>" + "<br>" + "<p>Le fue asignado el proyecto <strong>" + proyecto.proyecto + "</strong>" + "</p>" + "<p><strong>Descripción</strong> <br/> " + (proyecto.descripcion == "" || proyecto.descripcion == null ? proyecto.proyecto : proyecto.descripcion) + "</p> " + "<p><strong>CPED</strong> <br/> " + proyecto.cped + "</p> " + "<p><strong>Tecnología(s)</strong><br/> " + tecnologias + "</p> " + "<p><strong>Costo</strong><br/> " + proyecto.costo_usd.ToString("C2") + " USD / " + proyecto.costo_mn.ToString("C2") + " MN</p> " + "<p><strong>Duración</strong><br/> " + proyecto.duración + " dia(s). Del " + Convert.ToDateTime(proyecto.fecha_inicio).ToString("dddd dd MMMM, yyyy", CultureInfo.CreateSpecificCulture("es-MX")) + " al " + Convert.ToDateTime(proyecto.fecha_fin).ToString("dddd dd MMMM, yyyy", CultureInfo.CreateSpecificCulture("es-MX")) + "</p> " + "<br/><p>Este movimiento fue realizado por <strong>" + System.Threading.Thread.CurrentThread.CurrentCulture.TextInfo.ToTitleCase(Session["nombre"].ToString().ToLower()) + "</strong> el dia <strong>" + DateTime.Now.ToString("dddd dd MMMM, yyyy hh:mm:ss tt", CultureInfo.CreateSpecificCulture("es-MX")) + "</strong>" + "</p>"; CorreosCOM correos = new CorreosCOM(); bool correct = correos.SendMail(mail, subject, mail_to); if (!correct) { break; } } } if (vmensaje != "") { break; } } } if (vmensaje != "") { Toast.Error(vmensaje, this); } else { string url = "proyectos_recursos.aspx?id_proyecto=" + Request.QueryString["id_proyecto"]; ScriptManager.RegisterStartupScript(this, GetType(), Guid.NewGuid().ToString(), "AlertGO('Configuración Guardada Correctamente', '" + url + "');", true); } } else { Toast.Error("Error al guardar lista de empleados: " + vmensaje, this); } } catch (Exception ex) { Toast.Error("Error al guardar lista de empleados. " + ex.Message, this); } }
protected void lnkguardar_Click(object sender, EventArgs e) { try { string vmensaje = string.Empty; int id_proyecto = Convert.ToInt32(hdfid_proyecto.Value == "" ? "0" : hdfid_proyecto.Value); proyectos proyecto = new proyectos(); proyecto.proyecto = txtnombreproyecto.Text; proyecto.descripcion = txtdescripcion.Text; proyecto.id_proyecto_periodo = Convert.ToInt32(ddlperiodo.SelectedValue); proyecto.id_proyecto_estatus = Convert.ToInt32(ddlestatus.SelectedValue); proyecto.folio_op = txtcveop.Text; proyecto.folio_pmt = txtfolopmt.Text; if (id_proyecto > 0) { proyecto.id_proyecto = id_proyecto; } EmpleadosCOM empleados = new EmpleadosCOM(); int num_empleado = Convert.ToInt32(ddlempleado_a_consultar.SelectedValue); DataSet ds = empleados.sp_listado_empleados(num_empleado, false, false); DataTable dt = ds.Tables[0]; string Usuario = dt.Rows[0]["usuario"].ToString(); proyecto.usuario_resp = Usuario; proyecto.usuario = Session["usuario"] as string; DateTime fechaInicial = Convert.ToDateTime(rdpfechainicial.SelectedDate); DateTime fechaFinal = Convert.ToDateTime(rdpfechafinal.SelectedDate); proyecto.fecha_inicio = fechaInicial; proyecto.fecha_fin = fechaFinal; int dias = ((fechaFinal - fechaInicial)).Days; proyecto.duración = Convert.ToInt16(dias); proyecto.folio_pmt = txtfolopmt.Text.Trim(); //CPED proyecto.cped = txtcped.Text.Trim(); proyecto.costo_usd = txtmonto.Text != "" ? Convert.ToDecimal(txtmonto.Text.Replace("$", "").Replace(",", "").Replace(" ", "")) : 0;; proyecto.costo_mn = txtmontomn.Text != ""? Convert.ToDecimal(txtmontomn.Text.Replace("$", "").Replace(",", "").Replace(" ", "")):0; proyecto.tipo_moneda = txtmoneda.Text; List <proyectos_historial_tecnologias> tecnologias = new List <proyectos_historial_tecnologias>(); string strtecnologias = ""; IList <RadComboBoxItem> list_tecnologias = ddltegnologia.CheckedItems; foreach (RadComboBoxItem item in list_tecnologias) { if (item.Checked) { proyectos_historial_tecnologias tecnologia = new proyectos_historial_tecnologias { id_proyecto_tecnologia = Convert.ToInt32(item.Value) }; strtecnologias = strtecnologias + item.Text + ","; tecnologias.Add(tecnologia); } } strtecnologias = strtecnologias.Substring(0, strtecnologias.Length > 0 ? strtecnologias.Length - 1:0); if (proyecto.proyecto == "") { ModalShow("#ModalCapturaProyectos"); Toast.Error("Error al procesar proyecto : Ingrese el nombre del proyecto", this); } else if (proyecto.descripcion == "") { ModalShow("#ModalCapturaProyectos"); Toast.Error("Error al procesar estatus : Ingrese la descripción del proyecto", this); } else if (tecnologias.Count <= 0) { ModalShow("#ModalCapturaProyectos"); Toast.Error("Error al procesar tecnologia : Seleccione una tecnología ", this); } else if (proyecto.id_proyecto_periodo <= 0) { ModalShow("#ModalCapturaProyectos"); Toast.Error("Error al procesar periodo : Seleccione un periodo", this); } else if (proyecto.id_proyecto_estatus <= 0) { ModalShow("#ModalCapturaProyectos"); Toast.Error("Error al procesar estatus : Seleccione un estatus", this); } else if (proyecto.folio_op == "") { ModalShow("#ModalCapturaProyectos"); Toast.Error("Error al procesar folio pmtracker : Ingrese un numero de oportunidad", this); } else if (proyecto.folio_pmt == "") { ModalShow("#ModalCapturaProyectos"); Toast.Error("Error al procesar folio pmtracker : Ingrese un folio pmtracker", this); } else if (proyecto.cped == "") { ModalShow("#ModalCapturaProyectos"); Toast.Error("Error al procesar CPED : Favor de ingresar un CPED", this); } else if (rdpfechainicial.SelectedDate > rdpfechafinal.SelectedDate) { ModalShow("#ModalCapturaProyectos"); Toast.Error("Error al procesar periodo : la fecha inicial no puede ser mayor a la fecha final ", this); } else { proyecto.usuario_edicion = Session["usuario"] as string; vmensaje = id_proyecto > 0 ? Editar(proyecto, tecnologias) : Agregar(proyecto, tecnologias); if (vmensaje == "") { if (id_proyecto == 0) { string usuario_resp = proyecto.usuario_resp; EmpleadosCOM usuarios = new EmpleadosCOM(); DataTable dt_usuario = usuarios.GetUsers(); DataView dv = dt_usuario.DefaultView; dv.RowFilter = "usuario_red = '" + usuario_resp.Trim().ToUpper() + "'"; DataTable dt_result = dv.ToTable(); if (dt_result.Rows.Count > 0) { string saludo = DateTime.Now.Hour > 13 ? "Buenas tardes" : "Buenos dias"; DataRow usuario = dt_result.Rows[0]; string mail_to = usuario["mail"].ToString() == "" ? "" : (usuario["mail"].ToString() + ";"); string subject = "Módulo de proyectos - Proyecto creado"; string mail = "<div>" + saludo + " <strong>" + System.Threading.Thread.CurrentThread.CurrentCulture.TextInfo.ToTitleCase(usuario["empleado"].ToString().ToLower()) + "</strong> <div>" + "<br>" + "<p>Le fue asignado el proyecto <strong>" + proyecto.proyecto + "</strong>" + "</p>" + "<p><strong>Descripción</strong> <br/> " + (proyecto.descripcion == "" || proyecto.descripcion == null ?proyecto.proyecto:proyecto.descripcion) + "</p> " + "<p><strong>CPED</strong> <br/> " + proyecto.cped + "</p> " + "<p><strong>Tecnología(s)</strong><br/> " + strtecnologias + "</p> " + "<p><strong>Costo</strong><br/> " + txtmonto.Text + " USD / " + txtmontomn.Text + " MN</p> " + "<p><strong>Duración</strong><br/> " + proyecto.duración + " dia(s). Del " + Convert.ToDateTime(proyecto.fecha_inicio).ToString("dddd dd MMMM, yyyy", CultureInfo.CreateSpecificCulture("es-MX")) + " al " + Convert.ToDateTime(proyecto.fecha_fin).ToString("dddd dd MMMM, yyyy", CultureInfo.CreateSpecificCulture("es-MX")) + "</p> " + "<br/><p>Este movimiento fue realizado por <strong>" + System.Threading.Thread.CurrentThread.CurrentCulture.TextInfo.ToTitleCase(Session["nombre"].ToString().ToLower()) + "</strong> el dia <strong>" + DateTime.Now.ToString("dddd dd MMMM, yyyy hh:mm:ss tt", CultureInfo.CreateSpecificCulture("es-MX")) + "</strong>" + "</p>"; CorreosCOM correos = new CorreosCOM(); bool correct = correos.SendMail(mail, subject, mail_to); } } txtnombreproyecto.Text = ""; txtdescripcion.Text = ""; ddlperiodo.SelectedIndex = 0; ddlestatus.SelectedIndex = 0; txtcveop.Text = ""; txtfolopmt.Text = ""; txtcped.Text = ""; txtmonto.Text = ""; txtmontomn.Text = ""; txtmoneda.Text = ""; Cargarddlperiodo(); Cargarddlestatus(); Cargarddltegnologia(); hdfid_proyecto.Value = ""; CargarProyectos(1); ModalClose("#ModalCapturaProyectos"); System.Web.UI.ScriptManager.RegisterStartupScript(this, GetType(), Guid.NewGuid().ToString(), "AlertGO('Proyecto agregado correctamente.','mis_proyectos.aspx');", true); } else { ModalClose("#ModalCapturaProyectos"); Toast.Error("Error al procesar proyecto : " + vmensaje, this); } } } catch (Exception ex) { ModalShow("#ModalProyectoestatus"); Toast.Error("Error al procesar estatus : " + ex.Message, this); } }