Пример #1
0
        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("");
            }
        }
Пример #2
0
        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);
            }
        }
Пример #3
0
        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);
            }
        }
Пример #4
0
        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);
            }
        }