private Task <bool> AsyncSave() { StartProgress = true; BlackBox = Visibility.Visible; return(Task <bool> .Factory.StartNew(() => { try { if (Logged.Acesso > Conta.Conta || Logged.Registro.CodigoAcesso.Contains("system_")) { User.Cadastro = DateTime.Now; User.Atualizado = DateTime.Now; User.Ativo = true; if (new mData().GravarUsuario(User)) { Opcoes = new mOpcoes() { Identificador = User.Identificador, Thema = "Light", Color = "#FF3399FF" }; Conta = new mContas() { Identificador = User.Identificador, Conta = Conta.Conta, Ativo = true, }; foreach (mModuloGenerico md in ListaModulos) { Modulo.Identificador = User.Identificador; Modulo.Modulo = md.ValorModulo; Modulo.Acesso = md.AcessoModulo; new mData().GravarModulos(Modulo); } foreach (mModuloGenerico smd in ListaSubModulos) { SubModulo.Identificador = User.Identificador; SubModulo.SubModulo = smd.ValorModulo; SubModulo.Acesso = smd.ValorAcesso; new mData().GravarSubModulos(SubModulo); } new mData().GravarOpcoes(Opcoes); new mData().GravarConta(Conta); return true; } else { return false; } } else { BlackBox = Visibility.Collapsed; StartProgress = false; SyncMessageBox(string.Format("Conta com nível de acesso inválido!\nSelecione uma opção inferior à [{0}].", Logged.Conta), DialogBoxColor.Orange); return false; } } catch (Exception ex) { BlackBox = Visibility.Collapsed; StartProgress = false; SyncMessageBox(ex.Message, DialogBoxColor.Red); return false; } finally { StartProgress = false; BlackBox = Visibility.Collapsed; } })); }
private bool Update() { try { if (Logged.Acesso >= Account.Conta.Conta) { var updateUser = new mUser(); updateUser.Indice = Account.Indice; updateUser.Identificador = Account.Identificador; updateUser.Nome = Account.Nome; updateUser.Sexo = Account.Sexo; updateUser.Email = Account.Email; updateUser.Cadastro = Account.Cadastro; updateUser.Atualizado = Account.Atualizado; updateUser.Ativo = Account.Ativo; if (new mData().UpdateUsuario(updateUser)) { Opcoes = new mOpcoes() { Identificador = Account.Identificador, Thema = Account.Thema, Color = Account.Color }; Conta = new mContas() { Identificador = Account.Identificador, Conta = Account.Conta.Conta, Ativo = true, }; new mData().RemoveAcessoModulos(Account.Identificador); foreach (mModuloGenerico md in ListaModulos) { Modulo.Identificador = Account.Identificador; Modulo.Modulo = md.ValorModulo; Modulo.Acesso = md.AcessoModulo; new mData().GravarModulos(Modulo); } new mData().RemoveAcessoSubModulos(Account.Identificador); foreach (mModuloGenerico smd in ListaSubModulos) { SubModulo.Identificador = Account.Identificador; SubModulo.SubModulo = smd.ValorModulo; SubModulo.Acesso = smd.ValorAcesso; new mData().GravarSubModulos(SubModulo); } if (new mData().GravarOpcoes(Opcoes)) { if (new mData().GravarConta(Conta)) { _message = (string.Format("Dados do usuário {1} ID {0} alterados com sucesso!", User.Identificador, User.Nome)); } } return(true); } else { return(false); } } else { _message = string.Format("Conta com nível de acesso inválido!\nSelecione uma opção inferior à [{0}].", Logged.Conta); return(false); } } catch (Exception ex) { _message = ex.Message; return(false); } }