public IActionResult AddFacebookAccount(string accessToken, long groupId, long userId) { dynamic profile = FbUser.GetFbUser(accessToken); try { string x = Convert.ToString(profile); _logger.LogError(x); } catch { } if (Convert.ToString(profile) == "Invalid Access Token") { return(Ok("Invalid Access Token")); } DatabaseRepository dbr = new DatabaseRepository(_logger, _env); Domain.Socioboard.Models.Facebookaccounts fbacc = Api.Socioboard.Repositories.FacebookRepository.getFacebookAccount(Convert.ToString(profile["id"]), _redisCache, dbr); List <Domain.Socioboard.Models.Groupprofiles> grpProfiles = Api.Socioboard.Repositories.GroupProfilesRepository.GetAllGroupProfiles(groupId, _redisCache, dbr); //if (grpProfiles.First().profileId == fbacc.FbUserId) if (fbacc != null && fbacc.IsActive == true) { if (fbacc.UserId == userId) { return(Ok("Facebook account already added by you.")); } return(Ok("Facebook account added by other user.")); } else { Groups ngrp = dbr.Find <Domain.Socioboard.Models.Groups>(t => t.adminId == userId && t.id == groupId).FirstOrDefault(); if (ngrp == null) { return(Ok("Wrong Group Id")); } // Adding Facebook Profile int res = Api.Socioboard.Repositories.FacebookRepository.AddFacebookAccount(profile, FbUser.GetFbFriends(accessToken), dbr, userId, ngrp.id, Domain.Socioboard.Enum.FbProfileType.FacebookProfile, accessToken, _redisCache, _appSettings, _logger); if (res == 1) { return(Ok("Facebook account Added Successfully")); } else { return(Ok("Error while Adding Account")); } } }
public IActionResult ReconnectFbAccount(string accessToken, long groupId, long userId, string reconnect, string profileId) { dynamic profile = FbUser.GetFbUser(accessToken); try { string x = Convert.ToString(profile); _logger.LogError(x); } catch { } if (Convert.ToString(profile) == "Invalid Access Token") { return(Ok("Invalid Access Token")); } DatabaseRepository dbr = new DatabaseRepository(_logger, _env); Domain.Socioboard.Models.Facebookaccounts fbacc = Api.Socioboard.Repositories.FacebookRepository.getFacebookAccount(Convert.ToString(profile["id"]), _redisCache, dbr); Domain.Socioboard.Models.Facebookaccounts fbaccw = Api.Socioboard.Repositories.FacebookRepository.getFacebookAccount(profileId, _redisCache, dbr); //fbacc = fbacc.Where(t => t.FbUserId.Contains("127471161024815")).ToList(); try { if (fbacc.FbUserId == profileId) { if (fbacc != null && fbacc.IsActive == true) { if (fbacc.UserId == userId) { Groups ngrp = dbr.Find <Domain.Socioboard.Models.Groups>(t => t.adminId == userId && t.id == groupId).FirstOrDefault(); if (ngrp == null) { return(Ok("Wrong Group Id")); } int res = Api.Socioboard.Repositories.FacebookRepository.ReFacebookAccount(profile, FbUser.GetFbFriends(accessToken), dbr, userId, ngrp.id, Domain.Socioboard.Enum.FbProfileType.FacebookProfile, accessToken, reconnect, _redisCache, _appSettings, _logger); if (res == 1) { MongoRepository repofb = new MongoRepository("FacebookPasswordChangeUserDetail", _appSettings); try { var result = repofb.Find <Domain.Socioboard.Models.Mongo.FacebookPasswordChangeUserDetail>(t => t.profileId == fbacc.FbUserId); var task = Task.Run(async() => { return(await result); }); int count = task.Result.Count; IList <Domain.Socioboard.Models.Mongo.FacebookPasswordChangeUserDetail> lstFbFeeds = task.Result; if (count > 0) { FilterDefinition <BsonDocument> filter = new BsonDocument("profileId", lstFbFeeds.FirstOrDefault().profileId); var update = Builders <BsonDocument> .Update.Set("status", true); repofb.Update <Domain.Socioboard.Models.Mongo.FacebookPasswordChangeUserDetail>(update, filter); } } catch (Exception ex) { } return(Ok("Facebook account Reconnect Successfully")); } else { return(Ok("Error while Reconnecting Account")); } } } } else { return(Ok("Oops! login information is wrong , login the profile which has to be reconnected")); } } catch (Exception ex) { return(Ok("Oops! login information is wrong , login the profile which has to be reconnected")); } return(Ok()); }