/// <summary> /// Atualiza os dados do usuário /// </summary> /// <param name="model">Model do usuário logado para mudança de dados</param> /// <param name="error">Controle de erro</param> /// <returns>Usuário atualizado</returns> public static bool UpdateUser(UserModel model, out ErrorEnum error) { DBConfigurations database = new DBConfigurations(); error = ErrorEnum.NoErrors; try { var userToEdit = database.Users.First(i => i.ID == model.ID); // Atualiza usuário userToEdit.Birth = model.Birth; userToEdit.City = model.City; userToEdit.CPF = model.CPF; userToEdit.Email = model.Email; userToEdit.FullName = model.FullName; userToEdit.RG = model.RG; userToEdit.Sex = model.Sex; userToEdit.City = model.City; //Atualiza senha if (model.Password != null) { string encryptPass = Security.Encrypt(model.Password); userToEdit.Password = encryptPass; } //Atualiza imagem if (model.FileImage != null) { //Remove imagem antiga e adiciona a nova ImagesManager.RemoveImage(userToEdit.ID); ImagesManager.SaveImage(model.FileImage, userToEdit.ID); } //Atualiza conta var userBankToEdit = database.UserBank.First(i => i.ID == userToEdit.UserBankID); userBankToEdit.Account = model.BankAccount.Account; userBankToEdit.Agency = model.BankAccount.Agency; userBankToEdit.BankID = model.BankAccount.BankID; userToEdit.Notifications = model.Notifications; database.SaveChanges(); return(true); } catch (Exception) { error = ErrorEnum.ExceptionError; return(false); } }
/// <summary> /// Adiciona uma nova instancia de usuário no banco de dados se esta não existir. /// Verifica se nome de usuário e CPF já estão em uso antes de adicionar. /// </summary> /// <param name="user">UserModel a ser adicionado</param> /// <returns>ID do usuário adicionado, ou uma Guid vazia em caso de erro de inserção.</returns> public static Guid?InsertUser(UserModel user, out ErrorEnum errorEnum) { if (!UserManager.IsUserLoginExist(user.Username)) { if (!UserManager.CPFUserExist(user.CPF)) { try { //Encripta a senha string encryptPass = Security.Encrypt(user.Password); user.Password = encryptPass; //Define informações do banco UserBanks userBankDAO = Conversor.UserBankModelToDTO(user.BankAccount); userBankDAO.ID = Guid.NewGuid(); //Define configurações do usuário Users userDAO = Conversor.UserModelToDTO(user); userDAO.ID = Guid.NewGuid(); userDAO.UserBankID = userBankDAO.ID; userDAO.Notifications = user.Notifications; errorEnum = ErrorEnum.NoErrors; var inserted = UserManager.AddUser(userDAO, userBankDAO); //Se inseriu com sucesso, insere imagem de perfil selecionada if ((inserted != Guid.Empty) && (inserted != null)) { ImagesManager.SaveImage(user.FileImage, inserted); } return(inserted); } catch (Exception ex) { errorEnum = ErrorEnum.ExceptionError; return(null); } } else { errorEnum = ErrorEnum.ExistentCPF; return(null); } } else { errorEnum = ErrorEnum.ExistentUsername; return(null); } }