Ejemplo n.º 1
0
        /// <summary>
        /// Recupera apenas algumas informações do usuário
        /// </summary>
        /// <param name="userID">ID do usuário a ter informações recuperadas</param>
        /// <param name="error">Controle de erro</param>
        /// <returns>Usuário selecionado</returns>
        public static UserModel RetrieveUserLight(Guid userID)
        {
            DBConfigurations database = new DBConfigurations();

            var userDTO   = (from user in database.Users where user.ID == userID select user).First();
            var userModel = Conversor.UserDTOToModel(userDTO);

            userModel.FileContentResult = ImagesManager.RetrieveImage(userModel.ID);
            return(userModel);
        }
Ejemplo n.º 2
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);
            }
        }
Ejemplo n.º 3
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);
            }
        }
Ejemplo n.º 4
0
        /// <summary>
        /// Realiza consulta para trazer os dados do usuário no banco de dados e armazenar o resultado em uma
        /// variável de seção.
        /// </summary>
        /// <param name="userID">ID do usuário logado (Guid)</param>
        /// <param name="error">Enum de retorno de erros</param>
        /// <returns></returns>
        public static UserModel RetrieveUser(Guid userID, out ErrorEnum error)
        {
            DBConfigurations database = new DBConfigurations();

            error = ErrorEnum.NoErrors;

            try
            {
                var userDTO   = (from user in database.Users where user.ID == userID select user).First();
                var userModel = Conversor.UserDTOToModel(userDTO);

                #region Messages

                var messagesDTO = UserManager.GetMessages(userModel.ID);
                userModel.MessagesFromMe = new List <Messages>();
                userModel.MessagesToMe   = new List <Messages>();

                foreach (var message in messagesDTO)
                {
                    if (message.SenderID == userModel.ID)
                    {
                        userModel.MessagesFromMe.Add(message);
                    }
                    else
                    {
                        userModel.MessagesToMe.Add(message);
                    }
                }
                #endregion

                #region Rides

                userModel.DonorRides    = RidesManager.GetDonorRides(userModel.ID);
                userModel.ReceiverRides = RidesManager.GetReceiverRides(userModel.ID);
                userModel.OpenRequests  = RidesManager.GetRidesRequests(userModel.ID);

                #endregion

                #region BankAccount

                var userBankAccount = UserBankManager.GetUserBankAccount(userDTO.UserBankID);
                userModel.BankAccount.Account = userBankAccount.Account;
                userModel.BankAccount.Agency  = userBankAccount.Agency;
                userModel.BankAccount.BankID  = userBankAccount.BankID;
                userModel.BankAccount.ID      = userBankAccount.ID;

                #endregion

                #region Image

                userModel.FileContentResult = ImagesManager.RetrieveImage(userModel.ID);

                #endregion

                #region Friends Requests

                userModel.FriendsRequests = FriendshipManager.GetFriendsRequests(userModel.ID);

                #endregion

                #region ListNotifications

                userModel.ListNotifications = NotificationsManager.GetUserNotifications(userModel.ID);
                userModel.RidesRequests     = RidesRequestManager.GetAllRequestsByDriver(userModel.ID);

                #endregion

                return(userModel);
            }
            catch (Exception)
            {
                error = ErrorEnum.ExceptionError;
                return(null);
            }
        }