public static RespuestaTransaccion CrearDesvinculacionPersonal(DesvinculacionPersonal objeto, List <DetalleEquiposEntregados> detalles)
        {
            using (var transaction = db.Database.BeginTransaction())
            {
                try
                {
                    db.DesvinculacionPersonal.Add(objeto);
                    db.SaveChanges();

                    int DesvinculacionPersonalID = objeto.IDDesvinculacionPersonal;

                    foreach (var item in detalles)
                    {
                        item.DesvinculacionPersonalID = DesvinculacionPersonalID;
                        db.DetalleEquiposEntregados.Add(item);
                        db.SaveChanges();
                    }

                    transaction.Commit();

                    return(new RespuestaTransaccion {
                        Estado = true, Respuesta = Mensajes.MensajeTransaccionExitosa
                    });
                }
                catch (Exception ex)
                {
                    transaction.Rollback();
                    return(new RespuestaTransaccion {
                        Estado = false, Respuesta = Mensajes.MensajeTransaccionFallida + " ;" + ex.Message.ToString()
                    });
                }
            }
        }
        public static RespuestaTransaccion ActualizarDesvinculacionPersonal(DesvinculacionPersonal objeto, List <DetalleEquiposEntregados> detalles)
        {
            using (var transaction = db.Database.BeginTransaction())
            {
                try
                {
                    // assume Entity base class have an Id property for all items
                    var entity = db.DesvinculacionPersonal.Find(objeto.IDDesvinculacionPersonal);
                    if (entity == null)
                    {
                        return(new RespuestaTransaccion {
                            Estado = false, Respuesta = Mensajes.MensajeTransaccionFallida
                        });
                    }

                    db.Entry(entity).CurrentValues.SetValues(objeto);
                    db.SaveChanges();

                    int DesvinculacionPersonalID = objeto.IDDesvinculacionPersonal;

                    #region Actualizar Detalles
                    // Limpiar primero los detalles anteriores
                    var detallesAnteriores = db.DetalleEquiposEntregados.Where(s => s.DesvinculacionPersonalID == DesvinculacionPersonalID).ToList();
                    foreach (var item in detallesAnteriores)
                    {
                        db.DetalleEquiposEntregados.Remove(item);
                        db.SaveChanges();
                    }
                    //Registrar nuevos detalles
                    foreach (var item in detalles)
                    {
                        item.DesvinculacionPersonalID = DesvinculacionPersonalID;
                        db.DetalleEquiposEntregados.Add(item);
                        db.SaveChanges();
                    }
                    #endregion

                    transaction.Commit();

                    return(new RespuestaTransaccion {
                        Estado = true, Respuesta = Mensajes.MensajeTransaccionExitosa
                    });
                }
                catch (Exception ex)
                {
                    transaction.Rollback();
                    return(new RespuestaTransaccion {
                        Estado = false, Respuesta = Mensajes.MensajeTransaccionFallida + " ;" + ex.Message.ToString()
                    });
                }
            }
        }
        public static DesvinculacionPersonal ConsultarDesvinculacionPersonal(int id)
        {
            DesvinculacionPersonal objeto = new DesvinculacionPersonal();

            try
            {
                objeto = db.ConsultarDesvinculacionPersonal(id).FirstOrDefault();
                return(objeto);
            }
            catch (Exception)
            {
                return(objeto);
            }
        }