コード例 #1
0
        public async Task <HttpResponseMessage> SaveSurvey(SurveyModel surveyModel, string authenticationToken, Stream questionImage, List <KeyValuePair <string, byte[]> > optionImages)
        {
            try
            {
                using (var client = new HttpClient())
                {
                    string boundary = "---8d0f01e6b3b5dafaaadaad";
                    var    content  = new MultipartFormDataContent(boundary);
                    content.Add(new StringContent(JsonConvert.SerializeObject(surveyModel, new JsonSerializerSettings()
                    {
                        NullValueHandling = NullValueHandling.Ignore
                    }), Encoding.UTF8, "application/json"), "model");
                    content.Add(new StreamContent(new MemoryStream()), "questionImg");

                    if (surveyModel.type == SurveyType.Image.ToString())
                    {
                        foreach (var img in optionImages)
                        {
                            content.Add(CreateFileContent(img.Value, img.Key));
                        }
                    }

                    client.DefaultRequestHeaders.TryAddWithoutValidation("Authorization", "Bearer " + authenticationToken);

                    return(await client.PostAsync(EnvironmentConstants.getServerUrl() + "api/survey", content));
                }
            }
            catch (Exception ex)
            {
                throw new Exception(ex.Message);
            }
        }
コード例 #2
0
ファイル: LoginService.cs プロジェクト: plurallnetwork/askker
        public async Task <HttpResponseMessage> GetUserByEmail(string email)
        {
            try
            {
                using (var client = new HttpClient())
                {
                    var formContent = new StringContent(JsonConvert.SerializeObject(email), Encoding.UTF8, "application/json");

                    return(await client.PostAsync(EnvironmentConstants.getServerUrl() + "api/Account/GetUserByEmailFromApp", formContent));
                }
            }
            catch (Exception ex)
            {
                throw new Exception(ex.Message);
            }
        }
コード例 #3
0
ファイル: LoginService.cs プロジェクト: plurallnetwork/askker
        public async Task <HttpResponseMessage> SetPasswordFromApp(SetPasswordModel model)
        {
            try
            {
                using (var client = new HttpClient())
                {
                    var formContent = new StringContent(JsonConvert.SerializeObject(model), Encoding.UTF8, "application/json");

                    return(await client.PostAsync(EnvironmentConstants.getServerUrl() + "api/account/setpasswordfromapp", formContent));
                }
            }
            catch (Exception ex)
            {
                throw new Exception(ex.Message);
            }
        }
コード例 #4
0
ファイル: LoginService.cs プロジェクト: plurallnetwork/askker
        public async Task <HttpResponseMessage> GetUserById(string authenticationToken)
        {
            try
            {
                using (var client = new HttpClient())
                {
                    client.DefaultRequestHeaders.TryAddWithoutValidation("Authorization", "Bearer " + authenticationToken);

                    return(await client.GetAsync(EnvironmentConstants.getServerUrl() + "api/Account/GetUserById"));
                }
            }
            catch (Exception ex)
            {
                throw new Exception(ex.Message);
            }
        }
コード例 #5
0
        public async Task <HttpResponseMessage> UnlikeComment(string commentId, string userId, string authenticationToken)
        {
            try
            {
                using (var client = new HttpClient())
                {
                    var uri = new Uri(string.Format(EnvironmentConstants.getServerUrl() + "api/survey/unlikecomment/{0}/{1}", commentId, userId));

                    client.DefaultRequestHeaders.TryAddWithoutValidation("Authorization", "Bearer " + authenticationToken);
                    return(await client.PostAsync(uri, null));
                }
            }
            catch (Exception ex)
            {
                throw new Exception(ex.Message);
            }
        }
コード例 #6
0
        public async Task <HttpResponseMessage> GetFeed(string userId, bool filterMine, bool filterForMe, bool filterFinished, string authenticationToken)
        {
            try
            {
                using (var client = new HttpClient())
                {
                    var uri = new Uri(string.Format(EnvironmentConstants.getServerUrl() + "api/survey/getfeed/{0}/{1}/{2}/{3}", userId, filterMine, filterForMe, filterFinished));

                    client.DefaultRequestHeaders.TryAddWithoutValidation("Authorization", "Bearer " + authenticationToken);
                    return(await client.GetAsync(uri));
                }
            }
            catch (Exception ex)
            {
                throw new Exception(ex.Message);
            }
        }
コード例 #7
0
        public async Task <HttpResponseMessage> GetResultsByGender(string userId, string creationDate, string authenticationToken)
        {
            try
            {
                using (var client = new HttpClient())
                {
                    var uri = new Uri(string.Format(EnvironmentConstants.getServerUrl() + "api/survey/GetResultsByGender/{0}/{1}", userId, creationDate));

                    client.DefaultRequestHeaders.TryAddWithoutValidation("Authorization", "Bearer " + authenticationToken);
                    return(await client.GetAsync(uri));
                }
            }
            catch (Exception ex)
            {
                throw new Exception(ex.Message);
            }
        }
コード例 #8
0
ファイル: UserService.cs プロジェクト: plurallnetwork/askker
        public async Task <HttpResponseMessage> IsUserBlocked(string blockedUserId, string authenticationToken)
        {
            try
            {
                using (var client = new HttpClient())
                {
                    var uri = new Uri(string.Format(EnvironmentConstants.getServerUrl() + "api/account/isUserBlocked/{0}", blockedUserId));

                    client.DefaultRequestHeaders.TryAddWithoutValidation("Authorization", "Bearer " + authenticationToken);
                    return(await client.GetAsync(uri));
                }
            }
            catch (Exception ex)
            {
                throw new Exception(ex.Message);
            }
        }
コード例 #9
0
ファイル: UserService.cs プロジェクト: plurallnetwork/askker
        public async Task <HttpResponseMessage> DeleteUserAndData(string authenticationToken)
        {
            try
            {
                using (var client = new HttpClient())
                {
                    var uri = new Uri(string.Format(EnvironmentConstants.getServerUrl() + "api/account/DeleteUserAndData"));

                    client.DefaultRequestHeaders.TryAddWithoutValidation("Authorization", "Bearer " + authenticationToken);
                    return(await client.PostAsync(uri, null));
                }
            }
            catch (Exception ex)
            {
                throw new Exception(ex.Message);
            }
        }
コード例 #10
0
        public async Task <HttpResponseMessage> UpdateGroupRelationshipStatus(string authenticationToken, string groupId, string userId, UserGroupRelationshipStatus groupRelationshipStatus)
        {
            try
            {
                using (var client = new HttpClient())
                {
                    var uri = new Uri(string.Format(EnvironmentConstants.getServerUrl() + "api/Account/UpdateUserRelationshipStatusGroup/{0}/{1}/{2}", groupId, userId, groupRelationshipStatus.ToString()));

                    client.DefaultRequestHeaders.TryAddWithoutValidation("Authorization", "Bearer " + authenticationToken);
                    return(await client.PostAsync(uri, null));
                }
            }
            catch (Exception ex)
            {
                throw new Exception(ex.Message);
            }
        }
コード例 #11
0
        public async Task <HttpResponseMessage> SearchGroupsByName(string authenticationToken, string name)
        {
            try
            {
                using (var client = new HttpClient())
                {
                    var uri = new Uri(string.Format(EnvironmentConstants.getServerUrl() + "api/Account/SearchGroupsByName/{0}", name));

                    client.DefaultRequestHeaders.TryAddWithoutValidation("Authorization", "Bearer " + authenticationToken);

                    return(await client.GetAsync(uri));
                }
            }
            catch (Exception ex)
            {
                throw new Exception(ex.Message);
            }
        }
コード例 #12
0
ファイル: LoginService.cs プロジェクト: plurallnetwork/askker
        public async Task <HttpResponseMessage> UpdateUserInformation(UserModel userModel, string authenticationToken)
        {
            try
            {
                using (var client = new HttpClient())
                {
                    var formContent = new StringContent(JsonConvert.SerializeObject(userModel), Encoding.UTF8, "application/json");

                    client.DefaultRequestHeaders.TryAddWithoutValidation("Authorization", "Bearer " + authenticationToken);

                    return(await client.PostAsync(EnvironmentConstants.getServerUrl() + "api/survey/updateuserinformation", formContent));
                }
            }
            catch (Exception ex)
            {
                throw new Exception(ex.Message);
            }
        }
コード例 #13
0
        public async Task <HttpResponseMessage> LikeComment(SurveyCommentLikeModel surveyCommentLikeModel, string authenticationToken)
        {
            try
            {
                using (var client = new HttpClient())
                {
                    var formContent = new StringContent(JsonConvert.SerializeObject(surveyCommentLikeModel, new JsonSerializerSettings()
                    {
                        NullValueHandling = NullValueHandling.Ignore
                    }), Encoding.UTF8, "application/json");

                    client.DefaultRequestHeaders.TryAddWithoutValidation("Authorization", "Bearer " + authenticationToken);
                    return(await client.PostAsync(EnvironmentConstants.getServerUrl() + "api/survey/likecomment", formContent));
                }
            }
            catch (Exception ex)
            {
                throw new Exception(ex.Message);
            }
        }
コード例 #14
0
        public HttpResponseMessage PostCrashReport(string authenticationToken, string report)
        {
            try
            {
                using (var client = new HttpClient())
                {
                    string boundary = "---8d0f01e6b3b5dafaaadaad";
                    var    content  = new MultipartFormDataContent(boundary);
                    content.Add(new StringContent(report, Encoding.UTF8, "text/plain"), "report");

                    client.DefaultRequestHeaders.TryAddWithoutValidation("Authorization", "Bearer " + authenticationToken);

                    return(client.PostAsync(EnvironmentConstants.getServerUrl() + "api/Account/CrashReport", content).Result);
                }
            }
            catch (Exception ex)
            {
                throw new Exception(ex.Message);
            }
        }
コード例 #15
0
ファイル: LoginService.cs プロジェクト: plurallnetwork/askker
        public async Task <HttpResponseMessage> GetAuthorizationToken(UserLoginModel userLoginModel)
        {
            try
            {
                using (var client = new HttpClient())
                {
                    var formContent = new FormUrlEncodedContent(new[]
                    {
                        new KeyValuePair <string, string>("grant_type", "password"),
                        new KeyValuePair <string, string>("username", userLoginModel.Username),
                        new KeyValuePair <string, string>("password", userLoginModel.Password)
                    });

                    return(await client.PostAsync(EnvironmentConstants.getServerUrl() + "Token", formContent));
                }
            }
            catch (Exception ex)
            {
                throw new Exception(ex.Message);
            }
        }
コード例 #16
0
ファイル: VoteService.cs プロジェクト: plurallnetwork/askker
        public async Task <HttpResponseMessage> Vote(SurveyVoteModel surveyVoteModel, string authenticationToken)
        {
            try
            {
                using (var client = new HttpClient())
                {
                    List <SurveyVoteModel> surveyVotes = new List <SurveyVoteModel>();
                    surveyVotes.Add(surveyVoteModel);

                    var formContent = new StringContent(JsonConvert.SerializeObject(surveyVotes, new JsonSerializerSettings()
                    {
                        NullValueHandling = NullValueHandling.Ignore
                    }), Encoding.UTF8, "application/json");

                    return(await client.PostAsync(EnvironmentConstants.getServerUrl() + "api/survey/vote", formContent));
                }
            }
            catch (Exception ex)
            {
                throw new Exception(ex.Message);
            }
        }
コード例 #17
0
ファイル: LoginService.cs プロジェクト: plurallnetwork/askker
        public async Task <HttpResponseMessage> Update(string authenticationToken, UserModel userModel, byte[] profileImage, string profileImageName)
        {
            try
            {
                using (var client = new HttpClient())
                {
                    string boundary = "---8d0f01e6b3b5dafaaadaad";
                    var    content  = new MultipartFormDataContent(boundary);
                    content.Add(new StringContent(JsonConvert.SerializeObject(userModel), Encoding.UTF8, "application/json"), "model");
                    if (!string.IsNullOrEmpty(profileImageName))
                    {
                        content.Add(CreateFileContent(profileImage, profileImageName));
                    }

                    client.DefaultRequestHeaders.TryAddWithoutValidation("Authorization", "Bearer " + authenticationToken);

                    return(await client.PostAsync(EnvironmentConstants.getServerUrl() + "api/Account/Update", content));
                }
            }
            catch (Exception ex)
            {
                throw new Exception(ex.Message);
            }
        }
コード例 #18
0
        private void CreateNotificationRules(long projectId)
        {
            var notifications = new List <NotificationBundle>
            {
                new NotificationBundle(
                    UserType.Developer,
                    EnvironmentConstants.DeveloperPolicyViolationRuleName,
                    "Developer: policy violated"),
                new NotificationBundle(
                    UserType.Developer,
                    EnvironmentConstants.DeveloperPolicySuccessfulRuleName,
                    "Developer: policy accomplished"),
                new NotificationBundle(
                    UserType.Developer,
                    EnvironmentConstants.DeveloperTaskFinishedRuleName,
                    "Developer: scan finished"),
                new NotificationBundle(
                    UserType.Manager,
                    EnvironmentConstants.ManagerPolicySuccessfulRuleName,
                    "Mgr: policy accomplished"),
                new NotificationBundle(
                    UserType.Manager,
                    EnvironmentConstants.ManagerPolicyViolationRuleName,
                    "Mgr: policy violated"),
                new NotificationBundle(
                    UserType.Manager,
                    EnvironmentConstants.ManagerTaskFinishedRuleName,
                    "Mgr: scan finished")
            };

            var currentLicence = _licenceProvider.GetCurrent();

            if (currentLicence.Id == LicenceIds.Ftp)
            {
                notifications.Add(
                    new NotificationBundle(UserType.Developer, EnvironmentConstants.DeveloperFtpTechByTrigger, "Placeholder report"));
                notifications.Add(
                    new NotificationBundle(
                        UserType.Manager,
                        EnvironmentConstants.ManagerFtpAnalystReportByTrigget,
                        "Placeholder report"));
            }

            var pciDssReport = _reportRepository.Get(projectId, "Scan results - PCI DSS").SingleOrDefault();

            var ftpTechReport = _reportRepository.Get(projectId, "FTP technical report").SingleOrDefault();

            var devReportAttach = $"\nreport {ftpTechReport?.Id}\nformat Pdf";

            var ftpAnalystReport = _reportRepository.Get(projectId, "FTP analytical report").SingleOrDefault();

            var manReportAttach = $"\nreport {ftpAnalystReport?.Id}\nformat Pdf\nparameters VulnType:XSS;";

            if (pciDssReport == null)
            {
                return;
            }

            foreach (var notification in notifications)
            {
                var notificationQuery = new EnvironmentConstants().GetNotificationRule(notification.NotificationRuleName);

                var notificationReport = _reportRepository.Get(projectId, notification.NotificationReportName).SingleOrDefault();

                if (notificationReport == null)
                {
                    continue;
                }

                notificationQuery = notificationQuery
                                    .Replace("$NotificationReport$", notificationReport.Id.ToString())
                                    .Replace("$PciDssReport$", pciDssReport.Id.ToString());

                if (currentLicence.Id == LicenceIds.Ftp)
                {
                    switch (notification.UserType)
                    {
                    case UserType.Developer:
                        notificationQuery += devReportAttach;
                        break;

                    case UserType.Manager:
                        notificationQuery += manReportAttach;
                        break;

                    default:
                        throw new ArgumentOutOfRangeException();
                    }
                }

                AddNotificationRule(projectId, notification.NotificationRuleName, notificationQuery);
            }
        }
コード例 #19
0
ファイル: BaseTest.cs プロジェクト: cayrax2013/autotests
 //Создал метод для удобства и читабельности кода
 private void InitializeData()
 {
     EnvironmentConstantsProvider.Provide(out EnvironmentConstants environmentConstants);
     EnvironmentConstants = environmentConstants;
 }