public bool FollowUser(string userId, AccessDetails Token)
        {
            try
            {
                var request = new RestRequest("v1/me/following/users/", Method.POST);
                request.AddParameter("access_token", Token.AccessToken);
                request.AddParameter("user", userId);

                var response = WebServiceHelper.WebRequest(request, ApiURL);
                if (response.StatusCode.ToString() == "OK")
                {
                    return(true);
                }
                else
                {
                    return(false);
                }
            }
            catch (Exception)
            {
                return(false);
            }
        }
Example #2
0
        private static Result Shutdown(AccessDetails details, string content, NameValueCollection queryString)
        {
            if (details != null)
            {
                if (!ValidAccessDetails(details))
                {
                    return(new Result()
                    {
                        Authenticated = false
                    });
                }
            }

            LogWriter.LogMessage("Received request - Shutdown");

            _serviceToRun.StopService();
            Environment.Exit(0);

            return(new Result()
            {
                Success = true
            });
        }
 /// <summary>
 /// Get current user's followers list & count
 /// </summary>
 /// <param name="token"></param>
 /// <returns></returns>
 public DeezerUserFollower GetCurrentUserFollower(AccessDetails token)
 {
     try
     {
         var request = new RestRequest("/user/me/followers", Method.GET);
         request.AddParameter("access_token", token.AccessToken);
         request.AddParameter("limit", "100");
         var response = WebServiceHelper.WebRequest(request, ApiURL);
         JsonDeserializer deserial = new JsonDeserializer();
         var result = deserial.Deserialize <DeezerUserFollower>(response);
         if (result.data.Count < result.total)
         {
             response = WebServiceHelper.WebRequest(request, ApiURL);
             request.AddParameter("limit", result.total);
             result = deserial.Deserialize <DeezerUserFollower>(response);
         }
         return(result);
     }
     catch (Exception)
     {
         throw;
     }
 }
Example #4
0
        public AccessDetails RefreshAccessToken(string refreshToken)
        {
            using (var client = new HttpClient())
            {
                //string redirectUri = System.Configuration.ConfigurationManager.AppSettings["RedirectUri"];
                //string cientSecret = System.Configuration.ConfigurationManager.AppSettings["ClientSecret"];
                //string baseAddress = System.Configuration.ConfigurationManager.AppSettings["BaseAddress"];

                var request        = new HttpRequestMessage(HttpMethod.Post, credintials.BaseAddress + "/oauth2/token");
                var requestContent = string.Format(
                    "client_assertion_type=urn:ietf:params:oauth:client-assertion-type:jwt-bearer&client_assertion={0}&grant_type=refresh_token&assertion={1}&redirect_uri={2}",
                    HttpUtility.UrlEncode(credintials.clientSecret),
                    HttpUtility.UrlEncode(refreshToken), credintials.redirectUrl
                    );

                request.Content = new StringContent(requestContent, Encoding.UTF8, "application/x-www-form-urlencoded");
                try
                {
                    var response = client.SendAsync(request).Result;
                    if (response.IsSuccessStatusCode)
                    {
                        string        result       = response.Content.ReadAsStringAsync().Result;
                        AccessDetails accesDetails = JsonConvert.DeserializeObject <AccessDetails>(result);
                        return(accesDetails);
                    }
                    else
                    {
                        return(new AccessDetails());
                    }
                }
                catch (Exception ex)
                {
                    //ProjectService.logger.Info(DateTime.UtcNow.ToString("yyyy-MM-dd HH:mm:ss") + "\t" + ex.Message + "\t" + "\n" + ex.StackTrace + "\n");
                    return(new AccessDetails());
                }
            }
        }
Example #5
0
        /// <summary>
        /// Get Account associalted with the logged in user
        /// </summary>
        /// <param name="MemberID"></param>
        /// <param name="Details"></param>
        /// <returns></returns>
        public Accounts.AccountList GetAccounts(string MemberID, AccessDetails Details)
        {
            if (Session["PAT"] != null)
            {
                Details.access_token = Session["PAT"].ToString();
            }
            Accounts.AccountList Accounts = new Accounts.AccountList();
            var    client         = new HttpClient();
            string requestContent = "https://app.vssps.visualstudio.com/_apis/Accounts?memberId=" + MemberID + "&api-version=3.2-preview";
            var    request        = new HttpRequestMessage(HttpMethod.Get, requestContent);

            request.Headers.Add("Authorization", "Bearer " + Details.access_token);
            try
            {
                var response = client.SendAsync(request).Result;
                if (response.StatusCode == HttpStatusCode.NonAuthoritativeInformation)
                {
                    Details = Refresh_AccessToken(Details.refresh_token);
                    return(GetAccounts(MemberID, Details));
                }
                else if (response.IsSuccessStatusCode)
                {
                    string result = response.Content.ReadAsStringAsync().Result;
                    Accounts = JsonConvert.DeserializeObject <Accounts.AccountList>(result);
                }
                else
                {
                    var errorMessage = response.Content.ReadAsStringAsync();
                    Accounts = null;
                }
            }
            catch (Exception ex)
            {
                return(Accounts);
            }
            return(Accounts);
        }
        public bool SaveAccountDeatils(OAuthAccessToken tokens, string userId, string Email)
        {
            try
            {
                AccessDetails accessTokens = new AccessDetails()
                {
                    AccessToken = tokens.Token, AccessTokenSecret = tokens.TokenSecret
                };
                TwitterUser profile = GetUserprofile(accessTokens);

                SocialMedia socialDetails = new SocialMedia()
                {
                    UserId        = userId,
                    Provider      = SocialMediaProviders.Twitter.ToString(),
                    AccessDetails = new AccessDetails {
                        AccessToken = tokens.Token, AccessTokenSecret = tokens.TokenSecret
                    },
                    ProfilepicUrl = profile.ProfileImageUrlHttps,
                    Followers     = profile.FollowersCount,
                    SMId          = profile.Id.ToString(),
                    Status        = true,
                    UserName      = profile.ScreenName,
                    AccSettings   = new AccSettings()
                };
                socialDetails.AccSettings.UserManagement.Add(new UserManagement {
                    Email = Email, userId = userId, Role = "Owner"
                });
                _socialMediaRepo.Add(socialDetails);
                _unitOfWork.Commit();
                return(true);
            }
            catch (Exception)
            {
                return(false);
            }
        }
Example #7
0
        // VIEWS
        public ActionResult Callback()
        {
            // Here we get the Code in the Query String, using that we can get access token
            var    request = Request;
            string code    = Request.QueryString["code"];

            if (!string.IsNullOrEmpty(code))
            {
                string reqUrl = FormatRequestUrl(code);
                // Getting access token, if access token is null, will return to Index page [relogin takes place]
                AccessDetails _accessDetails = GetAccessToken(reqUrl);
                if (_accessDetails.access_token != null)
                {
                    Session["Token"] = _accessDetails.access_token;
                    ViewBag.Response = _accessDetails.access_token;
                    return(RedirectToAction("process"));
                }
                else
                {
                    return(RedirectToAction("index", "home"));
                }
            }
            return(RedirectToAction("index", "home"));
        }
       public bool SaveAccountDeatils(OAuthTokens tokens, string userId,string Email)
       {
           try
           {
               AccessDetails accessToken = new AccessDetails() { AccessToken = tokens.access_token };
               InstaUser profile = GetUserprofile(accessToken);
               SocialMedia socialDetails = new SocialMedia()
               {
                   UserId = userId,
                   Provider = SocialMediaProviders.Instagram.ToString(),
                   AccessDetails = new AccessDetails { AccessToken = tokens.access_token },
                   ProfilepicUrl = profile.data.profile_picture,
                   SMId = profile.data.id.ToString(),
                   Status = true,
                   UserName = profile.data.username,
<<<<<<< .mine
                   Followers = profile.data.counts.follows

               };
=======
                   Followers = profile.data.Followers,
                   AccSettings = new AccSettings()
                 };
               socialDetails.AccSettings.UserManagement.Add(new UserManagement { Email = Email, userId = userId, Role = "Owner" });
Example #9
0
 public bool SaveAccountDeatils(OAuthTokens tokens, string userId, string Email)
 {
     try
     {
         AccessDetails accessToken = new AccessDetails()
         {
             AccessToken = tokens.access_token
         };
         //InstaUser profile = GetUserprofile(accessToken);
         InstaUserList profile       = GetUserprofile(accessToken);
         SocialMedia   socialDetails = new SocialMedia()
         {
             UserId        = userId,
             Provider      = SocialMediaProviders.Instagram.ToString(),
             AccessDetails = new AccessDetails {
                 AccessToken = tokens.access_token
             },
             ProfilepicUrl = profile.profile_picture,
             SMId          = profile.id.ToString(),
             Status        = true,
             UserName      = profile.username,
             Followers     = profile.counts.followed_by,
             AccSettings   = new AccSettings()
         };
         socialDetails.AccSettings.UserManagement.Add(new UserManagement {
             Email = Email, userId = userId, Role = "Owner"
         });
         _socialMedia.Add(socialDetails);
         _unitOfWork.Commit();
         return(true);
     }
     catch (Exception)
     {
         return(false);
     }
 }
Example #10
0
 public string CreatePlaylist(int socialId, string userId, string playlistName, AccessDetails token)
 {
     try
     {
         var jsonData = new { name = playlistName };
         var Token    = TokenValidate(socialId, token);
         var request  = new RestRequest("v1/users/" + userId + "/playlists", Method.POST);
         request.AddHeader("Authorization", "Bearer " + Token.AccessToken);
         request.AddHeader("Content-Type", "application/json");
         //request.AddBody("data", jsonData);
         request.AddJsonBody(jsonData);
         var response = WebServiceHelper.WebRequest(request, ApiURL);
         if (response.StatusCode.ToString() == "Created")
         {
             var temp       = (JObject)JsonConvert.DeserializeObject(response.Content);
             var playlistId = temp["id"].Value <string>();
             return(playlistId);
         }
         else
         {
             return("false");
         }
     }
     catch (Exception)
     {
         return("false");
     }
 }
Example #11
0
 public TwitterCursorList <TwitterUser> ListFollowerOfTargetUser(long targetId, AccessDetails _accessToken)
 {
     try
     {
         TwitterService service = new TwitterService(consumerKey, consumerSecret);
         service.AuthenticateWith(_accessToken.AccessToken, _accessToken.AccessTokenSecret);
         var followers = service.ListFollowers(new ListFollowersOptions {
             UserId = targetId
         });
         return(followers);
     }
     catch (Exception)
     {
         throw;
     }
 }
Example #12
0
        public async Task <TwitterAsyncResult <IEnumerable <TwitterStatus> > > ListPostOnUserTimeline(long userId, AccessDetails _accessToken)
        {
            try
            {
                TwitterService service = new TwitterService(consumerKey, consumerSecret);
                service.AuthenticateWith(_accessToken.AccessToken, _accessToken.AccessTokenSecret);
                var posts = await service.ListTweetsOnUserTimelineAsync(new ListTweetsOnUserTimelineOptions { UserId = userId, Count = 2 });

                return(posts);
            }
            catch (Exception)
            {
                throw;
            }
        }
Example #13
0
        public async Task <TwitterAsyncResult <TwitterCursorList <TwitterUser> > > GetFollowersList(long SMId, AccessDetails _accessToken)
        {
            try
            {
                TwitterService service = new TwitterService(consumerKey, consumerSecret);
                service.AuthenticateWith(_accessToken.AccessToken, _accessToken.AccessTokenSecret);
                var followers = await service.ListFollowersAsync(new ListFollowersOptions { UserId = SMId, Count = 200 });

                while (followers.Value.NextCursor != 0)
                {
                    var next = service.ListFollowers(new ListFollowersOptions {
                        UserId = SMId, Count = 200, Cursor = followers.Value.NextCursor
                    });
                    foreach (var follower in next)
                    {
                        followers.Value.Add(follower);
                    }
                    followers.Value.NextCursor = next.NextCursor;
                }
                return(followers);
            }
            catch (Exception)
            {
                throw;
            }
        }
Example #14
0
        public async Task <TwitterAsyncResult <TwitterSearchResult> > SearchTweet(string query, string lang, string geoLocation, AccessDetails _accessToken)
        {
            try
            {
                int            count   = Int16.Parse(ConfigurationSettings.AppSettings["twitterPostSearchCountPerTag"].ToString());
                TwitterService service = new TwitterService(consumerKey, consumerSecret);
                service.AuthenticateWith(_accessToken.AccessToken, _accessToken.AccessTokenSecret);
                TwitterAsyncResult <TwitterSearchResult> posts;
                if (geoLocation != null)
                {
                    var coordinates = _userService.AddressToCoordinates(geoLocation);
                    posts = await service.SearchAsync(new SearchOptions { Q = query, Count = count, Lang = lang, Resulttype = TwitterSearchResultType.Recent, Geocode = new TwitterGeoLocationSearch {
                                                                              Coordinates = new TwitterGeoLocation.GeoCoordinates {
                                                                                  Latitude = coordinates.latitude, Longitude = coordinates.longitude
                                                                              }, Radius = 500, UnitOfMeasurement = TweetSharp.TwitterGeoLocationSearch.RadiusType.Km
                                                                          } });
                }
                else
                {
                    posts = await service.SearchAsync(new SearchOptions { Q = query, Count = count, Lang = lang, Resulttype = TwitterSearchResultType.Recent });
                }

                return(posts);
            }
            catch (Exception)
            {
                throw;
            }
        }
Example #15
0
 private static bool ValidAccessDetails(AccessDetails details)
 {
     return(details.Password == "123" && details.Username == "test");
 }
Example #16
0
        public TelephonyProfile CreateProfile(ILmsLicense lmsCompany, ILtiParam param, string profileName, IAdobeConnectProxy acProxy)
        {
            if (lmsCompany == null)
            {
                throw new ArgumentNullException(nameof(lmsCompany));
            }
            if (param == null)
            {
                throw new ArgumentNullException(nameof(param));
            }
            if (string.IsNullOrWhiteSpace(profileName))
            {
                throw new ArgumentException("Non-empty value expected", nameof(profileName));
            }
            if (acProxy == null)
            {
                throw new ArgumentNullException(nameof(acProxy));
            }

            try
            {
                var    profiles   = acProxy.TelephonyProviderList(null);
                var    meetingOne = profiles.Values.FirstOrDefault(x => x.ClassName == ClassName);
                string providerId = meetingOne.ProviderId;

                if (meetingOne.ProviderStatus != "enabled")
                {
                    throw new InvalidOperationException("MeetingOne provider is not enabled");
                }

                var access = new AccessDetails
                {
                    UserName            = lmsCompany.GetSetting <string>(LmsLicenseSettingNames.Telephony.MeetingOne.UserName),
                    SecretHashKey       = lmsCompany.GetSetting <string>(LmsLicenseSettingNames.Telephony.MeetingOne.SecretHashKey),
                    OwningAccountNumber = lmsCompany.GetSetting <string>(LmsLicenseSettingNames.Telephony.MeetingOne.OwningAccountNumber),
                };

                var room = new RoomDto
                {
                    Host = new Host
                    {
                        Email          = param.lis_person_contact_email_primary,
                        FirstName      = param.PersonNameGiven,
                        LastName       = param.PersonNameFamily,
                        MailingAddress = param.lis_person_contact_email_primary,
                    },

                    RoomSettings = new RoomSettings
                    {
                        DialoutEnabled             = true,
                        AllowDomesticDialouts      = true,
                        AllowInternationalDialouts = true,
                    },
                };

                // TODO: DI
                RoomDto result = null;
                try
                {
                    var client = new MeetingOneClient(_baseAddress, _logger);
                    result = client.CreateRoom(access, room);
                }
                catch (Exception ex)
                {
                    _logger.Error("MeetingOneClient.CreateRoomAsync failed.", ex);
                    return(null);
                }

                var acProfile = new TelephonyProfileUpdateItem
                {
                    ProfileName = profileName,
                    // ProfileStatus = "enabled",
                    ProviderId = providerId,

                    ProviderFields = new MeetingOneProviderFields
                    {
                        ConferenceId = result.Number,
                        HostPin      = result.HostPIN,
                    },
                };

                TelephonyProfileInfoResult createdProfile = acProxy.TelephonyProfileUpdate(acProfile, false);
                return(createdProfile.TelephonyProfile);
            }
            catch (Exception ex)
            {
                _logger.Error($"CreateProfileAsync error. CompanyLicenseId: {lmsCompany.Id}.", ex);
                throw;
            }
        }
Example #17
0
 public List <SpotifyArtist> GetArtistRelatedArtist(int socialId, string spotifyArtistId, AccessDetails token)
 {
     try
     {
         var Token   = TokenValidate(socialId, token);
         var request = new RestRequest("v1/artists/" + spotifyArtistId + "/related-artists", Method.GET);
         request.AddHeader("Authorization", "Bearer " + Token.AccessToken);
         var response = WebServiceHelper.WebRequest(request, ApiURL);
         JsonDeserializer deserial = new JsonDeserializer();
         var result = deserial.Deserialize <SpotifyRelatedArtist>(response);
         return(result.artists);
     }
     catch (Exception)
     {
         throw;
     }
 }
Example #18
0
        public PlaylistTrackResponse GetPlaylistTracks(string playlistId, string ownerId, int socialId, AccessDetails token, int count)
        {
            try
            {
                var Token   = TokenValidate(socialId, token);
                var request = new RestRequest("v1/users/" + ownerId + "/playlists/" + playlistId + "/tracks", Method.GET);
                request.AddHeader("Authorization", "Bearer " + Token.AccessToken);
                request.AddParameter("offset", count * 5);
                request.AddParameter("limit", "5");

                var response = WebServiceHelper.WebRequest(request, ApiURL);
                JsonDeserializer deserial = new JsonDeserializer();

                var result = deserial.Deserialize <PlaylistTrackResponse>(response);
                return(result);
            }
            catch (Exception)
            {
                throw;
            }
        }
 public ActionResult Index(ProjectList.ProjectDetails model)
 {
     try
     {
         AccessDetails accessDetails = new AccessDetails();
         string        pat           = "";
         string        email         = "";
         if (Session["PAT"] != null)
         {
             pat = Session["PAT"].ToString();
         }
         if (Session["Email"] != null)
         {
             email = Session["PAT"].ToString();
         }
         if (Session["EnableExtractor"] == null || Session["EnableExtractor"].ToString().ToLower() == "false")
         {
             return(RedirectToAction("NotFound"));
         }
         if (string.IsNullOrEmpty(pat))
         {
             return(Redirect("../Account/Verify"));
         }
         else
         {
             accessDetails.access_token = pat;
             ProfileDetails profile = accountService.GetProfile(accessDetails);
             if (profile == null)
             {
                 ViewBag.ErrorMessage = "Could not fetch your profile details, please try to login again";
                 return(View(model));
             }
             if (profile.displayName != null && profile.emailAddress != null)
             {
                 Session["User"]  = profile.displayName;
                 Session["Email"] = profile.emailAddress.ToLower();
             }
             AccountsResponse.AccountList accountList = accountService.GetAccounts(profile.id, accessDetails);
             model.accessToken         = accessDetails.access_token;
             model.accountsForDropdown = new List <string>();
             if (accountList.count > 0)
             {
                 foreach (var account in accountList.value)
                 {
                     model.accountsForDropdown.Add(account.accountName);
                 }
                 model.accountsForDropdown.Sort();
             }
             else
             {
                 model.accountsForDropdown.Add("Select Organization");
                 ViewBag.AccDDError = "Could not load your organizations. Please change the directory in profile page of Azure DevOps Organization and try again.";
             }
             return(View(model));
         }
     }
     catch (Exception ex)
     {
         ExtractorService.logger.Info(DateTime.UtcNow.ToString("yyyy-MM-dd HH:mm:ss") + "\t" + ex.Message + "\n" + ex.StackTrace + "\n");
     }
     return(View(model));
 }
        public ActionResult ExternalLoginConfirmation(RegisterExternalLoginModel model, string returnUrl)
        {
            string provider       = null;
            string providerUserId = null;

            if (User.Identity.IsAuthenticated || !OAuthWebSecurity.TryDeserializeProviderUserId(model.ExternalLoginData, out provider, out providerUserId))
            {
                return(this.RedirectToAction("Index", "Home"));
            }

            if (ModelState.IsValid)
            {
                UserProfile userProfile = this.userManager.GetUserProfileFromProvider(provider, providerUserId);

                if (userProfile == null)
                {
                    ClientUserData clientUserData = (ClientUserData)TempData["ClientUserData"];

                    Random random = new Random();
                    int    userId = random.Next(int.MaxValue);

                    userProfile = new UserProfile
                    {
                        RowKey           = userId.ToString(),
                        UserName         = string.IsNullOrEmpty(clientUserData.UserName) ? clientUserData.Emails.Account : clientUserData.UserName,
                        AccountEmail     = clientUserData.Emails.Account,
                        FirstName        = model.FirstName,
                        LastName         = model.LastName,
                        City             = model.City,
                        Country          = model.Country,
                        State            = model.State,
                        PreferredEmail   = model.PreferredEmail,
                        Gender           = clientUserData.Gender,
                        Link             = Convert.ToString(clientUserData.Link),
                        IsSuperAdmin     = false,
                        TimeZone         = model.TimeZone,
                        CreatedTime      = DateTime.Now.ToUniversalTime().ToString(),
                        Address1         = model.Address1,
                        Address2         = model.Address2,
                        Phone            = model.Phone,
                        PhoneCountryCode = model.PhoneCountryCode,
                        ZipCode          = model.ZipCode
                    };

                    var regions = this.regionSource.GetAvailableRegions();
                    List <AccessDetails> defaultAccess = new List <AccessDetails>();

                    foreach (var region in regions)
                    {
                        var accessDetail = new AccessDetails
                        {
                            AccessLevel = AccessLevels.PortalUser,
                            Authority   = (Authorities)Convert.ToInt32(region.RegionInformation.Id)
                        };

                        defaultAccess.Add(accessDetail);
                    }

                    this.userManager.SaveUserDetails(
                        new UserDetails
                    {
                        UserInfo   = userProfile,
                        AccessInfo = defaultAccess,
                    });

                    this.RegisterAuditor.TransactionId = this.RegisterLogger.TransactionId;
                    this.RegisterAuditor.Audit(AuditId.RegisterUser, AuditStatus.Success, default(int), userProfile.UserName + " Registered Successfully");
                    this.RegisterLogger.Log(TraceEventType.Information, LoggingMessageId.PortalUserRegistration, userProfile.UserName + " registered to the portal");

                    OAuthWebSecurity.CreateOrUpdateAccount(provider, providerUserId, model.UserName);
                    OAuthWebSecurity.Login(provider, providerUserId, createPersistentCookie: false);
                    this.RegisterLogger.Log(TraceEventType.Information, LoggingMessageId.PortalUserLoggedIn, userProfile.UserName + " has logged in to the portal");

                    // By Default IsSuperAdmin is false
                    this.CreateAuthenticationTicket(model.UserName, clientUserData.AccessToken, DateTime.Now, false, false);
                    return(this.RedirectToLocal(returnUrl));
                }
                else
                {
                    ModelState.AddModelError("UserName", "User already exists. Please enter a different user name.");
                }
            }

            ViewBag.ProviderDisplayName = OAuthWebSecurity.GetOAuthClientData(provider).DisplayName;
            ViewBag.ReturnUrl           = returnUrl;
            ViewBag.Country             = new SelectList(Utility.GetCounties());
            ViewBag.TimeZone            = new SelectList(Utility.GetTimeZones());
            ViewBag.PhoneCountryCode    = new SelectList(Utility.GetCountryPhoneCodes());
            return(this.View("Register", model));
        }
        public ActionResult CreateProject()
        {
            try
            {
                AccessDetails _accessDetails = new AccessDetails();
                //AccessDetails _accessDetails = ProjectService.AccessDetails;
                string TemplateSelected = string.Empty;
                if (Session["visited"] != null)
                {
                    Project model = new Project();
                    if (Session["EnableExtractor"] != null)
                    {
                        model.EnableExtractor          = Session["EnableExtractor"].ToString();
                        ProjectService.enableExtractor = model.EnableExtractor.ToLower();
                    }
                    if (Session["templateName"] != null && Session["templateName"].ToString() != "")
                    {
                        model.TemplateName = Session["templateName"].ToString();
                        TemplateSelected   = model.TemplateName;
                    }
                    else
                    {
                        TemplateSelected = System.Configuration.ConfigurationManager.AppSettings["DefaultTemplate"];
                    }

                    if (Session["PAT"] != null)
                    {
                        _accessDetails.access_token = Session["PAT"].ToString();
                        ProfileDetails profile = accountService.GetProfile(_accessDetails);
                        if (profile.displayName != null || profile.emailAddress != null)
                        {
                            Session["User"]  = profile.displayName ?? string.Empty;
                            Session["Email"] = profile.emailAddress ?? profile.displayName.ToLower();
                        }
                        if (profile.id != null)
                        {
                            AccountsResponse.AccountList accountList = accountService.GetAccounts(profile.id, _accessDetails);

                            //New Feature Enabling
                            model.accessToken  = Session["PAT"].ToString();
                            model.refreshToken = _accessDetails.refresh_token;
                            Session["PAT"]     = _accessDetails.access_token;
                            model.MemberID     = profile.id;
                            List <string> accList = new List <string>();
                            if (accountList.count > 0)
                            {
                                foreach (var account in accountList.value)
                                {
                                    accList.Add(account.accountName);
                                }
                                accList.Sort();
                                model.accountsForDropdown = accList;
                                model.hasAccount          = true;
                            }
                            else
                            {
                                accList.Add("Select Organization");
                                model.accountsForDropdown = accList;
                                ViewBag.AccDDError        = "Could not load your organizations. Please check if the logged in Id contains the Azure DevOps Organizations or change the directory in profile page and try again.";
                            }

                            model.Templates          = new List <string>();
                            model.accountUsersForDdl = new List <SelectListItem>();
                            TemplateSelection.Templates templates = new TemplateSelection.Templates();
                            string[] dirTemplates = Directory.GetDirectories(Server.MapPath("~") + @"\Templates");

                            //Taking all the template folder and adding to list
                            foreach (string template in dirTemplates)
                            {
                                model.Templates.Add(Path.GetFileName(template));
                            }
                            // Reading Template setting file to check for private templates
                            if (System.IO.File.Exists(Server.MapPath("~") + @"\Templates\TemplateSetting.json"))
                            {
                                string templateSetting = model.ReadJsonFile(Server.MapPath("~") + @"\Templates\TemplateSetting.json");
                                templates = JsonConvert.DeserializeObject <TemplateSelection.Templates>(templateSetting);
                            }
                            //[for direct URLs] if the incoming template name is not null, checking for Template name in Template setting file.
                            //if exist, will append the template name to Selected template textbox, else will append the SmartHotel360 template
                            if (!string.IsNullOrEmpty(TemplateSelected))
                            {
                                foreach (var grpTemplate in templates.GroupwiseTemplates)
                                {
                                    foreach (var template in grpTemplate.Template)
                                    {
                                        if (template.Name != null)
                                        {
                                            if (template.Name.ToLower() == TemplateSelected.ToLower())
                                            {
                                                model.SelectedTemplate = template.Name;
                                                model.Templates.Add(template.Name);
                                                model.selectedTemplateDescription = template.Description == null ? string.Empty : template.Description;
                                                model.selectedTemplateFolder      = template.TemplateFolder == null ? string.Empty : template.TemplateFolder;
                                                model.Message        = template.Message == null ? string.Empty : template.Message;
                                                model.ForkGitHubRepo = template.ForkGitHubRepo.ToString();
                                                model.templateImage  = template.Image ?? "/Templates/TemplateImages/CodeFile.png";
                                            }
                                        }
                                    }
                                }
                            }
                            return(View(model));
                        }
                    }
                    return(Redirect("../Account/Verify"));
                }
                else
                {
                    Session.Clear();
                    return(Redirect("../Account/Verify"));
                }
            }
            catch (Exception ex)
            {
                ProjectService.logger.Info(DateTime.UtcNow.ToString("yyyy-MM-dd HH:mm:ss") + "\t" + ex.Message + "\t" + "\n" + ex.StackTrace + "\n");
                ViewBag.ErrorMessage = ex.Message;
                return(Redirect("../Account/Verify"));
            }
        }
Example #22
0
        public static async Task <(string, HttpStatusCode)> GetData(string url, string content, AccessDetails accessDetails, string method = "POST")
        {
            string         contentText = "";
            HttpStatusCode statusCode;

            using (System.Net.Http.HttpClient client = new System.Net.Http.HttpClient())
            {
                if (accessDetails != null)
                {
                    var authValue = new AuthenticationHeaderValue("Basic", Convert.ToBase64String(Encoding.UTF8.GetBytes($"{accessDetails.Username}:{accessDetails.Password}")));

                    client.DefaultRequestHeaders.Authorization = authValue;
                }

                HttpResponseMessage response;

                switch (method)
                {
                case "GET":
                    response = await client.GetAsync(url);

                    break;

                case "POST":
                    var stringContent = new StringContent(content);
                    response = await client.PostAsync(url, stringContent);

                    break;

                default:
                    throw new Exception("Method not supported");
                }

                statusCode = response.StatusCode;

                try
                {
                    contentText = await response.Content.ReadAsStringAsync();
                }
                catch
                {
                }


                response.Dispose();
            }

            return(contentText, statusCode);
        }