public async Task SubmitApplication(Guid applicationId, ApplyData applyData, FinancialData financialData, Guid submittedBy) { using (var connection = new SqlConnection(_config.SqlConnectionString)) { await connection.OpenAsync(); await connection.ExecuteAsync(@"UPDATE Apply SET ApplicationStatus = @ApplicationStatus, ApplyData = @applyData, AssessorReviewStatus = @AssessorReviewStatus, GatewayReviewStatus = @GatewayReviewStatus, FinancialReviewStatus = @FinancialReviewStatus, UpdatedBy = @submittedBy, UpdatedAt = GETUTCDATE() WHERE (Apply.ApplicationId = @applicationId)", new { applicationId, ApplicationStatus = ApplicationStatus.Submitted, applyData, AssessorReviewStatus = AssessorReviewStatus.New, GatewayReviewStatus = GatewayReviewStatus.New, FinancialReviewStatus = FinancialReviewStatus.New, submittedBy }); await connection.ExecuteAsync(@"insert into FinancialData ([ApplicationId] ,[TurnOver],[Depreciation],[ProfitLoss],[Dividends],[IntangibleAssets] ,[Assets],[Liabilities],[ShareholderFunds],[Borrowings],[AccountingReferenceDate],[AccountingPeriod],[AverageNumberofFTEEmployees]) values (@ApplicationId, @TurnOver,@Depreciation, @ProfitLoss,@Dividends,@IntangibleAssets ,@Assets,@Liabilities,@ShareholderFunds,@Borrowings,@AccountingReferenceDate,@AccountingPeriod,@AverageNumberofFTEEmployees)", financialData); connection.Close(); } }
public async Task <Guid> SnapshotApplication(Guid applicationId, Guid snapshotApplicationId, List <ApplySequence> newSequences) { var currentApplication = await GetApplication(applicationId); if (currentApplication != null) { var newApplyData = new ApplyData { Sequences = newSequences, ApplyDetails = currentApplication.ApplyData?.ApplyDetails }; using (var connection = new SqlConnection(_config.SqlConnectionString)) { return(await connection.QuerySingleAsync <Guid>( @"INSERT INTO ApplySnapshots (ApplicationId, SnapshotApplicationId, SnapshotDate, OrganisationId, ApplicationStatus, ApplyData, GatewayReviewStatus, AssessorReviewStatus, FinancialReviewStatus, FinancialGrade) OUTPUT INSERTED.[SnapshotApplicationId] VALUES (@ApplicationId, @snapshotApplicationId, GETUTCDATE(), @OrganisationId, @ApplicationStatus, @newApplyData, @GatewayReviewStatus, @AssessorReviewStatus, @FinancialReviewStatus, @FinancialGrade)", new { currentApplication.ApplicationId, snapshotApplicationId, currentApplication.OrganisationId, currentApplication.ApplicationStatus, newApplyData, currentApplication.GatewayReviewStatus, currentApplication.AssessorReviewStatus, currentApplication.FinancialReviewStatus, currentApplication.FinancialGrade })); } } return(Guid.Empty); }
private async Task NotifyContact(Domain.Entities.Contact contactToNotify, ApplyData applyData, int sequenceNo, CancellationToken cancellationToken) { var email = contactToNotify.Email; var contactname = contactToNotify.DisplayName; var reference = applyData.Apply.ReferenceNumber; var standard = applyData.Apply.StandardName; if (sequenceNo == ApplyConst.ORGANISATION_SEQUENCE_NO) { var emailTemplate = await _eMailTemplateQueryRepository.GetEmailTemplate(EmailTemplateNames.ApplyEPAOInitialSubmission); await _mediator.Send(new SendEmailRequest(email, emailTemplate, new { contactname, reference }), cancellationToken); var emailTemplateAlert = await _eMailTemplateQueryRepository.GetEmailTemplate(EmailTemplateNames.ApplyEPAOAlertSubmission); await _mediator.Send(new SendEmailRequest(string.Empty, emailTemplateAlert, new { contactname, reference }), cancellationToken); } else if (sequenceNo == ApplyConst.STANDARD_SEQUENCE_NO) { var emailTemplate = await _eMailTemplateQueryRepository.GetEmailTemplate(EmailTemplateNames.ApplyEPAOStandardSubmission); await _mediator.Send(new SendEmailRequest(email, emailTemplate, new { contactname, reference, standard }), cancellationToken); } else if (sequenceNo == ApplyConst.ORGANISATION_WITHDRAWAL_SEQUENCE_NO || sequenceNo == ApplyConst.STANDARD_WITHDRAWAL_SEQUENCE_NO) { var emailTemplate = await _eMailTemplateQueryRepository.GetEmailTemplate(EmailTemplateNames.WithdrawalEPAOSubmission); await _mediator.Send(new SendEmailRequest(email, emailTemplate, new { contactname, reference }), cancellationToken); } }
public async Task <bool> UpdateModerationStatus(Guid applicationId, ApplyData applyData, string status, string userId) { using (var connection = _dbConnectionHelper.GetDatabaseConnection()) { var rowsAffected = await connection.ExecuteAsync(@"UPDATE Apply SET ModerationStatus = ISNULL(@status, ModerationStatus), AssessorReviewStatus = CASE WHEN @status = @moderationStatusPass THEN @assessorReviewStatusApproved WHEN @status = @moderationStatusFail THEN @assessorReviewStatusDeclined ELSE AssessorReviewStatus END, ApplyData = ISNULL(@applyData, ApplyData), UpdatedBy = @userId, UpdatedAt = GETUTCDATE() WHERE ApplicationId = @applicationId AND DeletedAt IS NULL", new { applicationId, status, applyData, userId, moderationStatusPass = ModerationStatus.Pass, moderationStatusFail = ModerationStatus.Fail, assessorReviewStatusApproved = AssessorReviewStatus.Approved, assessorReviewStatusDeclined = AssessorReviewStatus.Declined }); return(rowsAffected > 0); } }
private void btnNewApply_Click(object sender, EventArgs e) { if (btnNewApply.Text == "新增") { applyControl.ApplyActionState = Apply.ApplyControl.ApplyAction.aaNew; SetButtonState(ButtonState.bsNew); //显示检查项目录入窗口 frmNewStudy newStudyForm = new frmNewStudy(_dbQuery); newStudyForm.ShowDialog(); if (newStudyForm.DialogResult == DialogResult.OK) { //添加检查项目信息 ApplyData appExamItem = new ApplyData(); appExamItem.影像类别 = newStudyForm.Modality; appExamItem.申请项目ID = newStudyForm.ItemID;; appExamItem.申请信息.检查项目 = new JApplyExamItem(); appExamItem.申请信息.检查项目.项目名称 = newStudyForm.OrderContent; appExamItem.申请信息.检查项目 = newStudyForm.oneExamItem; applyControl.SetNewExamItem(appExamItem); } } else { if (applyControl.SaveApply(Apply.ApplyControl.ApplyAction.aaNew) == true) { //保存成功了才改变状态 SetButtonState(ButtonState.bsNormal); applyControl.ApplyActionState = Apply.ApplyControl.ApplyAction.aaShow; } } }
private void AddSubmissionInfoToApplyData(ApplyData applyData, int sequenceNo, Domain.Entities.Contact submittingContact) { var submission = new Submission { SubmittedAt = DateTime.UtcNow, SubmittedBy = submittingContact.Id, SubmittedByEmail = submittingContact.Email }; if (sequenceNo == 1) { if (applyData.Apply.InitSubmissions == null) { applyData.Apply.InitSubmissions = new List <Submission>(); } applyData.Apply.InitSubmissions.Add(submission); applyData.Apply.InitSubmissionsCount = applyData.Apply.InitSubmissions.Count; applyData.Apply.LatestInitSubmissionDate = submission.SubmittedAt; } else if (sequenceNo == 2) { if (applyData.Apply.StandardSubmissions == null) { applyData.Apply.StandardSubmissions = new List <Submission>(); } applyData.Apply.StandardSubmissions.Add(submission); applyData.Apply.StandardSubmissionsCount = applyData.Apply.StandardSubmissions.Count; applyData.Apply.LatestStandardSubmissionDate = submission.SubmittedAt; } }
public void Start_assessor_review_returns_false_if_section_already_reviewed(string sectionStatus) { var applyData = new ApplyData { Sequences = new List <ApplySequence> { new ApplySequence { SequenceNo = 2, Sections = new List <ApplySection> { new ApplySection { SectionNo = 1, Status = sectionStatus } } } } }; _repository.Setup(x => x.GetApplyData(It.IsAny <Guid>())).ReturnsAsync(applyData); var request = new StartAssessorSectionReviewRequest(Guid.NewGuid(), SequenceId, SectionId, Reviewer); var result = _handler.Handle(request, new CancellationToken()).GetAwaiter().GetResult(); result.Should().BeFalse(); }
private void SyncSelRowData() { try { richTextBox1.Text = ""; if (listView1.SelectedItems.Count <= 0) { return; } ApplyData applyData = listView1.SelectedItems[0].Tag as ApplyData; if (applyData == null) { MessageBox.Show("未获取到对应的申请信息。", "提示"); return; } InitApplyReport(applyData.申请ID); } catch (Exception ex) { MsgBox.ShowException(ex, this); } }
private bool IsSequenceRequired(ApplyData applyData, int sequenceNo) { // a sequence cannot be considered required if it does not exist in the ApplyData return(applyData ?.Sequences ?.Any(x => x.SequenceNo == sequenceNo && !x.NotRequired) ?? false); }
private void UpdateSequenceAndSectionStatus(ApplyData applyData, int sequenceNo, Dictionary <int, bool?> dictOfRequestedFeedbackAnswered) { if (applyData.Sequences != null) { foreach (var sequence in applyData.Sequences.Where(seq => seq.SequenceNo == sequenceNo && !seq.NotRequired)) { var resubmittedStatues = new string[] { ApplicationSequenceStatus.Submitted, ApplicationSequenceStatus.FeedbackAdded }; sequence.Status = resubmittedStatues.Contains(sequence.Status) ? ApplicationSequenceStatus.Resubmitted : ApplicationSequenceStatus.Submitted; // NOTE: Must update Required Sections within too! if (sequence.Sections != null) { foreach (var section in sequence.Sections.Where(sec => !sec.NotRequired)) { if (section.Status == ApplicationSectionStatus.Draft) { section.Status = ApplicationSectionStatus.Submitted; } else if (dictOfRequestedFeedbackAnswered[section.SectionNo] == true) { // TODO: This is dependant on QnA notifying us that the RequestedFeedbackAnswered has been answered // otherwise section.Status will remain as is (most likely Evaluated) section.Status = ApplicationSectionStatus.Submitted; } } } } } }
public void Start_assessor_review_returns_true_when_section_review_initiated() { var applyData = new ApplyData { Sequences = new List <ApplySequence> { new ApplySequence { SequenceNo = 2, Sections = new List <ApplySection> { new ApplySection { SectionNo = 1, Status = AssessorReviewStatus.Draft } } } } }; _repository.Setup(x => x.GetApplyData(It.IsAny <Guid>())).ReturnsAsync(applyData); _repository.Setup(x => x.UpdateApplyData(It.IsAny <Guid>(), It.IsAny <ApplyData>(), It.IsAny <string>())).ReturnsAsync(true); var request = new StartAssessorSectionReviewRequest(Guid.NewGuid(), SequenceId, SectionId, Reviewer); var result = _handler.Handle(request, new CancellationToken()).GetAwaiter().GetResult(); result.Should().BeTrue(); }
public void LoadHistory(string applyId, int dayRange = 30) { _isBinding = true; try { InitHistoryList(); if (string.IsNullOrEmpty(applyId)) { MessageBox.Show("申请ID无效,不能加载历史检查。", "提示"); return; } DataTable dtHistory = ReportContextModel.ReadHistory(applyId, dayRange); foreach (DataRow drItem in dtHistory.Rows) { ApplyData applyData = new ApplyData(); applyData.BindRowData(drItem); ListViewItem itemNew = new ListViewItem(new string[] { applyData.申请信息.姓名, applyData.检查号, applyData.申请日期.ToString("yyyy-MM-dd HH:mm"), applyData.申请信息.检查项目.项目名称 }, 0); itemNew.Tag = applyData; listView1.Items.Add(itemNew); } listView1.View = View.Details; } finally { _isBinding = false; } }
private void AddSubmissionInfoToApplyData(ApplyData applyData, int sequenceNo, Domain.Entities.Contact submittingContact) { var submission = new Submission { SubmittedAt = DateTime.UtcNow, SubmittedBy = submittingContact.Id, SubmittedByEmail = submittingContact.Email }; if (sequenceNo == ApplyConst.ORGANISATION_SEQUENCE_NO) { applyData.Apply.AddInitSubmission(submission); } else if (sequenceNo == ApplyConst.STANDARD_SEQUENCE_NO) { applyData.Apply.AddStandardSubmission(submission); } else if (sequenceNo == ApplyConst.ORGANISATION_WITHDRAWAL_SEQUENCE_NO) { applyData.Apply.AddOrganisationWithdrawalSubmission(submission); } else if (sequenceNo == ApplyConst.STANDARD_WITHDRAWAL_SEQUENCE_NO) { applyData.Apply.AddStandardWithdrawalSubmission(submission); } }
static void FormatPathRecursively(string path, List <string> ignoreList, FormatPathPair fpp, TFormatterPlatform platform, bool origin = false) { string platformName = TextureFormat.GetPlatformName(platform); TextureFormat tf = fpp.GetFormatByPlatform((int)platform); path = path.Replace('\\', '/'); for (int k = 0; k < ignoreList.Count; k++) { if (ignoreList[k] == path && !origin) { return; } } TextureImporterFormat tif = tf.format; bool advanced = tif > 0; ApplyData ad = new ApplyData(path, ignoreList, fpp); ad.tf = tf; ad.advanced = advanced; ad.platformName = platformName; ApplyImporter importerHandler = null; switch (fpp.iType) { case ImporterType.Texture: importerHandler = ApplyTextureImporter; break; case ImporterType.Model: importerHandler = ApplyModelImporter; break; case ImporterType.Audio: importerHandler = ApplyAudioImporter; break; } if (Directory.Exists(path)) { ad.needToCheck = true; DirectoryInfo di = new DirectoryInfo(path); FileInfo[] files = di.GetFiles(); DirectoryInfo[] dis = di.GetDirectories(); foreach (FileInfo fi in files) { int index = fi.FullName.IndexOf("Assets"); string assetPath = fi.FullName.Substring(index); assetPath = assetPath.Replace('\\', '/'); ad.assetPath = assetPath; importerHandler(ad); } foreach (DirectoryInfo idi in dis) { FormatPathRecursively(idi.FullName.Substring(idi.FullName.IndexOf("Assets")), ignoreList, fpp, platform); } } else if (File.Exists(path)) { importerHandler(ad); } }
public async Task GetOverviewViewModel_with_clarifications_returns_model() { var applyData = new ApplyData { ApplyDetails = new ApplyDetails { UKPRN = Ukprn, OrganisationName = OrganisationName } }; var returnedRoatpApplicationResponse = new Apply { ApplicationId = _applicationId, ApplyData = applyData, GatewayReviewStatus = GatewayReviewStatus.InProgress }; var contactDetails = new ContactDetails { Email = Email }; _applyApiClient.Setup(x => x.GetApplication(_applicationId)).ReturnsAsync(returnedRoatpApplicationResponse); _applyApiClient.Setup(x => x.GetContactDetails(_applicationId)).ReturnsAsync(contactDetails); _applyApiClient.Setup(x => x.GetOversightDetails(_applicationId)).ReturnsAsync(() => new ApplicationOversightDetails { OversightStatus = OversightReviewStatus.None }); const string sectionReviewStatus = SectionReviewStatus.Clarification; const string comment = "comments go here"; var returnedGatewayPageAnswers = new List <GatewayPageAnswerSummary> { new GatewayPageAnswerSummary { ApplicationId = _applicationId, PageId = GatewayPageIds.OrganisationRisk, Status = sectionReviewStatus, Comments = comment } }; _applyApiClient.Setup(x => x.GetGatewayPageAnswers(_applicationId)).ReturnsAsync(returnedGatewayPageAnswers); var gatewayReviewStatus = GatewayReviewStatus.InProgress; var request = new GetApplicationOverviewRequest(_applicationId, UserName); var viewModel = await _orchestrator.GetOverviewViewModel(request); Assert.AreEqual(_applicationId, viewModel.ApplicationId); Assert.AreEqual(viewModel.ApplicationEmailAddress, Email); Assert.AreEqual(Ukprn, viewModel.Ukprn); Assert.AreEqual(OrganisationName, viewModel.OrganisationName); Assert.AreEqual(gatewayReviewStatus, viewModel.GatewayReviewStatus); Assert.AreEqual(sectionReviewStatus, viewModel.Sequences.FirstOrDefault(seq => seq.SequenceNumber == 1).Sections.FirstOrDefault(sec => sec.PageId == GatewayPageIds.OrganisationRisk).Status); Assert.AreEqual(false, viewModel.IsClarificationsSelectedAndAllFieldsSet); Assert.AreEqual(false, viewModel.ReadyToConfirm); }
static void ApplyModelImporter(ApplyData ad) { string assetPath = ad.assetPath; List <string> ignoreList = ad.ignoreList; TextureFormat tf = ad.tf; FormatPathPair fpp = ad.fpp; bool advanced = ad.advanced; string platformName = ad.platformName; bool needToCheck = ad.needToCheck; ModelImporter mi = AssetImporter.GetAtPath(assetPath) as ModelImporter; if (mi != null) { if (needToCheck) { for (int k = 0; k < ignoreList.Count; k++) { if (ignoreList[k] == assetPath) { return; } } } bool need_reimport = false; if (assetPath.Contains(terrainResPath)) { if (mi.isReadable != fpp.isReadable || mi.meshCompression != ModelImporterMeshCompression.Low || !mi.optimizeGameObjects || mi.animationCompression != ModelImporterAnimationCompression.Optimal || !mi.optimizeMesh || mi.indexFormat != ModelImporterIndexFormat.UInt16 || mi.importNormals != ModelImporterNormals.None) { mi.meshCompression = ModelImporterMeshCompression.Low; need_reimport = true; mi.importNormals = ModelImporterNormals.None; } } else { if (mi.isReadable != fpp.isReadable || mi.meshCompression != ModelImporterMeshCompression.High || !mi.optimizeGameObjects || mi.animationCompression != ModelImporterAnimationCompression.Optimal || mi.importLights || !mi.optimizeMesh || mi.indexFormat != ModelImporterIndexFormat.UInt16) { mi.meshCompression = ModelImporterMeshCompression.High; mi.importLights = false; need_reimport = true; } } if (need_reimport) { mi.isReadable = fpp.isReadable; mi.optimizeGameObjects = true; mi.optimizeMesh = true; mi.animationCompression = ModelImporterAnimationCompression.Optimal; mi.indexFormat = ModelImporterIndexFormat.UInt16; if (!reimportList.Contains(assetPath)) { reimportList.Add(assetPath); } } } }
private bool IsSectionRequired(ApplyData applyData, int sequenceNo, int sectionNo) { // a sequence section cannot be considered required if the sequence or sequence section does not exist in the ApplyData return(applyData ?.Sequences ?.Where(sequence => sequence.SequenceNo == sequenceNo && !sequence.NotRequired) ?.SelectMany(sequence => sequence.Sections.Where(section => section.SectionNo == sectionNo && !section.NotRequired)) ?.Any() ?? false); }
public async Task GetClarificationViewModel_returns_model() { var applyData = new ApplyData { ApplyDetails = new ApplyDetails { UKPRN = Ukprn, OrganisationName = OrganisationName } }; var returnedRoatpApplicationResponse = new Apply { ApplicationId = _applicationId, ApplyData = applyData, GatewayReviewStatus = GatewayReviewStatus.InProgress }; var contactDetails = new ContactDetails { Email = Email }; _applyApiClient.Setup(x => x.GetApplication(_applicationId)).ReturnsAsync(returnedRoatpApplicationResponse); _applyApiClient.Setup(x => x.GetContactDetails(_applicationId)).ReturnsAsync(contactDetails); const string status = SectionReviewStatus.Clarification; const string comment = "comments go here"; var returnedGatewayPageAnswers = new List <GatewayPageAnswerSummary> { new GatewayPageAnswerSummary { ApplicationId = _applicationId, PageId = GatewayPageIds.OrganisationRisk, Status = status, Comments = comment } }; _applyApiClient.Setup(x => x.GetGatewayPageAnswers(_applicationId)).ReturnsAsync(returnedGatewayPageAnswers); var request = new GetApplicationClarificationsRequest(_applicationId, UserName); var viewModel = await _orchestrator.GetClarificationViewModel(request); Assert.AreEqual(_applicationId, viewModel.ApplicationId); Assert.AreEqual(Email, viewModel.ApplicationEmailAddress); Assert.AreEqual(Ukprn, viewModel.Ukprn); Assert.AreEqual(OrganisationName, viewModel.OrganisationName); Assert.AreEqual(1, viewModel.Sequences.Count); Assert.AreEqual("Organisation checks", viewModel.Sequences[0].SequenceTitle); Assert.AreEqual(1, viewModel.Sequences[0].Sections.Count); Assert.AreEqual("Organisation high risk", viewModel.Sequences[0].Sections[0].PageTitle); Assert.AreEqual(comment, viewModel.Sequences[0].Sections[0].Comment); }
public ReuseSelectionList(Func <V> spawner, ApplyData displayer, IDataSource source, int windowSize, int selectionIndexInWindow) { _resultDisplay = new ReuseList <V>(spawner); _displayer = displayer; _selectionWindow = new SlidingSelectionWindow(source, windowSize, selectionIndexInWindow); }
public async Task <Guid> StartApplication(Guid applicationId, ApplyData applyData, Guid organisationId, Guid createdBy) { using (var connection = new SqlConnection(_config.SqlConnectionString)) { return(await connection.QuerySingleAsync <Guid>( @"INSERT INTO Apply (ApplicationId, OrganisationId, ApplicationStatus, ApplyData, AssessorReviewStatus, GatewayReviewStatus, FinancialReviewStatus, CreatedBy, CreatedAt) OUTPUT INSERTED.[ApplicationId] VALUES (@applicationId, @organisationId, @applicationStatus, @applyData, @assessorReviewStatus, @gatewayReviewStatus, @financialReviewStatus, @createdBy, GETUTCDATE())", new { applicationId, organisationId, applicationStatus = ApplicationStatus.InProgress, applyData, assessorReviewStatus = AssessorReviewStatus.Draft, gatewayReviewStatus = GatewayReviewStatus.Draft, financialReviewStatus = FinancialReviewStatus.Draft, createdBy })); } }
private async Task NotifyContact(Domain.Entities.Contact contactToNotify, ApplyData applyData, CancellationToken cancellationToken) { var email = contactToNotify.Email; var contactname = contactToNotify.DisplayName; var standard = applyData.Apply.StandardName; var standardreference = applyData.Apply.StandardReference; var version = applyData.Apply.Versions.First(); var emailTemplate = await _eMailTemplateQueryRepository.GetEmailTemplate(EmailTemplateNames.ApplyEPAOStandardOptin); await _mediator.Send(new SendEmailRequest(email, emailTemplate, new { contactname, standard, standardreference, version }), cancellationToken); }
static void ApplyTextureImporter(ApplyData ad) { string assetPath = ad.assetPath; List <string> ignoreList = ad.ignoreList; TextureFormat tf = ad.tf; FormatPathPair fpp = ad.fpp; bool advanced = ad.advanced; string platformName = ad.platformName; bool needToCheck = ad.needToCheck; TextureImporter ti = AssetImporter.GetAtPath(assetPath) as TextureImporter; if (ti != null) { if (needToCheck) { for (int k = 0; k < ignoreList.Count; k++) { if (ignoreList[k] == assetPath) { return; } } } if (string.IsNullOrEmpty(platformName)) { for (int j = 0; j < 3; j++) { tf = fpp.GetFormatByPlatform(j); platformName = platforms[j]; if (!fpp.Compare(ti, tf, platformName)) { fpp.Apply(ti, tf, platformName); if (!reimportList.Contains(assetPath)) { reimportList.Add(assetPath); } } } } else { if (!fpp.Compare(ti, tf, platformName)) { fpp.Apply(ti, tf, platformName); if (!reimportList.Contains(assetPath)) { reimportList.Add(assetPath); } } } } }
public void Start_assessor_review_returns_false_if_no_apply_data_present() { ApplyData applyData = null; _repository.Setup(x => x.GetApplyData(It.IsAny <Guid>())).ReturnsAsync(applyData); var request = new StartAssessorSectionReviewRequest(Guid.NewGuid(), SequenceId, SectionId, Reviewer); var result = _handler.Handle(request, new CancellationToken()).GetAwaiter().GetResult(); result.Should().BeFalse(); }
public async Task GetConfirmOverviewViewModel_returns_model(string ukprn, string organisationName, string sectionReviewStatus, string comment, bool isClarificationSet) { var applicationId = Guid.NewGuid(); var gatewayReviewStatus = GatewayReviewStatus.InProgress; var applyData = new ApplyData { ApplyDetails = new ApplyDetails { UKPRN = ukprn, OrganisationName = organisationName } }; var application = new Apply { ApplicationId = applicationId, ApplyData = applyData, GatewayReviewStatus = GatewayReviewStatus.InProgress }; _applyApiClient.Setup(x => x.GetApplication(applicationId)).ReturnsAsync(application); _applyApiClient.Setup(x => x.GetOversightDetails(applicationId)).ReturnsAsync(() => new ApplicationOversightDetails { OversightStatus = OversightReviewStatus.None }); var returnedGatewayPageAnswers = new List <GatewayPageAnswerSummary> { new GatewayPageAnswerSummary { ApplicationId = applicationId, PageId = GatewayPageIds.OrganisationRisk, Status = sectionReviewStatus, Comments = comment } }; _applyApiClient.Setup(x => x.GetGatewayPageAnswers(applicationId)).ReturnsAsync(returnedGatewayPageAnswers); var request = new GetApplicationOverviewRequest(applicationId, UserName); var viewModel = await _orchestrator.GetConfirmOverviewViewModel(request); Assert.AreEqual(applicationId, viewModel.ApplicationId); Assert.AreEqual(ukprn, viewModel.Ukprn); Assert.AreEqual(organisationName, viewModel.OrganisationName); Assert.AreEqual(gatewayReviewStatus, viewModel.GatewayReviewStatus); Assert.AreEqual(sectionReviewStatus, viewModel.Sequences.FirstOrDefault(seq => seq.SequenceNumber == 1).Sections.FirstOrDefault(sec => sec.PageId == GatewayPageIds.OrganisationRisk).Status); Assert.AreEqual(comment, viewModel.Sequences.FirstOrDefault(seq => seq.SequenceNumber == 1).Sections.FirstOrDefault(sec => sec.PageId == GatewayPageIds.OrganisationRisk).Comment); Assert.AreEqual(viewModel.IsClarificationsSelectedAndAllFieldsSet, isClarificationSet); }
private void PreviewImage() { if (listView1.SelectedItems.Count <= 0) { MessageBox.Show("请选择需要查看的历次检查。", "提示"); return; } ListViewItem lvi = listView1.SelectedItems[0]; ApplyData applyData = lvi.Tag as ApplyData; FuncHelper.ShowImgPreview(_dbQuery, applyData.申请ID, this); }
static void FormatPathRecursively(string path, List <string> ignoreList, FormatPathPair fpp, bool origin = false) { path = path.Replace('\\', '/'); for (int k = 0; k < ignoreList.Count; k++) { if (ignoreList[k] == path && !origin) { return; } } ApplyData ad = new ApplyData(path, ignoreList, fpp); ApplyImporter importerHandler = null; switch (fpp.iType) { case ImporterType.Texture: importerHandler = ApplyTextureImporter; break; case ImporterType.Model: importerHandler = ApplyModelImporter; break; case ImporterType.Audio: importerHandler = ApplyAudioImporter; break; } if (Directory.Exists(path)) { DirectoryInfo di = new DirectoryInfo(path); FileInfo[] files = di.GetFiles(); DirectoryInfo[] dis = di.GetDirectories(); foreach (FileInfo fi in files) { int index = fi.FullName.IndexOf("Assets"); string assetPath = fi.FullName.Substring(index); assetPath = assetPath.Replace('\\', '/'); ad.assetPath = assetPath; importerHandler(ad); } foreach (DirectoryInfo idi in dis) { FormatPathRecursively(idi.FullName.Substring(idi.FullName.IndexOf("Assets")), ignoreList, fpp); } } else if (File.Exists(path)) { ad.needToCheck = false; importerHandler(ad); } }
public static FinalizeAction finalizeAction = Finalize; //class identified for FinalizeData public static void Finalize(TileData data, StopToken stop) { //calculating number of layers int layersCount = data.finalize.GetTypeCount(finalizeAction, data.subDatas); //preparing arrays if (stop != null && stop.stop) { return; } TerrainLayer[] prototypes = new TerrainLayer[layersCount]; Matrix[] matrices = new Matrix[layersCount]; Matrix[] masks = new Matrix[layersCount]; int i = 0; foreach ((TextureLayer output, MatrixWorld product, MatrixWorld biomeMask) in data.finalize.ProductSets <TextureLayer, MatrixWorld, MatrixWorld>(finalizeAction, data.subDatas)) { prototypes[i] = output.prototype; matrices[i] = product; masks[i] = biomeMask; i++; } //creating splats and prototypes arrays if (stop != null && stop.stop) { return; } float[,,] splats3D = BlendLayers(matrices, masks, data.area, stop); //pushing to apply if (stop != null && stop.stop) { return; } ApplyData applyData = new ApplyData() { splats = splats3D, prototypes = prototypes }; Graph.OnBeforeOutputFinalize?.Invoke(typeof(TexturesOutput200), data, applyData, stop); data.apply.Add(applyData); #if MM_DEBUG Debug.Log("TexturesOut Finalized"); #endif }
public async Task <bool> UpdateGatewayApplyData(Guid applicationId, ApplyData applyData, string userId, string userName) { using (var connection = _dbConnectionHelper.GetDatabaseConnection()) { var rowsAffected = await connection.ExecuteAsync(@"UPDATE [Apply] SET [ApplyData] = @applyData ,[UpdatedAt] = GetUTCDATE() ,[UpdatedBy] = @userName ,[GatewayUserId] = @userId ,[GatewayUsername] = @userName WHERE [ApplicationId] = @applicationId", new { applicationId, applyData, userId, userName }); return(rowsAffected > 0); } }
public static FinalizeAction finalizeAction = Finalize; //class identified for FinalizeData public static void Finalize(TileData data, StopToken stop) { #if VEGETATION_STUDIO_PRO //creating splats and prototypes arrays int layersCount = data.finalize.GetTypeCount(finalizeAction, data.subDatas); int splatsSize = data.area.active.rect.size.x; //preparing texture colors VegetationPackagePro package = data.globals.vegetationPackage as VegetationPackagePro; Color[][] colors = new Color[package != null ? package.TextureMaskGroupList.Count : 0][]; for (int c = 0; c < colors.Length; c++) { colors[c] = new Color[splatsSize * splatsSize]; } int[] maskGroupNums = new int[colors.Length]; //filling colors int i = 0; foreach ((VSProMapsOut output, MatrixWorld matrix, MatrixWorld biomeMask) in data.finalize.ProductSets <VSProMapsOut, MatrixWorld, MatrixWorld>(finalizeAction, data.subDatas)) { if (matrix == null || package == null) { continue; } BlendLayer(colors, data.area, matrix, biomeMask, output.density, output.maskGroup, output.textureChannel, stop); maskGroupNums[i / 4] = output.maskGroup; i++; } //pushing to apply if (stop != null && stop.stop) { return; } ApplyData applyData = new ApplyData() { srcSystem = data.globals.vegetationSystem as VegetationSystemPro, package = package, colors = colors, maskGroupNums = maskGroupNums, copyVS = data.globals.vegetationSystemCopy }; Graph.OnBeforeOutputFinalize?.Invoke(typeof(VSProMapsOut), data, applyData, stop); data.apply.Add(applyData); #endif }
public static FinalizeAction finalizeAction = Finalize; //class identified for FinalizeData public static void Finalize(TileData data, StopToken stop) { #if VEGETATION_STUDIO_PRO //creating splats and prototypes arrays int layersCount = data.OutputsCount(finalizeAction, inSubs: true); int splatsSize = data.area.active.rect.size.x; //preparing texture colors VegetationPackagePro package = data.globals.vegetationPackage as VegetationPackagePro; Color[][] colors = new Color[package != null ? package.TextureMaskGroupList.Count : 0][]; for (int c = 0; c < colors.Length; c++) { colors[c] = new Color[splatsSize * splatsSize]; } int[] maskGroupNums = new int[colors.Length]; //filling colors int i = 0; foreach ((VSProMapsOut output, MatrixWorld matrix, MatrixWorld biomeMask) in data.Outputs <VSProMapsOut, MatrixWorld, MatrixWorld>(typeof(VSProMapsOut), inSubs:true)) { if (matrix == null || package == null) { continue; } BlendLayer(colors, data.area, matrix, biomeMask, output.density, output.maskGroup, output.textureChannel, stop); maskGroupNums[output.maskGroup] = output.maskGroup; //TODO: removed i/4, test this! (http://mm2.idea.informer.com/proj/?ia=134562) i++; } //pushing to apply if (stop != null && stop.stop) { return; } ApplyData applyData = new ApplyData() { srcSystem = data.globals.vegetationSystem as VegetationSystemPro, package = package, colors = colors, maskGroupNums = maskGroupNums, copyVS = data.globals.vegetationSystemCopy }; Graph.OnOutputFinalized?.Invoke(typeof(VSProMapsOut), data, applyData, stop); data.MarkApply(applyData); #endif }