/// <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); } }
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()); } }
/// <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); } }
/// <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()); } }
/// <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()); } }
/// <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()); } }