Пример #1
0
        /// <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());
            }
        }
Пример #2
0
 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());
     }
 }
Пример #3
0
 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());
     }
 }
Пример #4
0
        /// <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);
            }
        }
Пример #5
0
        /// <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);
            }
        }
Пример #6
0
        /// <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());
            }
        }
Пример #7
0
        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());
            }
        }