public Boolean BorrarAllParticipantes(proyectos_minutas_participantes entidad) { try { DataTable dt_tareas = GetAllParticipante(entidad.id_minuta); foreach (DataRow participante in dt_tareas.Rows) { entidad.id_minuta = Convert.ToInt32(participante["id_minuta"]); entidad.id_minparticipante = Convert.ToInt32(participante["id_minparticipante"]); entidad.comentarios_borrado = "borrado por actualizacion"; BorrarParticipante(entidad); } return(true); } catch (DbEntityValidationException ex) { // Retrieve the error messages as a list of strings. var errorMessages = ex.EntityValidationErrors .SelectMany(x => x.ValidationErrors) .Select(x => x.ErrorMessage); // Join the list to a single string. var fullErrorMessage = string.Join("; ", errorMessages); return(false); } }
/// <summary> /// Borra un participante /// </summary> /// <param name="entidad"></param> /// <returns></returns> public string BorrarParticipante(proyectos_minutas_participantes entidad) { try { Model context = new Model(); proyectos_minutas_participantes participantes = context.proyectos_minutas_participantes .First(i => i.id_minparticipante == entidad.id_minparticipante); participantes.fecha_borrado = DateTime.Now; participantes.usuario_borrado = entidad.usuario_borrado; participantes.comentarios_borrado = entidad.comentarios_borrado; context.SaveChanges(); return(""); } catch (DbEntityValidationException ex) { // Retrieve the error messages as a list of strings. var errorMessages = ex.EntityValidationErrors .SelectMany(x => x.ValidationErrors) .Select(x => x.ErrorMessage); // Join the list to a single string. var fullErrorMessage = string.Join("; ", errorMessages); return(fullErrorMessage.ToString()); } }
/// <summary> /// Agrega un participante /// </summary> /// <param name="entidad"></param> /// <returns></returns> public string AgregarParticipante(proyectos_minutas_participantes entidad) { try { proyectos_minutas_participantes participante = new proyectos_minutas_participantes { id_minuta = entidad.id_minuta, id_pinvolucrado = entidad.id_pinvolucrado, nombre = entidad.nombre, organización = entidad.organización, rol = entidad.rol, fecha_registro = DateTime.Now, usuario = entidad.usuario }; Model context = new Model(); context.proyectos_minutas_participantes.Add(participante); context.SaveChanges(); int id_entity = participante.id_minparticipante; return(""); } catch (DbEntityValidationException ex) { // Retrieve the error messages as a list of strings. var errorMessages = ex.EntityValidationErrors .SelectMany(x => x.ValidationErrors) .Select(x => x.ErrorMessage); // Join the list to a single string. var fullErrorMessage = string.Join("; ", errorMessages); return(fullErrorMessage.ToString()); } }
public bool ExisParticipante(proyectos_minutas_participantes entidad) { try { bool exist = false; Model context = new Model(); var query = context.proyectos_minutas_participantes .Where(s => s.id_minuta == entidad.id_minuta) .Select(u => new { u.id_minuta, u.id_pinvolucrado, u.id_minparticipante, u.nombre, u.organización, u.rol, u.fecha_registro, u.usuario, u.usuario_edicion, u.fecha_edicion, u.usuario_borrado, u.comentarios_borrado, u.fecha_borrado }); DataTable dt_participantes = To.DataTable(query.ToList()); DataRow[] row = dt_participantes. Select("nombre = '" + entidad.nombre.Trim() + "' and organización = '" + entidad.organización.Trim() + "' and rol ='" + entidad.rol.Trim() + "'"); if (row.CopyToDataTable().Rows.Count > 0) { int id_minparticipante = Convert.ToInt32(row[0]["id_minparticipante"]); proyectos_minutas_participantes participantes = context.proyectos_minutas_participantes .First(i => i.id_minparticipante == id_minparticipante); participantes.fecha_borrado = null; participantes.usuario_borrado = null; participantes.comentarios_borrado = null; context.SaveChanges(); exist = true; } return(exist); } catch (Exception ex) { return(false); } }
/// <summary> /// Agrega una nueva Minuta /// </summary> /// <param name="entidad"></param> /// <returns></returns> public string[] Agregar(proyectos_minutas entidad, DataTable dt_participantes, DataTable dt_pendientes) { string[] return_array = new string[2]; try { proyectos_minutas minuta = new proyectos_minutas { id_proyecto = entidad.id_proyecto, asunto = entidad.asunto, fecha = entidad.fecha, resultados = entidad.resultados, acuerdos = entidad.acuerdos, propósito = entidad.propósito, lugar = entidad.lugar, fecha_registro = DateTime.Now, usuario = entidad.usuario, estatus = "BORRADOR" }; Model context = new Model(); context.proyectos_minutas.Add(minuta); context.SaveChanges(); int id_entity = minuta.id_minuta; return_array[0] = ""; return_array[1] = id_entity.ToString(); int id_miniuta = Convert.ToInt32(return_array[1]); if (dt_participantes.Rows.Count > 0) { proyectos_minutas_participantes entidad_p = new proyectos_minutas_participantes(); entidad_p.id_minuta = id_miniuta; entidad_p.usuario = entidad.usuario; entidad_p.usuario_borrado = entidad.usuario_edicion; BorrarAllParticipantes(entidad_p); foreach (DataRow row in dt_participantes.Rows) { if (Convert.ToInt32(row["id_pinvolucrado"]) > 0) { entidad_p.id_pinvolucrado = Convert.ToInt32(row["id_pinvolucrado"]); } else { entidad_p.id_pinvolucrado = null; } entidad_p.nombre = row["nombre"].ToString(); entidad_p.rol = row["rol"].ToString(); entidad_p.organización = row["organizacion"].ToString(); return_array[0] = ExisParticipante(entidad_p) ? "" : AgregarParticipante(entidad_p); if (return_array[0] != "") { break; } } } if (dt_pendientes.Rows.Count > 0) { proyectos_minutas_pendientes entidad_pend = new proyectos_minutas_pendientes(); entidad_pend.id_minuta = id_miniuta; entidad_pend.usuario = entidad.usuario; entidad_pend.usuario_borrado = entidad.usuario_edicion; BorrarAllPendientes(entidad_pend); foreach (DataRow row in dt_pendientes.Rows) { if (Convert.ToInt32(row["id_pinvolucrado"]) > 0) { entidad_pend.id_pinvolucrado = Convert.ToInt32(row["id_pinvolucrado"]); } else { entidad_pend.id_pinvolucrado = null; } entidad_pend.descripcion = row["descripcion"].ToString(); entidad_pend.responsable = row["responsable"].ToString(); entidad_pend.avance = Convert.ToByte(row["avance"]); entidad_pend.fecha_planeada = Convert.ToDateTime(row["fecha"]); return_array[0] = ExistPendiente(entidad_pend) ? "" : AgregarPendiente(entidad_pend); if (return_array[0] != "") { break; } } } return(return_array); } catch (DbEntityValidationException ex) { // Retrieve the error messages as a list of strings. var errorMessages = ex.EntityValidationErrors .SelectMany(x => x.ValidationErrors) .Select(x => x.ErrorMessage); // Join the list to a single string. var fullErrorMessage = string.Join("; ", errorMessages); return_array[0] = fullErrorMessage.ToString(); return_array[1] = 0.ToString(); return(return_array); } }
/// <summary> /// Edita una minuta /// </summary> /// <param name="entidad"></param> /// <returns></returns> public string Editar(proyectos_minutas entidad, DataTable dt_participantes, DataTable dt_pendientes) { try { string vmensaje = ""; Model context = new Model(); proyectos_minutas minuta = context.proyectos_minutas .First(i => i.id_minuta == entidad.id_minuta); minuta.asunto = entidad.asunto; minuta.fecha = entidad.fecha; minuta.lugar = entidad.lugar; minuta.propósito = entidad.propósito; minuta.acuerdos = entidad.acuerdos; minuta.resultados = entidad.resultados; minuta.estatus = entidad.estatus; minuta.fecha_edicion = DateTime.Now; minuta.usuario_edicion = entidad.usuario_edicion; minuta.usuario_borrado = null; minuta.fecha_borrado = null; minuta.comentarios_borrado = null; context.SaveChanges(); int id_entity = minuta.id_minuta; proyectos_minutas_participantes entidad_p = new proyectos_minutas_participantes(); entidad_p.id_minuta = id_entity; entidad_p.usuario = entidad.usuario_edicion; entidad_p.usuario_borrado = entidad.usuario_edicion; BorrarAllParticipantes(entidad_p); foreach (DataRow row in dt_participantes.Rows) { if (Convert.ToInt32(row["id_pinvolucrado"]) > 0) { entidad_p.id_pinvolucrado = Convert.ToInt32(row["id_pinvolucrado"]); } else { entidad_p.id_pinvolucrado = null; } entidad_p.nombre = row["nombre"].ToString(); entidad_p.rol = row["rol"].ToString(); entidad_p.organización = row["organizacion"].ToString(); vmensaje = ExisParticipante(entidad_p) ? "" : AgregarParticipante(entidad_p); if (vmensaje != "") { break; } } proyectos_minutas_pendientes entidad_pend = new proyectos_minutas_pendientes(); entidad_pend.id_minuta = id_entity; entidad_pend.usuario = entidad.usuario_edicion; entidad_pend.usuario_borrado = entidad.usuario_edicion; BorrarAllPendientes(entidad_pend); foreach (DataRow row in dt_pendientes.Rows) { if (Convert.ToInt32(row["id_pinvolucrado"]) > 0) { entidad_pend.id_pinvolucrado = Convert.ToInt32(row["id_pinvolucrado"]); } else { entidad_pend.id_pinvolucrado = null; } entidad_pend.descripcion = row["descripcion"].ToString(); entidad_pend.responsable = row["responsable"].ToString(); entidad_pend.fecha_planeada = Convert.ToDateTime(row["fecha"]); entidad_pend.avance = Convert.ToByte(row["avance"]); vmensaje = ExistPendiente(entidad_pend) ? "" : AgregarPendiente(entidad_pend); if (vmensaje != "") { break; } } return(vmensaje); } catch (DbEntityValidationException ex) { // Retrieve the error messages as a list of strings. var errorMessages = ex.EntityValidationErrors .SelectMany(x => x.ValidationErrors) .Select(x => x.ErrorMessage); // Join the list to a single string. var fullErrorMessage = string.Join("; ", errorMessages); return(fullErrorMessage.ToString()); } }
public string Editar(proyectos_minutas entidad, List <proyectos_minutas_participantes> participantes, List <proyectos_minutas_pendientes> pendientes) { try { Proyectos_ConnextEntities context = new Proyectos_ConnextEntities(); proyectos_minutas minuta = context.proyectos_minutas .First(i => i.id_proyectomin == entidad.id_proyectomin); minuta.usuario_edicion = entidad.usuario_edicion; minuta.fecha_edicion = DateTime.Now; minuta.asunto = entidad.asunto; minuta.fecha = entidad.fecha; minuta.propósito = entidad.propósito; minuta.resultados = entidad.resultados; minuta.acuerdos = entidad.acuerdos; minuta.lugar = entidad.lugar; minuta.enviada = entidad.enviada; List <proyectos_minutas_participantes> participantes_historial = minuta.proyectos_minutas_participantes.ToList(); List <proyectos_minutas_pendientes> pendientes_historial = minuta.proyectos_minutas_pendientes.ToList(); foreach (proyectos_minutas_participantes participante in participantes_historial) { participante.usuario_borrado = entidad.usuario_edicion; participante.comentarios_borrado = "Borrado por actualización"; participante.fecha_borrado = DateTime.Now; } foreach (proyectos_minutas_pendientes pendiente in pendientes_historial) { pendiente.usuario_borrado = entidad.usuario_edicion; pendiente.comentarios_borrado = "Borrado por actualización"; pendiente.fecha_borrado = DateTime.Now; } foreach (proyectos_minutas_participantes participante in participantes) { var query = context.proyectos_minutas_participantes .Where(i => i.id_proyectominpart == participante.id_proyectominpart && i.id_proyectomin == participante.id_proyectomin); DataTable dt = To.DataTable(query.ToList()); //si es null agregamos, si no es null editamos if (dt.Rows.Count == 0) { participante.fecha_registro = DateTime.Now; context.proyectos_minutas_participantes.Add(participante); } else { proyectos_minutas_participantes vparticipante = context.proyectos_minutas_participantes .First(i => i.id_proyectominpart == participante.id_proyectominpart && i.id_proyectomin == participante.id_proyectomin); vparticipante.usuario_borrado = null; vparticipante.fecha_borrado = null; vparticipante.comentarios_borrado = null; vparticipante.nombre = participante.nombre; vparticipante.usuario = participante.usuario; vparticipante.rol = participante.rol; vparticipante.organización = participante.organización; vparticipante.fecha_edicion = DateTime.Now; vparticipante.usuario_edicion = entidad.usuario_edicion; } } foreach (proyectos_minutas_pendientes pendiente in pendientes) { var query = context.proyectos_minutas_pendientes .Where(i => i.id_proyectominpen == pendiente.id_proyectominpen && i.id_proyectomin == pendiente.id_proyectomin); DataTable dt = To.DataTable(query.ToList()); //si es null agregamos, si no es null editamos if (dt.Rows.Count == 0) { pendiente.fecha_registro = DateTime.Now; context.proyectos_minutas_pendientes.Add(pendiente); } else { proyectos_minutas_pendientes vpendiente = context.proyectos_minutas_pendientes .First(i => i.id_proyectominpen == pendiente.id_proyectominpen && i.id_proyectomin == pendiente.id_proyectomin); vpendiente.usuario_borrado = null; vpendiente.fecha_borrado = null; vpendiente.comentarios_borrado = null; vpendiente.nombre = pendiente.nombre; vpendiente.usuario_resp = pendiente.usuario_resp; vpendiente.avance = pendiente.avance; vpendiente.fecha_planeada = pendiente.fecha_planeada; vpendiente.descripcion = pendiente.descripcion; vpendiente.fecha_edicion = DateTime.Now; vpendiente.usuario_edicion = entidad.usuario_edicion; } } 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()); } }