Esempio n. 1
0
        public void ValidateSourceCodeReturnsFalseForExistingCouponCode()
        {
            ISourceCodeRepository sourceCodeRepository = new SourceCodeRepository();
            bool isValid = sourceCodeRepository.ValidateSourceCode(EXISTING_SOURCE_CODE);

            Assert.IsFalse(isValid);
        }
Esempio n. 2
0
        public void ValidateSourceCodeReturnsTrueForNonexistentCouponCode()
        {
            ISourceCodeRepository sourceCodeRepository = new SourceCodeRepository();
            bool isValid = sourceCodeRepository.ValidateSourceCode(NONEXISTENT_SOURCE_CODE);

            Assert.IsTrue(isValid);
        }
Esempio n. 3
0
        private string GetCouponCode()
        {
            string couponCode = "N/A";

            if (_orderDetail != null && _orderDetail.SourceCodeOrderDetail != null)
            {
                ISourceCodeRepository sourceCodeRepository = new SourceCodeRepository();
                var sourceCode = sourceCodeRepository.GetSourceCodeById(_orderDetail.SourceCodeOrderDetail.SourceCodeId);
                if (sourceCode != null)
                {
                    couponCode = sourceCode.CouponCode;
                    string couponValue = "0.00";

                    if (_orderDetail.SourceCodeOrderDetail.Amount != 0m)
                    {
                        couponValue = _orderDetail.SourceCodeOrderDetail.Amount.ToString();
                    }
                    if (Convert.ToSingle(couponValue) < 0.00)
                    {
                        couponValue = string.Empty;
                    }
                    else
                    {
                        couponValue = _orderDetail.SourceCodeOrderDetail.Amount.ToString("C2");
                    }

                    return(couponCode + "(" + couponValue + ")");
                }
            }
            return(couponCode);
        }
Esempio n. 4
0
        public void GetByIdsTest()
        {
            var ids = new long[] { 1, 2, 3, 4 };
            ISourceCodeRepository sourceCodeRepository = new SourceCodeRepository();
            var collection = sourceCodeRepository.GetSourceCodeByIds(ids);

            Assert.IsNotNull(collection);
        }
Esempio n. 5
0
    public void ForkRepo_ToStringTest()
    {
        var sut = new SourceCodeRepository {
            SourceRepositoryName = "SourceRepoName", TenantCode = "TNT", Fork = true
        };

        sut.ToString().Should().Be("SourceRepoName-TNT");
    }
Esempio n. 6
0
    public void StandardComponent_ToStringTest()
    {
        var sut = new SourceCodeRepository {
            SourceRepositoryName = "SourceRepoName", TenantCode = "TNT", Fork = false
        };

        sut.ToString().Should().Be("SourceRepoName");
    }
Esempio n. 7
0
        public override WorkflowResult Process(WorkflowResult workflowResult       = null,
                                               CancellationToken cancellationToken = default(CancellationToken))
        {
            Thread.CurrentThread.CurrentCulture = CultureInfo.InvariantCulture;

            BaseLanguages = GetBaseLanguages(AnalyzedLanguages);
            var result = workflowResult ??
                         new WorkflowResult(AnalyzedLanguages.ToArray(), ThreadCount, Stage, IsIncludeIntermediateResult);

            result.BaseLanguages = BaseLanguages.ToArray();
            result.RenderStages  = RenderStages;
            result.IsSimplifyUst = IsSimplifyUst;

            IEnumerable <string> fileNames = SourceCodeRepository.GetFileNames();

            if (fileNames is IList <string> fileNamesList)
            {
                result.TotalFilesCount = fileNamesList.Count;
            }
            else
            {
                filesCountTask = Task.Factory.StartNew(() => result.TotalFilesCount = fileNames.Count());
            }

            try
            {
                var patternMatcher = new PatternMatcher
                {
                    Logger   = Logger,
                    Patterns = ConvertPatterns(result),
                    IsIgnoreFilenameWildcards = IsIgnoreFilenameWildcards
                };

                var parallelOptions = PrepareParallelOptions(cancellationToken);
                Parallel.ForEach(
                    fileNames,
                    parallelOptions,
                    fileName =>
                {
                    Thread.CurrentThread.CurrentCulture = CultureInfo.InvariantCulture;
                    ProcessFileWithTimeout(fileName, patternMatcher, result, parallelOptions.CancellationToken);
                });
            }
            catch (OperationCanceledException)
            {
                Logger.LogInfo("Scan has been cancelled");
            }

            if (result.TotalProcessedFilesCount > 1)
            {
                AntlrParser.ClearCacheIfRequired();
            }

            DumpJsonOutput(result);
            result.ErrorCount = logger?.ErrorCount ?? 0;
            return(result);
        }
Esempio n. 8
0
        public void GetByFilter_PassingNullfilter_Tester()
        {
            ISourceCodeRepository sourceCodeRepository = new SourceCodeRepository();
            long totalRecords = 0;
            var  records      = sourceCodeRepository.GetbyFilter(null, 1, 25, out totalRecords);

            Assert.IsNotNull(records);
            Assert.IsNotEmpty(records.ToArray());
        }
Esempio n. 9
0
        protected void Application_Start()
        {
            AreaRegistration.RegisterAllAreas();
            FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters);
            RouteConfig.RegisterRoutes(RouteTable.Routes);
            BundleConfig.RegisterBundles(BundleTable.Bundles);

            SourceCodeRepository.Initialize(this.Server);
        }
Esempio n. 10
0
        protected ParseTree ReadAndParse(string fileName, TWorkflowResult workflowResult, CancellationToken cancellationToken = default(CancellationToken))
        {
            ParseTree result    = null;
            var       stopwatch = new Stopwatch();
            string    file      = fileName;

            if (stageHelper.IsContainsRead)
            {
                if (SourceCodeRepository.IsFileIgnored(fileName))
                {
                    Logger.LogInfo($"File {fileName} has not been read.");
                    return(null);
                }

                stopwatch.Restart();
                SourceCodeFile sourceCodeFile = SourceCodeRepository.ReadFile(fileName);
                stopwatch.Stop();

                Logger.LogInfo($"File {fileName} has been read (Elapsed: {stopwatch.Elapsed}).");

                workflowResult.AddProcessedCharsCount(sourceCodeFile.Code.Length);
                workflowResult.AddProcessedLinesCount(TextHelper.GetLinesCount(sourceCodeFile.Code));
                workflowResult.AddReadTime(stopwatch.ElapsedTicks);
                workflowResult.AddResultEntity(sourceCodeFile);

                cancellationToken.ThrowIfCancellationRequested();

                file = sourceCodeFile.RelativePath;
                if (stageHelper.IsContainsParse)
                {
                    stopwatch.Restart();
                    Language?detectedLanguage = LanguageDetector.DetectIfRequired(sourceCodeFile.Name, sourceCodeFile.Code, Languages);
                    if (detectedLanguage == null)
                    {
                        Logger.LogInfo($"Input languages set is empty or {sourceCodeFile.Name} language has not been detected. File has not been converter.");
                        return(null);
                    }
                    result = ParserConverterSets[(Language)detectedLanguage].Parser.Parse(sourceCodeFile);
                    stopwatch.Stop();
                    Logger.LogInfo($"File {fileName} has been parsed (Elapsed: {stopwatch.Elapsed}).");
                    workflowResult.AddParseTime(stopwatch.ElapsedTicks);

                    var antlrParseTree = result as AntlrParseTree;
                    if (antlrParseTree != null)
                    {
                        workflowResult.AddLexerTime(antlrParseTree.LexerTimeSpan.Ticks);
                        workflowResult.AddParserTicks(antlrParseTree.ParserTimeSpan.Ticks);
                    }

                    cancellationToken.ThrowIfCancellationRequested();
                }
            }
            return(result);
        }
Esempio n. 11
0
        public void GetByFilter_Tester()
        {
            ISourceCodeRepository sourceCodeRepository = new SourceCodeRepository();
            long totalRecords = 0;
            var  filter       = new SourceCodeListModelFilter {
                SourceCodeName = "Sand"
            };
            var records = sourceCodeRepository.GetbyFilter(filter, 1, 25, out totalRecords);

            Assert.IsNotNull(records);
            Assert.IsNotEmpty(records.ToArray());
        }
Esempio n. 12
0
        public Workflow(SourceCodeRepository sourceCodeRepository = null,
                        IPatternsRepository patternsRepository    = null, Stage stage = Stage.Match)
            : base(stage)
        {
            LogsDir = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.LocalApplicationData), "PT.PM");
            DumpDir = LogsDir;
            TempDir = Path.Combine(Path.GetTempPath(), "PT.PM");
            SourceCodeRepository = sourceCodeRepository;
            PatternsRepository   = patternsRepository ?? new DefaultPatternRepository();
            IPatternSerializer jsonNodeSerializer = new JsonPatternSerializer();
            IPatternSerializer dslNodeSerializer  = new DslProcessor();

            PatternConverter = new PatternConverter(jsonNodeSerializer, dslNodeSerializer);
            Stage            = stage;
        }
Esempio n. 13
0
        private void SaveProspectCustomer()
        {
            if (CurrentProspectCustomer == null || CurrentProspectCustomer.Id < 1)
            {
                return;
            }

            IProspectCustomerRepository prospectCustomerRepository = new ProspectCustomerRepository();
            bool isAWorkshopProspect = prospectCustomerRepository.IsProspectAWorkshopProspect(CurrentProspectCustomer.Id);

            if (isAWorkshopProspect)
            {
                CurrentProspectCustomer.Source        = ProspectCustomerSource.SalesRep;
                CurrentProspectCustomer.Tag           = ProspectCustomerTag.WellnessSeminar;
                CurrentProspectCustomer.TagUpdateDate = DateTime.Now;

                IUniqueItemRepository <ProspectCustomer> uniqueItemRepository = new ProspectCustomerRepository();
                uniqueItemRepository.Save(CurrentProspectCustomer);
                return;
            }

            if (!string.IsNullOrEmpty(txtCouponCode.Text))
            {
                ISourceCodeRepository sourceCodeRepository = new SourceCodeRepository();
                bool isAWorkshopSourceCode;
                try
                {
                    isAWorkshopSourceCode =
                        sourceCodeRepository.IsSourceCodeAWorkshopSourceCode(txtCouponCode.Text.Trim());
                }
                catch (Exception)
                {
                    isAWorkshopSourceCode = false;
                }

                if (isAWorkshopSourceCode)
                {
                    CurrentProspectCustomer.SourceCodeId  = SourceCodeId;
                    CurrentProspectCustomer.Source        = ProspectCustomerSource.SalesRep;
                    CurrentProspectCustomer.Tag           = ProspectCustomerTag.WellnessSeminar;
                    CurrentProspectCustomer.TagUpdateDate = DateTime.Now;

                    IUniqueItemRepository <ProspectCustomer> uniqueItemRepository = new ProspectCustomerRepository();
                    uniqueItemRepository.Save(CurrentProspectCustomer);
                }
            }
        }
Esempio n. 14
0
    public async Task CreateForkIfNotExists_SuccessFlow()
    {
        using (var scope = _containerFixture.Container.BeginLifetimeScope())
        {
            var sut        = scope.Resolve <GitHttpClient>();
            var vstsConfig = scope.Resolve <VstsConfiguration>();
            var suffix     = Guid.NewGuid().ToString();
            //create test repo
            var newFork = new SourceCodeRepository("ForkIntTestSourceRepo", suffix, ProjectTypeEnum.WebApi, true);
            await sut.CreateForkIfNotExists(vstsConfig.VstsCollectionId, vstsConfig.VstsTargetProjectId, newFork);

            var repo = (await sut.GetRepositoriesAsync()).FirstOrDefault(r => r.Name == $"ForkIntTestSourceRepo-{suffix}");
            repo.Should().NotBeNull();
            //clean up
            // ReSharper disable once PossibleNullReferenceException
            await sut.DeleteRepositoryAsync(repo.Id);
        }
    }
Esempio n. 15
0
    public async Task DeleteForkIfExists_SuccessFlow()
    {
        using (var scope = _containerFixture.Container.BeginLifetimeScope())
        {
            var sut        = scope.Resolve <GitHttpClient>();
            var vstsConfig = scope.Resolve <VstsConfiguration>();
            var suffix     = Guid.NewGuid().ToString();
            var fork       = new SourceCodeRepository("ForkIntTestSourceRepo", suffix, ProjectTypeEnum.WebApi, true);
            //create target repo
            await sut.CreateForkIfNotExists(vstsConfig.VstsCollectionId, vstsConfig.VstsTargetProjectId, fork);

            var repo = (await sut.GetRepositoriesAsync()).FirstOrDefault(r => r.Name == $"ForkIntTestSourceRepo-{suffix}");
            repo.Should().NotBeNull();
            //delete target repo
            await sut.DeleteForkIfExists($"ForkIntTestSourceRepo-{suffix}");

            (await sut.GetRepositoriesAsync()).FirstOrDefault(r => r.Name == $"ForkIntTestSourceRepo-{suffix}").Should().BeNull();
        }
    }
Esempio n. 16
0
    public void Update_CheckToBeDeletedForkRetry()
    {
        var forkRepoA = new SourceCodeRepository
        {
            SourceRepositoryName = "RepoA",
            State      = EntityStateEnum.ToBeDeleted,
            TenantCode = "TenantA"
        };
        var currentTenant = new Tenant
        {
            Code             = "TenantA",
            Name             = "oldName",
            SourceRepos      = new List <SourceCodeRepository>(new[] { forkRepoA }),
            BuildDefinitions = new List <VstsBuildDefinition>(new[]
            {
                new VstsBuildDefinition
                {
                    SourceCode = forkRepoA, State = EntityStateEnum.Created, TenantCode = "TenantA"
                }
            })
        };

        var tenantRequest = new Tenant
        {
            SourceRepos = new List <SourceCodeRepository>(new[]
            {
                new SourceCodeRepository {
                    SourceRepositoryName = "RepoA"
                },
                new SourceCodeRepository {
                    SourceRepositoryName = "RepoB"
                }
            })
        };

        currentTenant.Update(tenantRequest, GetEnvironments());

        currentTenant.SourceRepos.Should()
        .ContainSingle(f =>
                       f.SourceRepositoryName == "RepoA" && f.TenantCode == "TenantA" &&
                       f.State == EntityStateEnum.ToBeDeleted);
    }
Esempio n. 17
0
    public void Update_CheckNotCreatedBuildDefinitionRetry()
    {
        var forkRepoA = new SourceCodeRepository
        {
            SourceRepositoryName = "RepoA",
            State      = EntityStateEnum.Created,
            TenantCode = "TenantA"
        };
        var currentTenant = new Tenant
        {
            Code             = "TenantA",
            Name             = "oldName",
            SourceRepos      = new List <SourceCodeRepository>(new[] { forkRepoA }),
            BuildDefinitions = new List <VstsBuildDefinition>(new[]
            {
                new VstsBuildDefinition
                {
                    SourceCode = forkRepoA, State = EntityStateEnum.NotCreated, TenantCode = "TenantA"
                }
            })
        };

        var tenantRequest = new Tenant
        {
            SourceRepos = new List <SourceCodeRepository>(new[]
            {
                new SourceCodeRepository {
                    SourceRepositoryName = "RepoA"
                }
            })
        };

        currentTenant.Update(tenantRequest, GetEnvironments());

        currentTenant.BuildDefinitions.Should()
        .ContainSingle(d =>
                       d.SourceCode.ToString() == forkRepoA.ToString() && d.TenantCode == "TenantA" &&
                       d.State == EntityStateEnum.NotCreated);
    }
Esempio n. 18
0
        private SourceCodeViewData GetSourceCodeUserPair(SourceCodeOrderDetail sourceCodeOrderDetail)
        {
            if (sourceCodeOrderDetail == null)
            {
                return(null);
            }
            var organizationRoleUserCreator = GetOrganizationRoleUser(sourceCodeOrderDetail,
                                                                      scod => scod.OrganizationRoleUserCreatorId);

            ISourceCodeRepository sourceCodeRepository = new SourceCodeRepository();

            var sourceCode = sourceCodeRepository.GetSourceCodeById(sourceCodeOrderDetail.SourceCodeId);

            if (sourceCode != null && organizationRoleUserCreator != null && organizationRoleUserCreator.FirstValue != null)
            {
                sourceCode.CouponValue          = sourceCodeOrderDetail.Amount;
                sourceCode.DataRecorderMetaData = new DataRecorderMetaData()
                {
                    DateCreated = sourceCodeOrderDetail.DateCreated
                };
                sourceCode.CouponDescription = ((Roles)organizationRoleUserCreator.FirstValue.RoleId).ToString();

                return(new SourceCodeViewData
                {
                    Amount = sourceCodeOrderDetail.Amount,
                    AppliedByName = organizationRoleUserCreator.SecondValue.FirstValue,
                    AppliedByRole = organizationRoleUserCreator.SecondValue.SecondValue,
                    AppliedDate =
                        sourceCodeOrderDetail.DateCreated.ToString(
                            "MMM dd yyyy"),
                    SourceCode = sourceCode.CouponCode,
                    SourceCodeId = sourceCode.Id
                });
            }
            return(null);
        }
Esempio n. 19
0
        private void SetProspectCustomer()
        {
            long?sourceCodeId = null;

            if (!string.IsNullOrEmpty(txtSourceCode.Text))
            {
                ISourceCodeRepository sourceCodeRepository = new SourceCodeRepository();
                try
                {
                    var sourceCode = sourceCodeRepository.GetSourceCodeByCode(txtSourceCode.Text);
                    if (sourceCode != null)
                    {
                        sourceCodeId = sourceCode.Id;
                    }
                }
                catch
                {
                    sourceCodeId = null;
                }
            }

            var commonCode  = new CommonCode();
            var phoneNumber = commonCode.FormatPhoneNumber(txtCallBackNo.Text);
            ProspectCustomer prospectCustomer = null;

            if (CurrentProspectCustomerId > 0)
            {
                var proecpectCustomerRepository = IoC.Resolve <IProspectCustomerRepository>();
                prospectCustomer = proecpectCustomerRepository.GetProspectCustomer(CurrentProspectCustomerId);
            }
            else
            {
                prospectCustomer = new ProspectCustomer
                {
                    FirstName = txtFirstName.Text,
                    LastName  = txtLastName.Text,
                    Address   = new Address {
                        ZipCode = new ZipCode {
                            Zip = txtZipCode.Text
                        }
                    },
                    Source        = ProspectCustomerSource.CallCenter,
                    Tag           = ProspectCustomerTag.CallCenterSignup,
                    TagUpdateDate = DateTime.Now
                                    //SourceCodeId = sourceCodeId
                };
            }
            if (!string.IsNullOrEmpty(phoneNumber))
            {
                prospectCustomer.CallBackPhoneNumber = new PhoneNumber
                {
                    PhoneNumberType = PhoneNumberType.Unknown,
                    Number          =
                        phoneNumber.Substring(3,
                                              phoneNumber.Length - 3),
                    AreaCode = phoneNumber.Substring(0, 3)
                };
            }
            if (ViewState["IncomingPhoneLine"] != null && !string.IsNullOrEmpty(ViewState["IncomingPhoneLine"].ToString()))
            {
                var incomingPhoneNumber = ViewState["IncomingPhoneLine"].ToString();
                prospectCustomer.PhoneNumber = new PhoneNumber
                {
                    PhoneNumberType = PhoneNumberType.Unknown,
                    Number          =
                        incomingPhoneNumber.Substring(3,
                                                      incomingPhoneNumber
                                                      .Length - 3),
                    AreaCode = incomingPhoneNumber.Substring(0, 3)
                };
            }

            SaveProspectCustomerNew(prospectCustomer);
        }
Esempio n. 20
0
        public override WorkflowResult Process(WorkflowResult workflowResult       = null,
                                               CancellationToken cancellationToken = default(CancellationToken))
        {
            var  result = workflowResult ?? new WorkflowResult(Languages, ThreadCount, Stage, IsIncludeIntermediateResult);
            Task convertPatternsTask = GetConvertPatternsTask(result);

            if (Stage == Stage.Patterns)
            {
                if (!convertPatternsTask.IsCompleted)
                {
                    convertPatternsTask.Wait();
                }
            }
            else
            {
                IEnumerable <string> fileNames = SourceCodeRepository.GetFileNames();
                result.TotalFilesCount = fileNames.Count();

                try
                {
                    if (ThreadCount == 1 || result.TotalFilesCount == 1)
                    {
                        Thread.CurrentThread.CurrentCulture   = CultureInfo.InvariantCulture;
                        Thread.CurrentThread.CurrentUICulture = CultureInfo.InvariantCulture;

                        foreach (string fileName in fileNames)
                        {
                            ProcessFile(fileName, convertPatternsTask, result, cancellationToken);
                        }
                    }
                    else
                    {
                        var parallelOptions = new ParallelOptions
                        {
                            MaxDegreeOfParallelism = ThreadCount == 0 ? -1 : ThreadCount,
                            CancellationToken      = cancellationToken
                        };

                        Parallel.ForEach(
                            fileNames,
                            parallelOptions,
                            fileName =>
                        {
                            Thread.CurrentThread.CurrentCulture   = CultureInfo.InvariantCulture;
                            Thread.CurrentThread.CurrentUICulture = CultureInfo.InvariantCulture;
                            ProcessFile(fileName, convertPatternsTask, result, parallelOptions.CancellationToken);
                        });
                    }
                }
                catch (OperationCanceledException)
                {
                    Logger.LogInfo("Scan has been cancelled by user");
                }

                foreach (var pair in ParserConverterSets)
                {
                    pair.Value?.Parser.ClearCache();
                }
            }

            result.ErrorCount = logger?.ErrorCount ?? 0;
            return(result);
        }
Esempio n. 21
0
        /// <summary>
        /// Creates a repository Fork through the VSTS <see cref="GitHttpClient"/>.
        /// </summary>
        /// <param name="client">The <see cref="GitHttpClient"/> used to create the Fork.</param>
        /// <param name="vstsCollectionId">The target collection ID where we are creating the fork on.</param>
        /// <param name="vstsTargetProjectId">The target project ID where we are creating the fork on.</param>
        /// <param name="sourceCodeRepository">fork definition</param>
        /// <returns>The async <see cref="Task{GitRepository}"/> wrapper with pre-existing or new repo</returns>
        internal static async Task <GitRepository> CreateForkIfNotExists(this GitHttpClient client, string vstsCollectionId, string vstsTargetProjectId, SourceCodeRepository sourceCodeRepository)
        {
            var sourceRepo = await client.LoadGitRepositoryIfExists(sourceCodeRepository.SourceRepositoryName);

            if (sourceRepo == null)
            {
                throw new ArgumentException($"Repository {sourceCodeRepository.SourceRepositoryName} not found");
            }

            return(await CreateForkIfNotExists(client, vstsCollectionId, vstsTargetProjectId, sourceRepo, sourceCodeRepository.ToString()));
        }
Esempio n. 22
0
        protected void Page_Load(object sender, EventArgs e)
        {
            RegistrationFlow.CanSaveConsentInfo = false;
            SetTitle();
            bool defaultBasePackage = false;

            FillClinicialQuestionnaireDiv.Visible = false;
            ClinicalQuestionTemplateId            = 0;
            IsClinicalQuestionaireFilled          = false;


            if (EventId > 0)
            {
                if (EventData != null)
                {
                    EventType = EventData.EventType;

                    var configurationSettingRepository = IoC.Resolve <IConfigurationSettingRepository>();
                    EnableAlaCarte = Convert.ToBoolean(configurationSettingRepository.GetConfigurationValue(ConfigurationSettingName.EnableAlaCarte));
                    if (EnableAlaCarte)
                    {
                        EnableAlaCarte = EventData.EnableAlaCarteCallCenter;
                    }
                }

                if (AccountByEventId != null)
                {
                    if (AccountByEventId.AskClinicalQuestions && AccountByEventId.ClinicalQuestionTemplateId.HasValue)
                    {
                        FillClinicialQuestionnaireDiv.Visible = true;
                        ClinicalQuestionTemplateId            = AccountByEventId.ClinicalQuestionTemplateId.Value;
                        GetRecommendationText();
                    }
                    defaultBasePackage = AccountByEventId.DefaultSelectionBasePackage;

                    // for penguin integartion
                    var settings = IoC.Resolve <ISettings>();

                    QuestionnaireType questionnaireType = QuestionnaireType.None;
                    if (AccountByEventId != null && AccountByEventId.IsHealthPlan && EventData != null)
                    {
                        var accountHraChatQuestionnaireHistoryServices = IoC.Resolve <IAccountHraChatQuestionnaireHistoryServices>();
                        questionnaireType = accountHraChatQuestionnaireHistoryServices.QuestionnaireTypeByAccountIdandEventDate(AccountByEventId.Id, EventData.EventDate);
                    }

                    if (questionnaireType == QuestionnaireType.HraQuestionnaire)
                    {
                        var userSession = IoC.Resolve <ISessionContext>().UserSession;
                        var token       =
                            (Session.SessionID + "_" + userSession.UserId + "_" +
                             userSession.CurrentOrganizationRole.RoleId + "_" +
                             userSession.CurrentOrganizationRole.OrganizationId).Encrypt();


                        HraQuestionerAppUrlWithoutVisit = settings.HraQuestionerAppUrl + "?userToken=" +
                                                          HttpUtility.UrlEncode(token) + "&customerId=" + CustomerId + "&orgName=" +
                                                          settings.OrganizationNameForHraQuestioner + "&tag=" + AccountByEventId.Tag;
                        HraQuestionerAppUrl = HraQuestionerAppUrlWithoutVisit + "&visitId=" + (RegistrationFlow.AwvVisitId.HasValue ? RegistrationFlow.AwvVisitId.Value : 0);

                        ChatQuestionerAppUrl = string.Empty;
                    }
                    else if (questionnaireType == QuestionnaireType.ChatQuestionnaire)
                    {
                        ChatQuestionerAppUrl = settings.HraQuestionerAppUrl;
                        HraQuestionerAppUrl  = string.Empty;
                    }
                }
            }


            if (!IsPostBack)
            {
                if (RegistrationFlow != null && RegistrationFlow.IsRetest)
                {
                    RetestNo.Checked  = false;
                    RetestYes.Checked = true;
                }
                else
                {
                    RetestNo.Checked  = true;
                    RetestYes.Checked = false;
                }

                if (RegistrationFlow != null && RegistrationFlow.SingleTestOverride)
                {
                    SingleTestOverrideYes.Checked = true;
                    SingleTestOverrideNo.Checked  = false;
                }
                else
                {
                    SingleTestOverrideYes.Checked = false;
                    SingleTestOverrideNo.Checked  = true;
                }

                if (EventId != 0)
                {
                    // Hack: This is  done if the user hits back button on payment page, to get back to select package page.
                    if (SourceCodeId > 0 && !string.IsNullOrEmpty(SourceCode))
                    {
                        txtCouponCode.Text = SourceCode;
                    }
                    else if (RegistrationFlow != null)
                    {
                        txtCouponCode.Text = RegistrationFlow.CallSourceCode;
                    }

                    hfEventID.Value = EventId.ToString();

                    var eventCustomerQuestionAnswerService = IoC.Resolve <IEventCustomerQuestionAnswerService>();
                    hfQuestionAnsTestId.Value = eventCustomerQuestionAnswerService.GetQuestionAnswerTestIdString(CustomerId, EventId);
                }
                else
                {
                    const string message = "Sorry, Event detail not found. <a href=\"RegCustomerSearchEvent.aspx\">Click here</a> to search event again ";
                    DisplayErrorMessage(message);
                }

                if (CurrentProspectCustomer != null && CurrentProspectCustomer.Id > 0 && CurrentProspectCustomer.SourceCodeId != null && CurrentProspectCustomer.SourceCodeId.Value > 0)
                {
                    ISourceCodeRepository sourceCodeRepository = new SourceCodeRepository();
                    var sourceCode = sourceCodeRepository.GetSourceCodeById(CurrentProspectCustomer.SourceCodeId.Value);
                    if (sourceCode != null)
                    {
                        txtCouponCode.Text = sourceCode.CouponCode;
                    }
                }
                IEventPackageRepository packageRepository = new EventPackageRepository();
                var preApprovedPackageRepository          = IoC.Resolve <IPreApprovedPackageRepository>();

                if (AccountByEventId != null && AccountByEventId.AllowPreQualifiedTestOnly)
                {
                    long preApprovedPackageId = preApprovedPackageRepository.CheckPreApprovedPackages(CustomerId);
                    if (PackageId == 0 && preApprovedPackageId > 0 && (RegistrationFlow == null || !RegistrationFlow.SingleTestOverride) && (RegistrationFlow == null || string.IsNullOrEmpty(RegistrationFlow.DisqualifiedTest)))
                    {
                        var eventPackages = packageRepository.GetPackagesForEventByRole(EventId, (long)Roles.CallCenterRep);

                        if (!eventPackages.IsNullOrEmpty())
                        {
                            var preApprovedPackage = eventPackages.FirstOrDefault(x => x.PackageId == preApprovedPackageId);
                            if (preApprovedPackage != null)
                            {
                                PackageId = preApprovedPackage.PackageId;
                                TestIds   = preApprovedPackage.Tests.Select(t => t.TestId).ToList();
                            }
                        }
                    }
                }


                if (defaultBasePackage && PackageId == 0 && (RegistrationFlow == null || !RegistrationFlow.SingleTestOverride) && (RegistrationFlow == null || string.IsNullOrEmpty(RegistrationFlow.DisqualifiedTest)))
                {
                    var eventPackages = packageRepository.GetPackagesForEventByRole(EventId, (long)Roles.CallCenterRep)
                                        .OrderBy(p => p.Price);
                    if (!eventPackages.IsNullOrEmpty())
                    {
                        var lowestPricePackage = eventPackages.First();
                        PackageId = lowestPricePackage.PackageId;
                        TestIds   = lowestPricePackage.Tests.Select(t => t.TestId).ToList();
                    }
                }

                if (RegistrationFlow != null && !string.IsNullOrWhiteSpace(RegistrationFlow.DisqualifiedTest) && string.IsNullOrWhiteSpace(hfDisqualifedTest.Value))
                {
                    hfDisqualifedTest.Value = RegistrationFlow.DisqualifiedTest;
                }

                if (RegistrationFlow != null && !string.IsNullOrWhiteSpace(RegistrationFlow.QuestionIdAnswerTestId) && string.IsNullOrWhiteSpace(hfQuestionAnsTestId.Value))
                {
                    hfQuestionAnsTestId.Value = RegistrationFlow.QuestionIdAnswerTestId;
                }

                /*if (!DisqualifiedTestIds.IsNullOrEmpty())
                 * {
                 *  TestIds = TestIds.Where(x => !DisqualifiedTestIds.Contains(x)).ToList();
                 * }*/

                ItemCartControl.EventId   = EventId;
                ItemCartControl.RoleId    = (long)Roles.CallCenterRep;
                ItemCartControl.PackageId = PackageId;
                ItemCartControl.TestIds   = TestIds;

                if (Request.QueryString["Call"] != null && Request.QueryString["Call"] == "No")
                {
                    divCall.Style.Add(HtmlTextWriterStyle.Display, "none");
                    divCall.Style.Add(HtmlTextWriterStyle.Visibility, "hidden");
                }
                else
                {
                    var repository = new CallCenterCallRepository();
                    hfCallStartTime.Value = repository.GetCallStarttime(CallId);
                }

                if (Request.UrlReferrer != null)
                {
                    ViewState["UrlReferer"] = Request.UrlReferrer.PathAndQuery;
                }
            }
            if (Request.Params["__EVENTTARGET"] == "NextButton" && Request.Params["__EVENTARGUMENT"] == "Click")
            {
                NextButtonClick();
            }
        }
Esempio n. 23
0
    public void SwitchForkToStandardComponent()
    {
        var forkRepoA = new SourceCodeRepository
        {
            State = EntityStateEnum.Created,
            SourceRepositoryName = "RepoA",
            TenantCode           = "TenantA",
            Fork = true
        };
        var relDefA = new VstsReleaseDefinition {
            TenantCode = "TenantA", State = EntityStateEnum.Created
        };
        var buildDefA = new VstsBuildDefinition
        {
            SourceCode         = forkRepoA,
            TenantCode         = "TenantA",
            ReleaseDefinitions = new[] { relDefA }.ToList(),
            State = EntityStateEnum.Created
        };

        relDefA.BuildDefinition = buildDefA;

        var currentTenant = new Tenant
        {
            Code               = "TenantA",
            Name               = "oldName",
            SourceRepos        = new List <SourceCodeRepository>(new[] { forkRepoA }),
            BuildDefinitions   = new List <VstsBuildDefinition>(new[] { buildDefA }),
            ReleaseDefinitions = new List <VstsReleaseDefinition>(new[] { relDefA })
        };

        var tenantRequest = new Tenant
        {
            SourceRepos =
                new List <SourceCodeRepository>(new[]
                                                { new SourceCodeRepository {
                                                      SourceRepositoryName = "RepoA", Fork = false
                                                  } })
        };

        currentTenant.Update(tenantRequest, GetEnvironments());
        //check fork repo in to be deleted state and standard component in to be created
        currentTenant.SourceRepos.Should().HaveCount(2);
        currentTenant.SourceRepos.Should().ContainSingle(r =>
                                                         r.Fork && r.SourceRepositoryName == "RepoA" && r.State == EntityStateEnum.ToBeDeleted);
        currentTenant.SourceRepos.Should().ContainSingle(r =>
                                                         !r.Fork && r.SourceRepositoryName == "RepoA" && r.State == EntityStateEnum.NotCreated);
        //check the same for build definition
        var newRepo = currentTenant.SourceRepos.First(r => !r.Fork);

        currentTenant.BuildDefinitions.Should().HaveCount(2);
        currentTenant.BuildDefinitions.Should().ContainSingle(b =>
                                                              b.SourceCode.Equals(forkRepoA) && b.State == EntityStateEnum.ToBeDeleted);
        currentTenant.BuildDefinitions.Should().ContainSingle(b =>
                                                              b.SourceCode.Equals(newRepo) && b.State == EntityStateEnum.NotCreated);

        //check the same for release definition
        var newBuildDef = currentTenant.BuildDefinitions.First(r => r.SourceCode.Equals(newRepo));

        currentTenant.ReleaseDefinitions.Should().HaveCount(3);
        currentTenant.ReleaseDefinitions.Should()
        .ContainSingle(r => r.BuildDefinition.Equals(buildDefA) && r.State == EntityStateEnum.ToBeDeleted);
        currentTenant.ReleaseDefinitions.Should()
        .ContainSingle(r =>
                       r.BuildDefinition.Equals(newBuildDef) && r.State == EntityStateEnum.NotCreated && !r.RingBased);
        currentTenant.ReleaseDefinitions.Should()
        .ContainSingle(r =>
                       r.BuildDefinition.Equals(newBuildDef) && r.State == EntityStateEnum.NotCreated && r.RingBased);
    }
Esempio n. 24
0
    public void Update_RemoveRepo()
    {
        var forkRepoA = new SourceCodeRepository
        {
            State = EntityStateEnum.Created,
            SourceRepositoryName = "RepoA",
            TenantCode           = "TenantA"
        };
        var forkRepoB = new SourceCodeRepository
        {
            State = EntityStateEnum.Created,
            SourceRepositoryName = "RepoB",
            TenantCode           = "TenantA"
        };
        var relDefA = new VstsReleaseDefinition {
            TenantCode = "TenantA", State = EntityStateEnum.Created
        };
        var relDefB = new VstsReleaseDefinition {
            TenantCode = "TenantB", State = EntityStateEnum.Created
        };
        var buildDefA = new VstsBuildDefinition
        {
            SourceCode         = forkRepoA,
            TenantCode         = "TenantA",
            ReleaseDefinitions = new[] { relDefA }.ToList(),
            State = EntityStateEnum.Created
        };
        var buildDefB = new VstsBuildDefinition
        {
            SourceCode         = forkRepoB,
            TenantCode         = "TenantA",
            ReleaseDefinitions = new[] { relDefB }.ToList(),
            State = EntityStateEnum.Created
        };

        relDefA.BuildDefinition = buildDefA;
        relDefB.BuildDefinition = buildDefB;

        var currentTenant = new Tenant
        {
            Code               = "TenantA",
            Name               = "oldName",
            SourceRepos        = new List <SourceCodeRepository>(new[] { forkRepoA, forkRepoB }),
            BuildDefinitions   = new List <VstsBuildDefinition>(new[] { buildDefA, buildDefB }),
            ReleaseDefinitions = new List <VstsReleaseDefinition>(new[] { relDefA, relDefB })
        };

        var tenantRequest = new Tenant
        {
            SourceRepos =
                new List <SourceCodeRepository>(new[] { new SourceCodeRepository {
                                                            SourceRepositoryName = "RepoA"
                                                        } })
        };

        currentTenant.Update(tenantRequest, GetEnvironments());

        //forks checks
        currentTenant.SourceRepos.Should().NotContain(f => f.State == EntityStateEnum.NotCreated);
        currentTenant.SourceRepos.Should()
        .ContainSingle(f =>
                       f.SourceRepositoryName == "RepoB" && f.TenantCode == "TenantA" &&
                       f.State == EntityStateEnum.ToBeDeleted);
        //build definition checks
        currentTenant.BuildDefinitions.Should().NotContain(d => d.State == EntityStateEnum.NotCreated);
        currentTenant.BuildDefinitions.Should()
        .ContainSingle(d =>
                       d.SourceCode.SourceRepositoryName == "RepoB" && forkRepoA.TenantCode == "TenantA" &&
                       d.State == EntityStateEnum.ToBeDeleted);
        //release definition checks
        currentTenant.ReleaseDefinitions.Should().NotContain(d => d.State == EntityStateEnum.NotCreated);
        currentTenant.ReleaseDefinitions.Should()
        .ContainSingle(d =>
                       d.BuildDefinition.SourceCode.SourceRepositoryName == "RepoB" && forkRepoA.TenantCode == "TenantA" &&
                       d.State == EntityStateEnum.ToBeDeleted);
    }
Esempio n. 25
0
    public void Update_AddAdditionalRepo()
    {
        var fork = new SourceCodeRepository
        {
            SourceRepositoryName = "AlreadyThere",
            State      = EntityStateEnum.Created,
            TenantCode = "TenantA",
            Fork       = true
        };


        var relDefA = new VstsReleaseDefinition {
            TenantCode = "TenantA", State = EntityStateEnum.Created
        };

        var buildDefA = new VstsBuildDefinition
        {
            SourceCode         = fork,
            TenantCode         = "TenantA",
            ReleaseDefinitions = new[] { relDefA }.ToList(),
            State = EntityStateEnum.Created
        };
        var currentTenant = new Tenant
        {
            Code             = "TenantA",
            Name             = "oldName",
            SourceRepos      = new List <SourceCodeRepository>(new[] { fork }),
            BuildDefinitions = new List <VstsBuildDefinition>(new[]
            {
                buildDefA
            }),
            ReleaseDefinitions = new List <VstsReleaseDefinition>()
            {
                relDefA
            }
        };

        var tenantRequest = new Tenant
        {
            SourceRepos = new List <SourceCodeRepository>(new[]
            {
                new SourceCodeRepository {
                    SourceRepositoryName = "A", Fork = true
                },
                fork
            })
        };

        currentTenant.Update(tenantRequest, GetEnvironments());
        currentTenant.SourceRepos.Should().HaveCount(2);
        //forks checks
        currentTenant.SourceRepos.Should().ContainSingle(f => f.State == EntityStateEnum.NotCreated);
        currentTenant.SourceRepos.Should()
        .ContainSingle(f =>
                       f.SourceRepositoryName == "A" && f.TenantCode == "TenantA" && f.State == EntityStateEnum.NotCreated);
        currentTenant.SourceRepos.Should()
        .Contain(f =>
                 f.SourceRepositoryName == "AlreadyThere" && f.State == EntityStateEnum.Created &&
                 f.TenantCode == "TenantA");
        //build definition checks
        currentTenant.BuildDefinitions.Should().ContainSingle(bd => bd.State == EntityStateEnum.NotCreated);
        currentTenant.BuildDefinitions.Should()
        .ContainSingle(d =>
                       d.State == EntityStateEnum.NotCreated && d.TenantCode == "TenantA" &&
                       d.SourceCode.SourceRepositoryName == "A");
        currentTenant.BuildDefinitions.Should().NotContain(bd => bd.State == EntityStateEnum.ToBeDeleted);
        //release definition checks
        currentTenant.ReleaseDefinitions.Should().ContainSingle(bd => bd.State == EntityStateEnum.NotCreated);
        currentTenant.ReleaseDefinitions.Should()
        .ContainSingle(d =>
                       d.State == EntityStateEnum.NotCreated && d.TenantCode == "TenantA" &&
                       d.BuildDefinition.SourceCode.SourceRepositoryName == "A");
        currentTenant.ReleaseDefinitions.Should().NotContain(bd => bd.State == EntityStateEnum.ToBeDeleted);
    }
Esempio n. 26
0
        private bool SetCustomerDetail()
        {
            IUniqueItemRepository <EventCustomer> eventCustomerRepository = new EventCustomerRepository();
            var eventCustomer = eventCustomerRepository.GetById(EventCustomerId);

            if (eventCustomer != null)
            {
                CustomerId = eventCustomer.CustomerId;
                EventId    = eventCustomer.EventId;
                var organizationRoleUserRepository = IoC.Resolve <IOrganizationRoleUserRepository>();
                var orgRoleUser = organizationRoleUserRepository.GetOrganizationRoleUser(eventCustomer.DataRecorderMetaData.DataRecorderCreator.Id);

                EventRegisteredBy = (Roles)Enum.Parse(typeof(Roles), orgRoleUser.RoleId.ToString());

                speventid.InnerText = EventId.ToString();

                if (Customer != null && Customer.Address != null)
                {
                    spcustomerdetail.InnerText = " " + "-" + " " + Customer.Name + "(ID:" + Customer.CustomerId + ")";
                }

                var eventService            = IoC.Resolve <IEventService>();
                var eventBasicInfoViewModel = eventService.GetEventBasicInfoFor(eventCustomer.EventId);

                speventid.InnerText  = EventId.ToString();
                sphostname.InnerText = eventBasicInfoViewModel.HostName;
                spaddress.InnerText  =
                    CommonCode.AddressSingleLine(eventBasicInfoViewModel.HostAddress.StreetAddressLine1,
                                                 eventBasicInfoViewModel.HostAddress.StreetAddressLine2,
                                                 eventBasicInfoViewModel.HostAddress.City,
                                                 eventBasicInfoViewModel.HostAddress.State,
                                                 eventBasicInfoViewModel.HostAddress.ZipCode);

                if (eventCustomer.AppointmentId.HasValue)
                {
                    var appointmentRepository = IoC.Resolve <IAppointmentRepository>();
                    var appointment           = appointmentRepository.GetById(eventCustomer.AppointmentId.Value);
                    spapptime.InnerText = appointment.StartTime.ToShortTimeString();
                }

                speventdate.InnerText  = eventBasicInfoViewModel.EventDate.ToShortDateString();
                ViewState["EventDate"] = eventBasicInfoViewModel.EventDate.ToShortDateString();


                IOrderRepository orderRepository = new OrderRepository();
                var order = orderRepository.GetOrder(CustomerId.Value, EventId.Value);
                if (order != null && !order.OrderDetails.IsEmpty())
                {
                    hfPackageCost.Value = order.OrderDetails.Where(od =>
                                                                   (od.DetailType == OrderItemType.EventPackageItem && od.IsCompleted) ||
                                                                   (od.DetailType == OrderItemType.EventTestItem && od.IsCompleted))
                                          .Sum(od => od.Price).ToString();

                    sppackagecost.InnerText =
                        order.OrderDetails.Where(od =>
                                                 (od.DetailType == OrderItemType.EventPackageItem && od.IsCompleted) ||
                                                 (od.DetailType == OrderItemType.EventTestItem && od.IsCompleted))
                        .Sum(od => od.Price).ToString("C2");

                    OrderId = order.Id;
                    SetRefundRequestAmount(OrderId);
                    SetPaymentDetails(order);

                    IOrderController orderController = new OrderController();
                    var orderDetail = orderController.GetActiveOrderDetail(order);
                    IOrderItemRepository orderItemRepository = new OrderItemRepository();
                    var orderItem = orderItemRepository.GetOrderItem(orderDetail.OrderItemId);
                    if (orderItem is EventPackageItem)
                    {
                        var eventPackageItem = orderItem as EventPackageItem;

                        var itemRepository = IoC.Resolve <IEventPackageRepository>();
                        var eventPackage   = itemRepository.GetById(eventPackageItem.ItemId);
                        PackageId = eventPackage.PackageId;
                    }
                    if (orderDetail.SourceCodeOrderDetail != null)
                    {
                        if (Customer != null)
                        {
                            ViewState["DateApplied"] = Customer.DateCreated;
                        }

                        ISourceCodeRepository sourceCodeRepository = new SourceCodeRepository();
                        var sourceCode =
                            sourceCodeRepository.GetSourceCodeById(orderDetail.SourceCodeOrderDetail.SourceCodeId);
                        spcoupon.InnerText = sourceCode.CouponCode;

                        if (!string.IsNullOrEmpty(sourceCode.CouponCode))
                        {
                            rbtreplaceexisting.Checked  = true;
                            hfcurrentcoupon.Value       = sourceCode.CouponCode;
                            hfcurrentcouponamount.Value = orderDetail.SourceCodeOrderDetail.Amount.ToString("N2");
                        }
                        else
                        {
                            rbtapplycoupon.Checked = true;
                        }
                    }
                    else
                    {
                        spcoupon.InnerText     = "N/A";
                        rbtapplycoupon.Checked = true;
                    }
                }
                return(true);
            }
            return(false);
        }