public void ValidateSourceCodeReturnsFalseForExistingCouponCode() { ISourceCodeRepository sourceCodeRepository = new SourceCodeRepository(); bool isValid = sourceCodeRepository.ValidateSourceCode(EXISTING_SOURCE_CODE); Assert.IsFalse(isValid); }
public void ValidateSourceCodeReturnsTrueForNonexistentCouponCode() { ISourceCodeRepository sourceCodeRepository = new SourceCodeRepository(); bool isValid = sourceCodeRepository.ValidateSourceCode(NONEXISTENT_SOURCE_CODE); Assert.IsTrue(isValid); }
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); }
public void GetByIdsTest() { var ids = new long[] { 1, 2, 3, 4 }; ISourceCodeRepository sourceCodeRepository = new SourceCodeRepository(); var collection = sourceCodeRepository.GetSourceCodeByIds(ids); Assert.IsNotNull(collection); }
public void ForkRepo_ToStringTest() { var sut = new SourceCodeRepository { SourceRepositoryName = "SourceRepoName", TenantCode = "TNT", Fork = true }; sut.ToString().Should().Be("SourceRepoName-TNT"); }
public void StandardComponent_ToStringTest() { var sut = new SourceCodeRepository { SourceRepositoryName = "SourceRepoName", TenantCode = "TNT", Fork = false }; sut.ToString().Should().Be("SourceRepoName"); }
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); }
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()); }
protected void Application_Start() { AreaRegistration.RegisterAllAreas(); FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters); RouteConfig.RegisterRoutes(RouteTable.Routes); BundleConfig.RegisterBundles(BundleTable.Bundles); SourceCodeRepository.Initialize(this.Server); }
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); }
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()); }
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; }
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); } } }
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); } }
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(); } }
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); }
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); }
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); }
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); }
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); }
/// <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())); }
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(); } }
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); }
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); }
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); }
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); }