private void CargarInformacionInicial(int id_proyecto)
 {
     try
     {
         ProyectosCOM proyectos = new ProyectosCOM();
         DataTable    dt        = proyectos.Select(id_proyecto);
         if (dt.Rows.Count > 0)
         {
             CargarRiesgos(id_proyecto);
             CargarRecursos(id_proyecto);
             CargarMinutas(id_proyecto);
             DataRow proyecto = dt.Rows[0];
             hdfid_proyecto.Value = id_proyecto.ToString();
             lblproyect.Text      = proyecto["proyecto"].ToString();
             //lblresumen.Text = proyecto["descripcion"].ToString();
             lblmonto.Text      = Convert.ToDecimal(proyecto["costo_usd"]).ToString("C2") + " USD / " + Convert.ToDecimal(proyecto["costo_mn"]).ToString("C2") + " MN";
             lblperiodo.Text    = proyecto["periodo"].ToString();
             lblestatus.Text    = proyecto["estatus"].ToString();
             lbltecnologia.Text = proyecto["tecnologia"].ToString();
             lblcped.Text       = proyecto["cped"].ToString();
             lblempleado.Text   = System.Threading.Thread.CurrentThread.CurrentCulture.TextInfo.ToTitleCase(proyecto["empleado"].ToString().ToLower());
         }
     }
     catch (Exception ex)
     {
         Toast.Error("Error al cargar información del proyecto. " + ex.Message, this);
     }
 }
Пример #2
0
 private void CargarProyectos(string usuario, bool administrador, string usuario_filtro)
 {
     try
     {
         ProyectosCOM proyectos = new ProyectosCOM();
         DataTable    dt        = proyectos.sp_get_proyects_info(0, usuario, administrador, Convert.ToInt32(Session["id_cliente"]), usuario_filtro, false).Tables[0];
         th_pm.Visible = (administrador && Convert.ToInt32(Session["id_cliente"]) == 0);
         div_combo_pm_x_proyecto.Visible = (administrador && Convert.ToInt32(Session["id_cliente"]) == 0);
         if (dt.Rows.Count > 0)
         {
             repeat_mis_proyectos.DataSource = dt.AsEnumerable().Take(10).CopyToDataTable();
             repeat_mis_proyectos.DataBind();
         }
         else
         {
             repeat_mis_proyectos.DataSource = null;
             repeat_mis_proyectos.DataBind();
         }
         if (usuario_filtro == "")
         {
             DataTable dt_pm = proyectos.sp_combo_pm_x_proyecto().Tables[0];
             ddlpm_x_proyecto.DataTextField  = "pm";
             ddlpm_x_proyecto.DataValueField = "usuario";
             ddlpm_x_proyecto.DataSource     = dt_pm;
             ddlpm_x_proyecto.DataBind();
         }
     }
     catch (Exception ex)
     {
         Alert.ShowAlertError(ex.Message, this);
     }
 }
Пример #3
0
        private string Eliminar(proyectos id_proyecto)
        {
            ProyectosCOM Proyecto = new ProyectosCOM();
            string       vmensaje = Proyecto.Elimina(id_proyecto);

            return(vmensaje);
        }
Пример #4
0
        private string Editar(proyectos id_proyecto, List <proyectos_historial_tecnologias> tecnologias)
        {
            ProyectosCOM Proyecto = new ProyectosCOM();
            string       vmensaje = Proyecto.Editar(id_proyecto, tecnologias);

            return(vmensaje);
        }
 public static void ActualizaAvances()
 {
     try
     {
         ProyectosCOM proyecto_actualiza = new ProyectosCOM();
         DataSet      dsss = proyecto_actualiza.actualizar_avances();
     }
     catch (Exception)
     {
         throw;
     }
 }
Пример #6
0
 private bool ProyectoTerminado()
 {
     try
     {
         ProyectosCOM proyectos = new ProyectosCOM();
         bool         terminado = proyectos.ProyectoTerminado(Convert.ToInt32(funciones.de64aTexto(Request.QueryString["id_proyecto"])));
         return(terminado);
     }
     catch (Exception ex)
     {
         Toast.Error("Error al cargar información del cierre de proyecto: " + ex.Message, this);
         return(false);
     }
 }
Пример #7
0
        private proyectos GetProyecto(int id_proyecto)
        {
            proyectos dt = new proyectos();

            try
            {
                ProyectosCOM Proyecto = new ProyectosCOM();
                dt = Proyecto.proyecto(id_proyecto);
            }
            catch (Exception)
            {
                dt = null;
            }
            return(dt);
        }
Пример #8
0
        private DataTable Getreporte_proyectos(int num_empleado, bool ver_Todos_los_empleados, int id_proyecto_estatus, DateTime fecha_inicio, DateTime fecha_fin)
        {
            DataTable dt = new DataTable();

            try
            {
                ProyectosCOM Proyectos = new ProyectosCOM();
                dt = Proyectos.reporte_proyectos(num_empleado, ver_Todos_los_empleados, id_proyecto_estatus, fecha_inicio, fecha_fin);
            }
            catch (Exception ex)
            {
                dt = new DataTable();
            }
            return(dt);
        }
 private void CargarComboCliente()
 {
     try
     {
         ProyectosCOM proyectos = new ProyectosCOM();
         DataTable    dt_pm     = proyectos.sp_COMBO_CLIENTES_PROYECTOS().Tables[0];
         ddlcliente_x_proyecto.DataTextField  = "razon_social";
         ddlcliente_x_proyecto.DataValueField = "idcliente";
         ddlcliente_x_proyecto.DataSource     = dt_pm;
         ddlcliente_x_proyecto.DataBind();
     }
     catch (Exception ex)
     {
         Toast.Error(ex.Message, this);
     }
 }
 private void CargarComboPM()
 {
     try
     {
         ProyectosCOM proyectos = new ProyectosCOM();
         DataTable    dt_pm     = proyectos.sp_combo_pm_x_proyecto().Tables[0];
         ddlpm_x_proyecto.DataTextField  = "pm";
         ddlpm_x_proyecto.DataValueField = "usuario";
         ddlpm_x_proyecto.DataSource     = dt_pm;
         ddlpm_x_proyecto.DataBind();
     }
     catch (Exception ex)
     {
         Toast.Error(ex.Message, this);
     }
 }
Пример #11
0
 public String ProyectosWidget(int num_empleado)
 {
     try
     {
         string       value     = "";
         ProyectosCOM proyectos = new ProyectosCOM();
         DataTable    dt        = new DataTable();
         dt    = proyectos.SelectWidget(num_empleado, false);
         value = JsonConvert.SerializeObject(dt);
         return(value);
     }
     catch (Exception ex)
     {
         return("");
     }
 }
Пример #12
0
 private void CargarProyectos(int id_proyecto, string usuario, bool administrador)
 {
     try
     {
         ProyectosCOM proyectos = new ProyectosCOM();
         DataTable    dt        = proyectos.sp_get_proyects_info(id_proyecto, usuario, administrador, Convert.ToInt32(Session["id_cliente"]), "", false).Tables[0];
         rdl_proyectos.DataTextField  = "proyecto";
         rdl_proyectos.DataValueField = "id_proyecto";
         rdl_proyectos.DataSource     = dt;
         rdl_proyectos.DataBind();
     }
     catch (Exception ex)
     {
         Toast.Error(ex.Message, this);
     }
 }
Пример #13
0
 private void CargarProyectos(string usuario, bool administrador)
 {
     try
     {
         ProyectosCOM proyectos = new ProyectosCOM();
         DataTable    dt        = proyectos.sp_get_proyects_info(0, usuario, administrador, Convert.ToInt32(Session["id_cliente"]), "", false).Tables[0];
         if (dt.Rows.Count > 0)
         {
             bool cliente = Convert.ToBoolean(Session["cliente"]);
             grid_proyectos.DataSource = dt;
             grid_proyectos.DataBind();
             grid_proyectos.Columns[0].Visible = !cliente;
             grid_proyectos.Columns[1].Visible = false;
         }
     }
     catch (Exception ex)
     {
         Alert.ShowAlertError(ex.Message, this);
     }
 }
Пример #14
0
        private DataTable GetProyectos(int id_proyecto_estatus)
        {
            DataTable dt = new DataTable();

            try
            {
                int     num_empleado            = Convert.ToInt32(Session["num_empleado"]);
                Boolean ver_Todos_los_empleados = Convert.ToBoolean(Session["ver_Todos_los_empleados"]);
                if (funciones.Permisos(Session["usuario"] as string, 4))
                {
                    ver_Todos_los_empleados = true;
                }
                ProyectosCOM Proyectos = new ProyectosCOM();
                dt = Proyectos.SelectAll(num_empleado, ver_Todos_los_empleados, id_proyecto_estatus);
            }
            catch (Exception ex)
            {
                dt = new DataTable();
            }
            return(dt);
        }
Пример #15
0
 private void CargarProyectos(int id_proyecto, string usuario, bool administrador)
 {
     try
     {
         ProyectosCOM proyectos = new ProyectosCOM();
         DataTable    dt        = proyectos.sp_get_proyects_info(id_proyecto, usuario, administrador, Convert.ToInt32(Session["id_cliente"]), "", false).Tables[0];
         DataRow      row       = dt.Rows[0];
         txtid_proyecto.Text  = id_proyecto.ToString();
         rtxtproyecto.Text    = row["proyecto"].ToString();
         rtxtdescripcion.Text = row["descripcion"].ToString();
         rtxtavance.Text      = row["avance"].ToString();
         if (row["fecha_inicio"] != DBNull.Value)
         {
             rdtpinicio.SelectedDate = Convert.ToDateTime(row["fecha_inicio"]);
             rdtpfin.SelectedDate    = Convert.ToDateTime(row["fecha_fin"]);
         }
     }
     catch (Exception ex)
     {
         Alert.ShowAlertError(ex.Message, this);
     }
 }
Пример #16
0
        private void CargarInformacionInicial(int id_proyecto)
        {
            try
            {
                ProyectosCOM proyectos = new ProyectosCOM();
                DataTable    dt        = proyectos.Select(id_proyecto);
                if (dt.Rows.Count > 0)
                {
                    CargarRecursos(id_proyecto);
                    Cargarroles();
                    DataRow proyecto = dt.Rows[0];
                    lblproyect.Text = proyecto["proyecto"].ToString();
                    lblmonto.Text   = Convert.ToDecimal(proyecto["costo_usd"]).ToString("C2") + " USD / " + Convert.ToDecimal(proyecto["costo_mn"]).ToString("C2") + " MN";

                    lbltecnologia.Text = proyecto["tecnologia"].ToString();
                    lblcped.Text       = proyecto["cped"].ToString();
                }
            }
            catch (Exception ex)
            {
                Toast.Error("Error al cargar información del proyecto. " + ex.Message, this);
            }
        }
Пример #17
0
 public string AgregarProyecto()
 {
     try
     {
         int    id_proyect = 0;
         string vmensaje   = "";
         if (rtxtproyecto.Text == "")
         {
             vmensaje = "Ingrese el Nombre del Proyecto";
         }
         else if (rtxtdescripcion.Text == "")
         {
             vmensaje = "Ingrese la Descripción del Proyecto";
         }
         else if (!rdtpinicio.SelectedDate.HasValue)
         {
             vmensaje = "Ingrese la Fecha Inicial del Proyecto";
         }
         else if (!rdtpfin.SelectedDate.HasValue)
         {
             vmensaje = "Ingrese la Fecha Final del Proyecto";
         }
         else if (rtxtavance.Text == "")
         {
             vmensaje = "Ingrese un Avance del Proyecto";
         }
         else if (Convert.ToInt32(rtxtavance.Text) > 100)
         {
             rtxtavance.Text = "100";
             vmensaje        = "Ingrese un Avance del Proyecto menor a 100";
         }
         else
         {
             DateTime  dinicial    = rdtpinicio.SelectedDate.Value;
             DateTime  difinal     = rdtpfin.SelectedDate.Value;
             string    fechainicio = dinicial.ToString("dddd dd MMMM, yyyy hh:mm:ss:tt", CultureInfo.CreateSpecificCulture("es-MX"));
             string    fechafin    = difinal.ToString("dddd dd MMMM , yyyy hh:mm:ss:tt", CultureInfo.CreateSpecificCulture("es-MX"));
             string    proyecto    = rtxtproyecto.Text;
             string    descripcion = rtxtdescripcion.Text;
             int       avance      = Convert.ToInt32(rtxtavance.Text);
             proyectos entidad     = new proyectos();
             entidad.proyecto         = proyecto;
             entidad.descripcion      = descripcion;
             entidad.fecha_inicio     = dinicial;
             entidad.codigo_proyecto  = "1";
             entidad.fecha_fin        = difinal;
             entidad.fecha_inicio_str = fechainicio;
             entidad.fecha_fin_str    = fechafin;
             entidad.usuario          = Session["usuario"] as string;
             entidad.avance           = Convert.ToByte(avance);
             entidad.duración         = (difinal.Date - dinicial.Date).TotalDays == 1 ?
                                        (difinal.Date - dinicial.Date).TotalHours.ToString() + " horas" : (difinal.Date - dinicial.Date).TotalDays.ToString() + " dias";
             ProyectosCOM proyecto_    = new ProyectosCOM();
             string[]     return_array = proyecto_.Agregar(entidad);
             vmensaje   = return_array[0];
             id_proyect = Convert.ToInt32(return_array[1]);
             usuarios entidadus = new usuarios();
             entidadus.id_cliente = null;
             entidadus.id_uperfil = 3;
             entidadus.usuario    = Convert.ToString(Session["usuario"]).Trim().ToUpper();
             entidadus.password   = Convert.ToString(Session["contraseña"]).Trim().ToUpper();
             UsuariosCOM usuarios = new UsuariosCOM();
             if (vmensaje == "")
             {
                 vmensaje = usuarios.Agregar(entidadus)[0];
             }
         }
         if (vmensaje == "")
         {
             funciones.ActualizaAvances();
             ProyectosCOM proyecto_actualiza = new ProyectosCOM();
             DataSet      dsss = proyecto_actualiza.actualizar_avances();
         }
         return(vmensaje);
     }
     catch (Exception ex)
     {
         return(ex.Message);
     }
 }
Пример #18
0
 /// <summary>
 /// Actualiza el proyecto
 /// </summary>
 /// <returns></returns>
 private string ActualizarProyecto()
 {
     try
     {
         string vmensaje = "";
         if (rtxtproyecto.Text == "")
         {
             vmensaje = "Ingrese el Nombre del Proyecto";
         }
         else if (rtxtdescripcion.Text == "")
         {
             vmensaje = "Ingrese la Descripción del Proyecto";
         }
         else if (!rdtpinicio.SelectedDate.HasValue)
         {
             vmensaje = "Ingrese la Fecha Inicial del Proyecto";
         }
         else if (!rdtpfin.SelectedDate.HasValue)
         {
             vmensaje = "Ingrese la Fecha Final del Proyecto";
         }
         else if (rtxtavance.Text == "")
         {
             vmensaje = "Ingrese un Avance del Proyecto";
         }
         else if (Convert.ToInt32(rtxtavance.Text) > 100)
         {
             rtxtavance.Text = "100";
             vmensaje        = "Ingrese un Avance del Proyecto menor a 100";
         }
         else
         {
             DateTime  dinicial    = rdtpinicio.SelectedDate.Value;
             DateTime  difinal     = rdtpfin.SelectedDate.Value;
             string    fechainicio = dinicial.ToString("dddd dd MMMM, yyyy hh:mm:ss:tt", CultureInfo.CreateSpecificCulture("es-MX"));
             string    fechafin    = difinal.ToString("dddd dd MMMM , yyyy hh:mm:ss:tt", CultureInfo.CreateSpecificCulture("es-MX"));
             string    proyecto    = rtxtproyecto.Text;
             string    descripcion = rtxtdescripcion.Text;
             int       avance      = Convert.ToInt32(rtxtavance.Text);
             proyectos entidad     = new proyectos();
             entidad.id_proyecto      = Convert.ToInt32(txtid_proyecto.Text.Trim());
             entidad.proyecto         = proyecto;
             entidad.fecha_inicio     = dinicial;
             entidad.fecha_fin        = difinal;
             entidad.fecha_inicio_str = fechainicio;
             entidad.fecha_fin_str    = fechafin;
             entidad.usuario_edicion  = Session["usuario"] as string;
             entidad.avance           = Convert.ToByte(avance);
             entidad.duración         = (difinal.Date - dinicial.Date).TotalDays == 1 ?
                                        (difinal.Date - dinicial.Date).TotalHours.ToString() + " horas" : (difinal.Date - dinicial.Date).TotalDays.ToString() + " dias";
             ProyectosCOM proyecto_ = new ProyectosCOM();
             vmensaje = proyecto_.Editar(entidad);
         }
         funciones.ActualizaAvances();
         return(vmensaje);
     }
     catch (Exception ex)
     {
         return(ex.Message);
     }
 }
Пример #19
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);
            }
        }
Пример #20
0
 public void AgregarProyecto()
 {
     try
     {
         int    id_proyect = 0;
         string vmensaje   = "";
         if (rtxtproyecto.Text == "")
         {
             vmensaje = "Ingrese el Nombre del Proyecto";
         }
         else if (rtxtdescripcion.Text == "")
         {
             vmensaje = "Ingrese la Descripción del Proyecto";
         }
         else if (!rdtpinicio.SelectedDate.HasValue)
         {
             vmensaje = "Ingrese la Fecha Inicial del Proyecto";
         }
         else if (!rdtpfin.SelectedDate.HasValue)
         {
             vmensaje = "Ingrese la Fecha Final del Proyecto";
         }
         else if (rtxtavance.Text == "")
         {
             vmensaje = "Ingrese un Avance del Proyecto";
         }
         else if (Convert.ToInt32(rtxtavance.Text) > 100)
         {
             rtxtavance.Text = "100";
             vmensaje        = "Ingrese un Avance del Proyecto menor a 100";
         }
         else
         {
             DateTime  dinicial    = rdtpinicio.SelectedDate.Value;
             DateTime  difinal     = rdtpfin.SelectedDate.Value;
             string    fechainicio = dinicial.ToString("dddd dd MMMM, yyyy hh:mm:ss:tt", CultureInfo.CreateSpecificCulture("es-MX"));
             string    fechafin    = difinal.ToString("dddd dd MMMM , yyyy hh:mm:ss:tt", CultureInfo.CreateSpecificCulture("es-MX"));
             string    proyecto    = rtxtproyecto.Text;
             string    descripcion = rtxtdescripcion.Text;
             int       avance      = Convert.ToInt32(rtxtavance.Text);
             proyectos entidad     = new proyectos();
             entidad.proyecto         = proyecto;
             entidad.descripcion      = descripcion;
             entidad.fecha_inicio     = dinicial;
             entidad.codigo_proyecto  = "1";
             entidad.fecha_fin        = difinal;
             entidad.fecha_inicio_str = fechainicio;
             entidad.fecha_fin_str    = fechafin;
             entidad.usuario          = Session["usuario"] as string;
             entidad.avance           = Convert.ToByte(avance);
             entidad.duración         = (difinal.Date - dinicial.Date).TotalDays == 1 ?
                                        (difinal.Date - dinicial.Date).TotalHours.ToString() + " horas" : (difinal.Date - dinicial.Date).TotalDays.ToString() + " dias";
             ProyectosCOM proyecto_    = new ProyectosCOM();
             string[]     return_array = proyecto_.Agregar(entidad);
             vmensaje   = return_array[0];
             id_proyect = Convert.ToInt32(return_array[1]);
             usuarios entidadus = new usuarios();
             entidadus.id_cliente = null;
             entidadus.id_uperfil = 3;
             entidadus.usuario    = Convert.ToString(Session["usuario"]).Trim();
             entidadus.password   = Convert.ToString(Session["contraseña"]).Trim();
             UsuariosCOM pusuarios = new UsuariosCOM();
             if (vmensaje == "")
             {
                 vmensaje = pusuarios.Agregar(entidadus)[0];
             }
         }
         if (vmensaje == "")
         {
             funciones.ActualizaAvances();
             ProyectosCOM proyecto_actualiza = new ProyectosCOM();
             DataSet      dsss = proyecto_actualiza.actualizar_avances();
             string       url  = "proyecto_general.aspx?id_proyecto=" + funciones.deTextoa64(id_proyect.ToString());
             System.Web.UI.ScriptManager.RegisterStartupScript(this, GetType(), Guid.NewGuid().ToString(),
                                                               "ModalClose();", true);
             System.Web.UI.ScriptManager.RegisterStartupScript(this, GetType(), Guid.NewGuid().ToString(),
                                                               "AlertGO('Proyecto Agregado Correctamente', '" + url + "');", true);
         }
         else
         {
             div_proyecto_manual.Visible = true;
             div_errormodal2.Visible     = true;
             lblerrormodal2.Text         = vmensaje;
             ModalShow("#myModalExcel");
         }
     }
     catch (Exception ex)
     {
         div_errormodal2.Visible = true;
         lblerrormodal2.Text     = ex.Message;
         ModalShow("#myModalExcel");
     }
 }
        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);
            }
        }
Пример #22
0
        /// <summary>
        /// Actualiza el Proyecto mediante archivo de Excel
        /// </summary>
        private void AgregarProyectoExcel(Byte[] archivo, string file_name, string ext, string tamaño, string contentType, bool publico)
        {
            try
            {
                DataTable dt         = ViewState["dt_comidas"] as DataTable;
                int       id_proyect = 0;
                if (dt.Rows.Count > 0)
                {
                    bool   isEnglish = funciones.Format(dt);
                    string vmensaje  = "";
                    foreach (DataRow row in dt.Rows)
                    {
                        int nivel = Convert.ToInt32(row["NIVEL_DE_ESQUEMA"]);
                        if (id_proyect == 0 && nivel >= 2)
                        {
                            break;
                        }
                        switch (nivel)
                        {
                        case 1:
                            proyectos entidad = new proyectos();
                            entidad.codigo_proyecto = row["ID"].ToString().Trim();
                            entidad.proyecto        = row["NOMBRE"].ToString().Trim();
                            entidad.duración        = row["DURACIÓN"].ToString().Trim();

                            entidad.fecha_inicio     = Convert.ToDateTime(funciones.RetunrFirmatDate(row["COMIENZO"].ToString().Trim(), isEnglish));
                            entidad.fecha_inicio_str = Convert.ToDateTime(entidad.fecha_inicio).ToString("dddd dd MMMM, yyyy", CultureInfo.CreateSpecificCulture("es-MX"));
                            entidad.fecha_fin        = Convert.ToDateTime(funciones.RetunrFirmatDate(row["FIN"].ToString().Trim(), isEnglish));
                            entidad.fecha_fin_str    = Convert.ToDateTime(entidad.fecha_fin).ToString("dddd dd MMMM, yyyy", CultureInfo.CreateSpecificCulture("es-MX"));
                            entidad.usuario          = Session["usuario"] as string;
                            entidad.avance           = Convert.ToByte(row["Porcentaje_completado"].ToString().Replace("%", "").Trim() == "" ? "0" : row["Porcentaje_completado"].ToString().Replace("%", "").Trim());
                            ProyectosCOM proyectos    = new ProyectosCOM();
                            string[]     return_array = proyectos.Agregar(entidad);
                            vmensaje = return_array[0];
                            if (vmensaje != "")
                            {
                                div_errormodal2.Visible = true;
                                lblerrormodal2.Text     = "Error al subir el proyecto." + vmensaje.ToString();
                                ModalShow("#myModalExcel");
                                break;
                            }
                            else
                            {
                                id_proyect = Convert.ToInt32(return_array[1]);
                                usuarios entidadus = new usuarios();
                                entidadus.id_cliente = null;
                                entidadus.id_uperfil = 3;
                                entidadus.usuario    = Convert.ToString(Session["usuario"]).Trim().ToUpper();
                                entidadus.password   = Convert.ToString(Session["contraseña"]).Trim().ToUpper();
                                UsuariosCOM pusuarios = new UsuariosCOM();
                                if (pusuarios.Agregar(entidadus)[0] != "")
                                {
                                    div_errormodal2.Visible = true;
                                    lblerrormodal2.Text     = "Error al subir el proyecto. Hubo un error al anexar al usuario. Verifique esta situación con su administrador.";
                                    ModalShow("#myModalExcel");
                                    break;
                                }
                            }
                            break;

                        case 2:
                        default:
                            proyectos_tareas entidad2 = new proyectos_tareas();
                            entidad2.id_proyecto              = id_proyect;
                            entidad2.codigo_tarea             = row["ID"].ToString().Trim();
                            entidad2.tarea                    = row["NOMBRE"].ToString().Trim();
                            entidad2.duración                 = row["DURACIÓN"].ToString().Trim();
                            entidad2.fecha_inicio             = Convert.ToDateTime(funciones.RetunrFirmatDate(row["COMIENZO"].ToString().Trim(), isEnglish));
                            entidad2.fecha_inicio_str         = Convert.ToDateTime(entidad2.fecha_inicio).ToString("dddd dd MMMM, yyyy", CultureInfo.CreateSpecificCulture("es-MX"));
                            entidad2.fecha_fin                = Convert.ToDateTime(funciones.RetunrFirmatDate(row["FIN"].ToString().Trim(), isEnglish));
                            entidad2.fecha_fin_str            = Convert.ToDateTime(entidad2.fecha_fin).ToString("dddd dd MMMM, yyyy", CultureInfo.CreateSpecificCulture("es-MX"));
                            entidad2.usuario                  = Session["usuario"] as string;
                            entidad2.avance                   = Convert.ToByte(row["Porcentaje_completado"].ToString().Replace("%", "").Trim() == "" ? "0" : row["Porcentaje_completado"].ToString().Replace("%", "").Trim());
                            entidad2.recursos                 = row["Nombres_de_los_recursos"].ToString().Trim();;
                            entidad2.actividades_predecesoras = row["Predecesoras"].ToString().Trim();
                            entidad2.nivel_esquema            = Convert.ToByte(row["Nivel_de_esquema"].ToString().Replace("%", "").Trim() == "" ? "0" : row["Nivel_de_esquema"].ToString().Replace("%", "").Trim());
                            TareasCOM tareas        = new TareasCOM();
                            string[]  return_array2 = tareas.Agregar(entidad2);
                            vmensaje = return_array2[0];
                            if (vmensaje != "")
                            {
                                div_errormodal2.Visible = true;
                                lblerrormodal2.Text     = "ERROR EN LA TAREA CON ID " + row["ID"].ToString().Trim() + " " + vmensaje.ToString();
                                ModalShow("#myModalExcel");
                                break;
                            }
                            break;
                        }
                    }
                    if (vmensaje == "")
                    {
                        TareasCOM componente = new TareasCOM();
                        DataSet   ds         = componente.sp_genera_tareas_padres(id_proyect);
                        vmensaje = ds.Tables[0].Rows[0]["mensaje"].ToString();
                        if (vmensaje == "")
                        {
                            funciones.ActualizaAvances();

                            AgregarDocumento(id_proyect, archivo, file_name, ext, tamaño, contentType, true);
                            ProyectosCOM proyecto_actualiza = new ProyectosCOM();
                            DataSet      dsss = proyecto_actualiza.actualizar_avances();
                            string       url  = "proyecto_general.aspx?id_proyecto=" + funciones.deTextoa64(id_proyect.ToString());
                            System.Web.UI.ScriptManager.RegisterStartupScript(this, GetType(), Guid.NewGuid().ToString(),
                                                                              "ModalClose();", true);
                            System.Web.UI.ScriptManager.RegisterStartupScript(this, GetType(), Guid.NewGuid().ToString(),
                                                                              "AlertGO('Proyecto Subido Correctamente', '" + url + "');", true);
                        }
                        else
                        {
                            div_errormodal2.Visible = true;
                            lblerrormodal2.Text     = "ERROR CON LA RELACION DE TAREAS";
                            ModalShow("#myModalExcel");
                        }
                    }
                    else
                    {
                        div_errormodal2.Visible = true;
                        lblerrormodal2.Text     = vmensaje;
                        ModalShow("#myModalExcel");
                    }
                }
            }
            catch (Exception ex)
            {
                div_errormodal2.Visible = true;
                lblerrormodal2.Text     = ex.Message;
                ModalShow("#myModalExcel");
            }
        }