public AccountChangeRequestMsg(
            object sender,
            bool deleteAccount,
            bool markAsActive,
            GoogleUserViewModel account)
            : base(sender)
        {
            if (deleteAccount == markAsActive)
            {
                throw new ArgumentOutOfRangeException(nameof(deleteAccount), deleteAccount, "You cannot delete and mark as active at the same time");
            }

            Account       = account;
            DeleteAccount = deleteAccount;
            MarkAsActive  = markAsActive;
        }
Exemple #2
0
        public ActionResult <string> GoogleLogin(GoogleUserViewModel loginModel)
        {
            var user = _unitOfWork.UserRepository.FilterBy(x => x.EmailID.ToLower() == loginModel.Email.ToLower()).SingleOrDefault();

            if (user == null)
            {
                user                 = new Users();
                user.FullName        = loginModel.Name;
                user.EmailID         = loginModel.Email;
                user.PostCode        = loginModel.PostCode;
                user.Role            = loginModel.Role;
                user.SocialLoginType = Constants.GOOGLE_LOGIN;
                user.AccessToken     = loginModel.AuthenticationToken;
                user.DeviceID        = loginModel.DeviceID;
                if (!string.IsNullOrEmpty(loginModel.DeviceToken))
                {
                    user.DeviceToken = loginModel.DeviceToken;
                }
                user.DeviceType = loginModel.DeviceType;
                user.Featured   = loginModel.Featured;
                if (loginModel.Lat != null)
                {
                    user.Lat = loginModel.Lat;
                }
                if (loginModel.Lng != null)
                {
                    user.Lng = loginModel.Lng;
                }

                user.ProfileImage = loginModel.Picture;
                _unitOfWork.UserRepository.InsertOne(user);
            }
            else
            {
                if (user.Role.ToLower() != loginModel.Role.ToLower())
                {
                    return(BadRequest(new ErrorViewModel()
                    {
                        errors = new Error()
                        {
                            error = new string[] { "EmailID already registered." }
                        }
                    }));
                }
                user.FullName    = loginModel.Name;
                user.AccessToken = loginModel.AuthenticationToken;
                user.DeviceID    = loginModel.DeviceID;
                if (!string.IsNullOrEmpty(loginModel.DeviceToken))
                {
                    user.DeviceToken = loginModel.DeviceToken;
                }
                user.DeviceType = loginModel.DeviceType;
                if (loginModel.Lat != null)
                {
                    user.Lat = loginModel.Lat;
                }
                if (loginModel.Lng != null)
                {
                    user.Lng = loginModel.Lng;
                }

                user.ProfileImage = loginModel.Picture;
                _unitOfWork.UserRepository.ReplaceOne(user);
            }

            string encryptedToken = GenerateToken(user);

            return(encryptedToken);
        }