Ejemplo n.º 1
0
        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);
            }
        }
Ejemplo n.º 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);
            }
        }
Ejemplo n.º 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);
            }
        }