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; }
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); }