/// <summary>
        /// Agrega una instancia de proyectos_evaluaciones
        /// </summary>
        /// <param name="entidad"></param>
        /// <returns></returns>
        public int Agregar(proyectos_evaluaciones entidad)
        {
            try
            {
                int id_proyecto_evaluacion_anterior = get_id_proyecto_evaluacion(entidad.id_proyecto);
                proyectos_evaluaciones evaluacion   = new proyectos_evaluaciones
                {
                    id_proyecto      = entidad.id_proyecto,
                    fecha_evaluacion = entidad.fecha_evaluacion,
                    usuario          = entidad.usuario,
                    fecha            = DateTime.Now,
                    riesgo_costo     = 0,
                    riesgo_tiempo    = 0,

                    p_riesgo_costo  = 0,
                    p_riesgo_tiempo = 0
                };
                Proyectos_ConnextEntities context = new Proyectos_ConnextEntities();
                context.proyectos_evaluaciones.Add(evaluacion);
                context.SaveChanges();

                if (id_proyecto_evaluacion_anterior > 0)
                {
                    proyectos_evaluaciones pevaluacion = context.proyectos_evaluaciones
                                                         .First(i => i.id_proyecto_evaluacion == id_proyecto_evaluacion_anterior);
                    List <riesgos> riesgos = pevaluacion.riesgos.ToList();
                    foreach (riesgos riesgo in riesgos)
                    {
                        if (riesgo.id_riesgos_estatus == 1 && riesgo.usuario_borrado == null)
                        {
                            riesgos new_riesgo = new riesgos
                            {
                                id_proyecto_evaluacion = evaluacion.id_proyecto_evaluacion,
                                riesgo             = riesgo.riesgo,
                                usuario            = entidad.usuario,
                                fecha_registro     = DateTime.Now,
                                id_riesgos_estatus = 1,
                                valor                  = riesgo.valor,
                                estrategia             = riesgo.estrategia,
                                id_riesgo_probabilidad = riesgo.id_riesgo_probabilidad,
                                id_riesgo_impacto      = riesgo.id_riesgo_impacto,
                                id_riesgo_estrategia   = riesgo.id_riesgo_estrategia,
                                usuario_resp           = riesgo.usuario_resp
                            };
                            context.riesgos.Add(new_riesgo);
                            context.SaveChanges();
                        }
                    }
                }
                return(evaluacion.id_proyecto_evaluacion);
            }
            catch (DbEntityValidationException ex)
            {
                var errorMessages = ex.EntityValidationErrors
                                    .SelectMany(x => x.ValidationErrors)
                                    .Select(x => x.ErrorMessage);
                var fullErrorMessage = string.Join("; ", errorMessages);
                return(0);
            }
        }
Exemple #2
0
        public string EditarImpacto(int id_riesgo, int id_impacto, string usuario)
        {
            try
            {
                Proyectos_ConnextEntities context = new Proyectos_ConnextEntities();
                riesgos riesgo = context.riesgos
                                 .First(i => i.id_riesgo == id_riesgo);
                int id_probabilidad = Convert.ToInt32(riesgo.id_riesgo_probabilidad);
                if (id_impacto > 0 && id_probabilidad > 0)
                {
                    RiesgosProbabilidadCOM  probabilidades = new RiesgosProbabilidadCOM();
                    riesgos_probabilidad    probabilidad   = probabilidades.impacto(id_probabilidad);
                    RiesgosImpactoCostosCOM impactos       = new RiesgosImpactoCostosCOM();
                    riesgos_impactos        impacto        = impactos.impacto(id_impacto);
                    int valor = impacto.valor * probabilidad.valor;
                    RiesgosEstrategiaCOM estrategias = new RiesgosEstrategiaCOM();
                    DataTable            dt          = estrategias.SelectAll();
                    foreach (DataRow estrategia in dt.Rows)
                    {
                        int value_min = Convert.ToInt16(estrategia["valor_min"]);
                        int value_max = Convert.ToInt16(estrategia["valor_max"]);
                        if (valor >= value_min && valor <= value_max)
                        {
                            riesgo.usuario_edicion      = usuario;
                            riesgo.fecha_edicion        = DateTime.Now;
                            riesgo.valor                = Convert.ToByte(valor);
                            riesgo.id_riesgo_estrategia = Convert.ToInt32(estrategia["id_riesgo_estrategia"]);
                            riesgo.id_riesgo_impacto    = id_impacto;
                            break;
                        }
                    }
                }


                context.SaveChanges();
                return("");
            }
            catch (DbEntityValidationException ex)
            {
                var errorMessages = ex.EntityValidationErrors
                                    .SelectMany(x => x.ValidationErrors)
                                    .Select(x => x.ErrorMessage);
                var fullErrorMessage = string.Join("; ", errorMessages);
                return(fullErrorMessage.ToString());
            }
        }
Exemple #3
0
 /// <summary>
 /// Devuelve una instancia de la clase riesgos
 /// </summary>
 /// <param name="id_proyecto_perido"></param>
 /// <returns></returns>
 public riesgos getriesgo(string riesgostr)
 {
     try
     {
         Proyectos_ConnextEntities db = new Proyectos_ConnextEntities();
         riesgos riesgo = db.riesgos
                          .First(i => i.riesgo.Trim().ToUpper() == riesgostr.ToUpper().Trim());
         return(riesgo);
     }
     catch (DbEntityValidationException ex)
     {
         var errorMessages = ex.EntityValidationErrors
                             .SelectMany(x => x.ValidationErrors)
                             .Select(x => x.ErrorMessage);
         var fullErrorMessage = string.Join("; ", errorMessages);
         return(null);
     }
 }
Exemple #4
0
        /// <summary>
        /// Elimina una instancia de riesgos
        /// </summary>
        /// <param name="entidad"></param>
        /// <returns></returns>
        public string Eliminar(riesgos entidad)
        {
            try
            {
                Proyectos_ConnextEntities context = new Proyectos_ConnextEntities();
                riesgos riesgo = context.riesgos
                                 .First(i => i.id_riesgo == entidad.id_riesgo);
                riesgo.usuario_borrado     = entidad.usuario_borrado;
                riesgo.fecha_borrado       = DateTime.Now;
                riesgo.comentarios_borrado = "Borrado por usuario:" + entidad.usuario_borrado;

                context.SaveChanges();
                return("");
            }
            catch (DbEntityValidationException ex)
            {
                var errorMessages = ex.EntityValidationErrors
                                    .SelectMany(x => x.ValidationErrors)
                                    .Select(x => x.ErrorMessage);
                var fullErrorMessage = string.Join("; ", errorMessages);
                return(fullErrorMessage.ToString());
            }
        }
Exemple #5
0
        /// <summary>
        /// Agrega una instancia de riesgos
        /// </summary>
        /// <param name="entidad"></param>
        /// <returns></returns>
        public string Agregar(riesgos entidad, List <actividades> lst_actividades,
                              List <documentos> lstdocumentos, string nombre_proyecto, string nombre_session)
        {
            try
            {
                string  mess   = "";
                riesgos riesgo = new riesgos
                {
                    id_proyecto_evaluacion = entidad.id_proyecto_evaluacion,
                    riesgo                 = entidad.riesgo,
                    id_riesgos_estatus     = entidad.id_riesgos_estatus,
                    id_riesgo_probabilidad = entidad.id_riesgo_probabilidad,
                    id_riesgo_impacto      = entidad.id_riesgo_impacto,
                    id_riesgo_estrategia   = entidad.id_riesgo_estrategia,
                    estrategia             = entidad.estrategia,
                    valor          = entidad.valor,
                    usuario_resp   = entidad.usuario_resp,
                    usuario        = entidad.usuario,
                    fecha_registro = DateTime.Now
                };
                Proyectos_ConnextEntities context = new Proyectos_ConnextEntities();
                context.riesgos.Add(riesgo);
                context.SaveChanges();
                int id_riesgo = riesgo.id_riesgo;
                foreach (actividades actividad in lst_actividades)
                {
                    actividad.id_riesgo = id_riesgo;
                }
                foreach (actividades entidad2 in lst_actividades)
                {
                    actividades actividad = new actividades
                    {
                        id_actividad_tipo = entidad2.id_actividad_tipo,
                        id_proyecto       = entidad2.id_proyecto,
                        id_riesgo         = entidad2.id_riesgo,
                        nombre            = entidad2.nombre,
                        usuario_resp      = entidad2.usuario_resp,
                        fecha_ejecucion   = entidad2.fecha_ejecucion,
                        fecha_asignacion  = entidad2.fecha_asignacion,
                        usuario           = entidad2.usuario,
                        empleado_resp     = entidad2.empleado_resp,
                        fecha_registro    = DateTime.Now,
                        recomendada       = entidad2.recomendada,
                        resultado         = "",
                        terminada         = false
                    };
                    context.actividades.Add(actividad);
                    context.SaveChanges();
                    int id_actividad = actividad.id_actividad;
                    //ENVIAMOS NOTIFICACION
                    string       usuario_resp = actividad.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 - Actividad relacionada";
                        string  mail    = "<div>" + saludo + " <strong>" +
                                          System.Threading.Thread.CurrentThread.CurrentCulture.TextInfo.ToTitleCase(usuario["empleado"].ToString().ToLower())
                                          + "</strong> <div>" +
                                          "<br>" +
                                          "<p>Le fue asignada una actividad, dentro de una evaluación en el proyecto <strong>" + nombre_proyecto + "</strong>" +
                                          "</p>" +
                                          "<p>A continuación, se muestra la información completa:</p>" +
                                          "<p><strong>Riesgo</strong><br/> " +
                                          riesgo.riesgo + "</p> " +
                                          "<p><strong>Actividad/Acción</strong><br/> " +
                                          actividad.nombre + "</p> " +
                                          "<br/><p>Este movimiento fue realizado por <strong>" +
                                          System.Threading.Thread.CurrentThread.CurrentCulture.TextInfo.ToTitleCase(nombre_session.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);
                    }
                    foreach (documentos documento in lstdocumentos)
                    {
                        if (documento.id_actividad == entidad2.id_actividad)
                        {
                            documento.fecha             = DateTime.Now;
                            documento.id_documento_tipo = 1;
                            documento.usuario_edicion   = null;
                            documento.id_actividad      = id_actividad;
                            context.documentos.Add(documento);
                        }
                    }
                }

                context.SaveChanges();
                return(mess);
            }
            catch (DbEntityValidationException ex)
            {
                var errorMessages = ex.EntityValidationErrors
                                    .SelectMany(x => x.ValidationErrors)
                                    .Select(x => x.ErrorMessage);
                var fullErrorMessage = string.Join("; ", errorMessages);
                return(fullErrorMessage.ToString());
            }
        }
Exemple #6
0
        /// <summary>
        /// Edita una instancia de riesgos
        /// </summary>
        /// <param name="entidad"></param>
        /// <returns></returns>
        public string Editar(riesgos entidad, List <actividades> lst_actividades, List <documentos> lstdocumentos)
        {
            try
            {
                Proyectos_ConnextEntities context = new Proyectos_ConnextEntities();
                riesgos riesgo = context.riesgos
                                 .First(i => i.id_riesgo == entidad.id_riesgo);
                riesgo.id_proyecto_evaluacion = entidad.id_proyecto_evaluacion;
                riesgo.riesgo                 = entidad.riesgo;
                riesgo.id_riesgos_estatus     = entidad.id_riesgos_estatus;
                riesgo.id_riesgo_probabilidad = entidad.id_riesgo_probabilidad;
                riesgo.id_riesgo_impacto      = entidad.id_riesgo_impacto;
                riesgo.id_riesgo_estrategia   = entidad.id_riesgo_estrategia;
                riesgo.estrategia             = entidad.estrategia;
                riesgo.usuario_resp           = entidad.usuario_resp;
                riesgo.valor           = entidad.valor;
                riesgo.usuario_edicion = entidad.usuario_edicion;
                riesgo.fecha_edicion   = DateTime.Now;

                //borramos todas las actividades y documentos
                ICollection <actividades> actividades_por_borrar = riesgo.actividades;
                foreach (actividades actividad in actividades_por_borrar)
                {
                    actividad.usuario_borrado     = entidad.usuario_edicion;
                    actividad.fecha_borrado       = DateTime.Now;
                    actividad.comentarios_borrado = "Borrado por actualizacion";

                    ICollection <documentos> documentos_por_borrar = actividad.documentos;
                    foreach (documentos documento in documentos_por_borrar)
                    {
                        documento.usuario_borrado     = entidad.usuario_edicion;
                        documento.fecha_borrado       = DateTime.Now;
                        documento.comentarios_borrado = "Borrado por actualizacion";
                    }
                }


                //actualizamos lo que venga en la lista
                foreach (actividades entidad2 in lst_actividades)
                {
                    ActividadesCOM actividades = new ActividadesCOM();
                    //si existe actualizamos, si no existe agregamos
                    if (actividades.Exist(entidad2.id_actividad, Convert.ToInt32(entidad2.id_riesgo)))
                    {
                        actividades actividad = context.actividades
                                                .First(i => i.id_actividad == entidad2.id_actividad);
                        actividad.id_proyecto         = entidad2.id_proyecto;
                        actividad.id_riesgo           = entidad2.id_riesgo;
                        actividad.recomendada         = entidad2.recomendada;
                        actividad.id_actividad_tipo   = entidad2.id_actividad_tipo;
                        actividad.resultado           = entidad2.resultado;
                        actividad.nombre              = entidad2.nombre;
                        actividad.usuario_resp        = entidad2.usuario_resp;
                        actividad.fecha_ejecucion     = entidad2.fecha_ejecucion;
                        actividad.fecha_asignacion    = entidad2.fecha_asignacion;
                        actividad.usuario             = entidad2.usuario;
                        actividad.empleado_resp       = entidad2.empleado_resp;
                        actividad.fecha_registro      = DateTime.Now;
                        actividad.usuario_borrado     = null;
                        actividad.fecha_borrado       = null;
                        actividad.comentarios_borrado = null;
                        actividad.fecha_edicion       = DateTime.Now;
                        actividad.usuario_edicion     = entidad.usuario_edicion;
                        foreach (documentos entidad3 in lstdocumentos)
                        {
                            if (entidad3.id_actividad == entidad2.id_actividad)
                            {
                                documentos documento = context.documentos
                                                       .First(i => i.id_documento == entidad3.id_documento);
                                documento.fecha               = DateTime.Now;
                                documento.usuario_edicion     = null;
                                documento.fecha_borrado       = null;
                                documento.usuario_borrado     = null;
                                documento.comentarios_borrado = null;
                                documento.path            = entidad3.path;
                                documento.nombre          = entidad3.nombre;
                                documento.contentType     = entidad3.contentType;
                                documento.tamaño          = entidad3.tamaño;
                                documento.publico         = entidad3.publico;
                                documento.extension       = entidad3.extension;
                                documento.fecha_edicion   = DateTime.Now;
                                documento.usuario_edicion = entidad.usuario_edicion;
                            }
                        }
                    }
                    else
                    {
                        actividades actividad = new actividades
                        {
                            id_proyecto       = entidad2.id_proyecto,
                            id_riesgo         = entidad2.id_riesgo,
                            nombre            = entidad2.nombre,
                            id_actividad_tipo = entidad2.id_actividad_tipo,
                            usuario_resp      = entidad2.usuario_resp,
                            fecha_ejecucion   = entidad2.fecha_ejecucion,
                            fecha_asignacion  = entidad2.fecha_asignacion,
                            usuario           = entidad2.usuario,
                            empleado_resp     = entidad2.empleado_resp,
                            fecha_registro    = DateTime.Now,
                            recomendada       = entidad2.recomendada,
                            resultado         = "",
                            terminada         = false
                        };
                        context.actividades.Add(actividad);
                        context.SaveChanges();
                        int id_actividad = actividad.id_actividad;
                        foreach (documentos documento in lstdocumentos)
                        {
                            if (documento.id_actividad == entidad2.id_actividad)
                            {
                                documento.id_documento_tipo = 1;
                                documento.fecha             = DateTime.Now;
                                documento.usuario_edicion   = null;
                                documento.id_actividad      = id_actividad;
                                context.documentos.Add(documento);
                            }
                        }
                    }
                }


                context.SaveChanges();
                return("");
            }
            catch (DbEntityValidationException ex)
            {
                var errorMessages = ex.EntityValidationErrors
                                    .SelectMany(x => x.ValidationErrors)
                                    .Select(x => x.ErrorMessage);
                var fullErrorMessage = string.Join("; ", errorMessages);
                return(fullErrorMessage.ToString());
            }
        }