/// <summary> /// Borra una minuta /// </summary> /// <param name="entidad"></param> /// <returns></returns> public string Borrar(proyectos_minutas entidad) { try { Model context = new Model(); proyectos_minutas minuta = context.proyectos_minutas .First(i => i.id_minuta == entidad.id_minuta); minuta.fecha_borrado = DateTime.Now; minuta.usuario_borrado = entidad.usuario_borrado; minuta.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()); } }
public string Agregar(proyectos_minutas entidad, List <proyectos_minutas_participantes> participantes, List <proyectos_minutas_pendientes> pendientes) { try { Proyectos_ConnextEntities context = new Proyectos_ConnextEntities(); string mess = ""; proyectos_minutas minuta = new proyectos_minutas { id_proyecto = entidad.id_proyecto , usuario = entidad.usuario , asunto = entidad.asunto , fecha = entidad.fecha , propósito = entidad.propósito , resultados = entidad.resultados , acuerdos = entidad.acuerdos , lugar = entidad.lugar , enviada = entidad.enviada , fecha_registro = DateTime.Now }; context.proyectos_minutas.Add(minuta); decimal id_minuta = minuta.id_proyectomin; foreach (proyectos_minutas_participantes participante in participantes) { participante.id_proyectomin = id_minuta; context.proyectos_minutas_participantes.Add(participante); } foreach (proyectos_minutas_pendientes pendiente in pendientes) { pendiente.id_proyectomin = id_minuta; context.proyectos_minutas_pendientes.Add(pendiente); } 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()); } }
public string Eliminar(int id_proyectomin, string usuario, string comentarios) { try { Proyectos_ConnextEntities context = new Proyectos_ConnextEntities(); proyectos_minutas minuta = context.proyectos_minutas .First(i => i.id_proyectomin == id_proyectomin); minuta.usuario_borrado = usuario; minuta.fecha_borrado = DateTime.Now; minuta.comentarios_borrado = comentarios; 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 un DatatTable con las minutas filtradas por id_minuta /// </summary> /// <param name="id_proyect"></param> /// <returns></returns> public DataTable Get(proyectos_minutas entidad) { DataTable dt = new DataTable(); try { Model context = new Model(); var query = context.proyectos_minutas .Where(s => s.id_minuta == entidad.id_minuta && s.usuario_borrado == null) .Select(u => new { u.id_minuta, u.id_proyecto, u.asunto, u.fecha, u.propósito, u.resultados, u.acuerdos, u.lugar, u.fecha_registro, u.usuario, u.usuario_edicion, u.fecha_edicion, u.usuario_borrado, u.estatus, u.comentarios_borrado, u.fecha_borrado }); dt = To.DataTable(query.ToList()); return(dt); } catch (Exception ex) { return(dt); } }
/// <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()); } }