示例#1
0
        /// <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);
            }
        }
示例#2
0
        /// <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);
            }
        }