private String UsuarioTienePerfil(string usuario, int id_perfil) { try { Employee entidad = new Employee(); EmpleadosCOM empleados = new EmpleadosCOM(); DataTable dt_original = empleados.GetUsers(); DataTable dt = new DataTable(); if (dt_original.Select("usuario_red = '" + usuario.Trim().ToUpper() + "'").Length > 0) { dt = dt_original.Select("usuario_red = '" + usuario.Trim().ToUpper() + "'").CopyToDataTable(); } int vid_perfil = Convert.ToInt32(dt.Rows[0]["id_perfil"]); string perfil = dt.Rows[0]["perfil"].ToString().Trim(); perfil = id_perfil == vid_perfil ? "" : perfil; return(perfil); } catch (Exception ex) { return(""); } }
private void CargarListadoEmpleados(string filtro) { try { Employee entidad = new Employee(); EmpleadosCOM empleados = new EmpleadosCOM(); DataTable dt_original = empleados.GetUsers(); DataTable dt = new DataTable(); if (filtro == "") { dt = dt_original; } else { if (dt_original.Select("nombre_usuario like '%" + filtro + "%'").Length > 0) { dt = filtro == "" ? dt_original : dt_original.Select("nombre_usuario like '%" + filtro + "%'").CopyToDataTable(); } } if (dt.Rows.Count > 0) { rdllista_empleados.DataSource = dt; rdllista_empleados.DataBind(); CheckValuesListUsuarios(); } else { Toast.Info("No se encontro ninguna coincidencia. Intentelo nuevamente.", "Mensaje del Sistema", this); } } catch (Exception ex) { Toast.Error("Error al cargar lista de empleados. " + 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); } }