public async Task <IActionResult> Subscribe([FromForm] MailChimpModel mailChimp) { if (string.IsNullOrEmpty(mailChimp.Email)) { return(BadRequest(new { Message = "Email is required" })); } try { await _mailchimpService.Subscribe(mailChimp); return(Ok(new { Message = "Thanks for your Subscribe!" })); } catch (Exception e) { return(BadRequest(new { Message = e.Message })); } }
public IActionResult FacebookLogin([FromForm] SocialLoginRequest request) { var user = _context.Users.Where(x => x.Email == request.Email.Trim()).FirstOrDefault(); //Email chưa được sử dụng trong hệ thống, đăng ký tài khoản mới if (user == null) { var newUser = new AppUser() { NumberOfFiends = 0, NumberOfImages = 0, NumberOfLikes = 0, Email = request.Email, Role = ERole.User, FullName = request.FullName, UserName = request.Email, AvatarPath = request.Avatar, IsInfoUpdated = false, PassWord = Guid.NewGuid().ToString() }; switch (request.Provider.ToLower()) { case "facebook": newUser.TypeAccount = ETypeAccount.Facebook; break; case "google": newUser.TypeAccount = ETypeAccount.Google; break; default: return(BadRequest(new { Message = "Provider is not correct" })); } var mailchimp = new MailChimpModel() { Email = request.Email, Name = request.FullName }; _mailchimpService.Subscribe(mailchimp); try { _context.Users.Add(newUser); _context.SaveChanges(); var response = new UserResponse(newUser, _storageService); response.Token = this.GenerateJSONWebToken(newUser); return(Ok(response)); } catch (Exception e) { return(BadRequest(new { Message = e.Message })); } } else // Email đã có trong hệ thống, tiến hành đăng nhập { if (user.Status == EUserStatus.Inactive) { return(BadRequest(new { Message = "Tài khoản của bạn đã bị khóa bởi quản trị viên!" })); } var userResponse = new UserResponse(user, _storageService); userResponse.Token = this.GenerateJSONWebToken(user); //_sessionService.SetSessionUser(user); return(Ok(userResponse)); } }