Beispiel #1
0
        public int Eliminar(Entity.Usuario usuario)
        {
            try
            {
                if (!this.ValidarEliminacion(usuario))
                {
                    throw new Exception("No se puede eliminar al usuario debido a que contiene patentes que no tienen otra asignacion.");
                }

                usuario.NombreUsuario = Encrypt.Encriptar(usuario.NombreUsuario, (int)TipoEncriptacion.Reversible);
                usuario.Eliminado     = true;
                usuario.DVH           = dv.CalcularDVH(this.ConcatenarRegistro(usuario));

                using (var scope = new TransactionScope(TransactionScopeOption.RequiresNew, new TransactionOptions {
                    IsolationLevel = IsolationLevel.ReadCommitted
                }))
                {
                    int result = repository.Eliminar(usuario, usuario.DVH);

                    //Control de Cambios
                    this.RegistrarControlCambios(usuario, usuario.Id);

                    dv.ActualizarDVV("Usuario");

                    scope.Complete();

                    return(result);
                }
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }