示例#1
0
        public Boolean BorrarAllPendientes(proyectos_minutas_pendientes entidad)
        {
            try
            {
                DataTable dt_tareas = GetAllPendientes(entidad.id_minuta);
                foreach (DataRow participante in dt_tareas.Rows)
                {
                    entidad.id_minuta           = Convert.ToInt32(participante["id_minuta"]);
                    entidad.id_minpendiente     = Convert.ToInt32(participante["id_minpendiente"]);
                    entidad.comentarios_borrado = "borrado por actualizacion";
                    BorrarPendientes(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);
            }
        }
示例#2
0
        public string BorrarPendientes(proyectos_minutas_pendientes entidad)
        {
            try
            {
                Model context = new Model();
                proyectos_minutas_pendientes participantes = context.proyectos_minutas_pendientes
                                                             .First(i => i.id_minpendiente == entidad.id_minpendiente);
                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());
            }
        }
示例#3
0
        /// <summary>
        /// Agrega un participante
        /// </summary>
        /// <param name="entidad"></param>
        /// <returns></returns>
        public string AgregarPendiente(proyectos_minutas_pendientes entidad)
        {
            try
            {
                proyectos_minutas_pendientes pendiente = new proyectos_minutas_pendientes
                {
                    id_minuta       = entidad.id_minuta,
                    id_pinvolucrado = entidad.id_pinvolucrado,
                    descripcion     = entidad.descripcion,
                    fecha_planeada  = entidad.fecha_planeada,
                    responsable     = entidad.responsable,
                    fecha_registro  = DateTime.Now,
                    avance          = entidad.avance,
                    usuario         = entidad.usuario
                };
                Model context = new Model();
                context.proyectos_minutas_pendientes.Add(pendiente);
                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());
            }
        }
示例#4
0
 public bool ExistPendiente(proyectos_minutas_pendientes entidad)
 {
     try
     {
         Model context = new Model();
         bool  exist   = false;
         var   query   = context.proyectos_minutas_pendientes
                         .Where(s => s.id_minuta == entidad.id_minuta)
                         .Select(u => new
         {
             u.id_minpendiente,
             u.id_minuta,
             u.avance,
             u.id_pinvolucrado,
             u.descripcion,
             u.responsable,
             u.fecha_planeada,
             u.fecha_registro,
             u.usuario,
             u.usuario_edicion,
             u.fecha_edicion,
             u.usuario_borrado,
             u.fecha_borrado,
             u.comentarios_borrado
         });
         DataTable dt_participantes = To.DataTable(query.ToList());
         DataRow[] row = dt_participantes.
                         Select("responsable = '" + entidad.responsable + "' and descripcion ='" + entidad.descripcion + "'");
         if (row.CopyToDataTable().Rows.Count > 0)
         {
             int id_minpendiente = Convert.ToInt32(row[0]["id_minpendiente"]);
             proyectos_minutas_pendientes participantes = context.proyectos_minutas_pendientes
                                                          .First(i => i.id_minpendiente == id_minpendiente);
             participantes.avance              = entidad.avance;
             participantes.fecha_borrado       = null;
             participantes.usuario_borrado     = null;
             participantes.comentarios_borrado = null;
             context.SaveChanges();
             exist = true;
         }
         return(exist);
     }
     catch (Exception ex)
     {
         return(false);
     }
 }
示例#5
0
 public string EditPendiente(proyectos_minutas_pendientes entidad)
 {
     try
     {
         Model context = new Model();
         proyectos_minutas_pendientes participantes = context.proyectos_minutas_pendientes
                                                      .First(i => i.id_minpendiente == entidad.id_minpendiente);
         participantes.descripcion     = entidad.descripcion;
         participantes.fecha_planeada  = entidad.fecha_planeada;
         participantes.avance          = entidad.avance;
         participantes.fecha_edicion   = DateTime.Now;
         participantes.usuario_edicion = entidad.usuario_edicion;
         context.SaveChanges();
         return("");
     }
     catch (Exception ex)
     {
         return(ex.ToString());
     }
 }
示例#6
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);
            }
        }
示例#7
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());
            }
        }
示例#8
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());
            }
        }