diff --git a/Fab2ApprovalMKLink/.editorconfig b/Fab2ApprovalMKLink/.editorconfig index 5c4845c..7e45061 100644 --- a/Fab2ApprovalMKLink/.editorconfig +++ b/Fab2ApprovalMKLink/.editorconfig @@ -367,6 +367,7 @@ dotnet_diagnostic.IDE0065.severity = none # Question - dotnet_diagnostic.IDE0066.severity = none # Question - Use dotnet_diagnostic.IDE0078.severity = none # Question - Use pattern matching (may change code meaning) dotnet_diagnostic.IDE0090.severity = warning # Question - Simplify new expression +dotnet_diagnostic.IDE0100.severity = error # Question - Remove redundant equality dotnet_diagnostic.IDE0160.severity = warning # Question - Use block-scoped namespace dotnet_diagnostic.IDE0161.severity = warning # Question - Namespace declaration preferences dotnet_diagnostic.IDE0270.severity = none # Question - Null check can be simplified diff --git a/Fab2ApprovalSystem/Controllers/ECNController.cs b/Fab2ApprovalSystem/Controllers/ECNController.cs index 6428de4..757cf3b 100644 --- a/Fab2ApprovalSystem/Controllers/ECNController.cs +++ b/Fab2ApprovalSystem/Controllers/ECNController.cs @@ -1159,8 +1159,6 @@ public class ECNController : PdfViewController { public ActionResult CancelDocument(int ecnNumber, byte currentStep, int documentType, string ecnTypeString, string comments = "") { ECN ecn = ecnDMO.GetECN(ecnNumber); bool lastApproverAndLastStep = false; - if (ecn.IsTECN && ecn.SubmitedDate is not null && currentStep >= 1) - Approve(ecnNumber, currentStep, comments, documentType, ecnTypeString); int appoverCount = ecnDMO.SubmitForCancellation(ecnNumber, (byte)GlobalVars.WorkFLowStepNumber.Step1, (int)Session[GlobalVars.SESSION_USERID], documentType, ecnTypeString, (int)GlobalVars.TECNExpirationCancellation.Cancellation); if (appoverCount > 0) { NotifyApproversForCancellation(ecnNumber, ecn, currentStep, documentType, ecnTypeString); diff --git a/Fab2ApprovalSystem/DMO/AdminDMO.cs b/Fab2ApprovalSystem/DMO/AdminDMO.cs index de0090c..94cfdea 100644 --- a/Fab2ApprovalSystem/DMO/AdminDMO.cs +++ b/Fab2ApprovalSystem/DMO/AdminDMO.cs @@ -37,7 +37,7 @@ public class AdminDMO { foreach (SubRole sr in r.SubRoles) { if (sr.Inactive) { // hide inactive roles unless parameter says otherwise - if (showInactiveRoles.Equals("true") == false) + if (!showInactiveRoles.Equals("true")) continue; } diff --git a/Fab2ApprovalSystem/DMO/AuditDMO.cs b/Fab2ApprovalSystem/DMO/AuditDMO.cs index a39dfcf..6c33b53 100644 --- a/Fab2ApprovalSystem/DMO/AuditDMO.cs +++ b/Fab2ApprovalSystem/DMO/AuditDMO.cs @@ -414,7 +414,7 @@ public class AuditDMO { if (audit.OriginatorID == userId) { result.IsSubmitter = true; } - if (isAdmin != true) { + if (!isAdmin) { result.IsAdmin = false; } else { result.IsAdmin = true; @@ -424,7 +424,7 @@ public class AuditDMO { { result.RedirectToAction = true; } - if (result.IsAdmin == false && result.IsSubmitter == false) { + if (!result.IsAdmin && !result.IsSubmitter) { result.RedirectToAction = true; } else { result.UserList = GetUserList(); diff --git a/Fab2ApprovalSystem/DMO/CorrectiveActionDMO.cs b/Fab2ApprovalSystem/DMO/CorrectiveActionDMO.cs index 3b310f1..d5608b5 100644 --- a/Fab2ApprovalSystem/DMO/CorrectiveActionDMO.cs +++ b/Fab2ApprovalSystem/DMO/CorrectiveActionDMO.cs @@ -324,7 +324,7 @@ public class CorrectiveActionDMO { bool isAssignee = false; int aiIndex = 0; List actionItems = GetD5D6CorrectivetActions(caId).ToList(); - while (isAssignee == false && aiIndex < actionItems.Count) { + while (!isAssignee && aiIndex < actionItems.Count) { D5D6CorrectivetAction actionItem = actionItems[aiIndex]; if (actionItem.ResponsibilityOwnerID == userId && actionItem.ImplementedDate == null && actionItem.Approved) { isAssignee = true; diff --git a/Fab2ApprovalSystem/DMO/MRB_DMO.cs b/Fab2ApprovalSystem/DMO/MRB_DMO.cs index b25037a..3f4a76d 100644 --- a/Fab2ApprovalSystem/DMO/MRB_DMO.cs +++ b/Fab2ApprovalSystem/DMO/MRB_DMO.cs @@ -266,9 +266,9 @@ public class MRB_DMO { DateTime? issueStartDate = tempMRBInfo.IssueStartDate; DateTime? issueEndDate = tempMRBInfo.IssueEndDate; - if (issueStartDate.HasValue == false) + if (!issueStartDate.HasValue) throw new Exception("MRB Issue Start Date cannot be blank"); - if (issueEndDate.HasValue == false) + if (!issueEndDate.HasValue) throw new Exception("MRB Issue End Date cannot be blank"); MRB mrbData = new() { MRBNumber = mrbNumber, ToolCSV = tempMRBInfo.ToolCSV, IssueStartDate = tempMRBInfo.IssueStartDate, IssueEndDate = tempMRBInfo.IssueEndDate }; diff --git a/Fab2ApprovalSystem/DMO/WorkflowDMO.cs b/Fab2ApprovalSystem/DMO/WorkflowDMO.cs index 70f2f26..48e129b 100644 --- a/Fab2ApprovalSystem/DMO/WorkflowDMO.cs +++ b/Fab2ApprovalSystem/DMO/WorkflowDMO.cs @@ -166,7 +166,7 @@ public class WorkflowDMO { sqlString.Append("SELECT COUNT(*) FROM LotDisposition LD INNER JOIN Lot L ON LD.IssueID = L.IssueID "); sqlString.Append("WHERE (PERequired = 1 OR Location = 'QDB' OR Location = 'EDB' ) AND LD.IssueID = @IssueID "); recordCount = db.Query(sqlString.ToString(), new { IssueID = issueID }).Single(); - if ((recordCount > 0) && (allLotsAreScrap == false)) { + if ((recordCount > 0) && (!allLotsAreScrap)) { // check if there any IG Medical products if (recordCountForIG_MA > 0) { sqlString = new StringBuilder(); diff --git a/Fab2ApprovalSystem/pipelines.yml b/Fab2ApprovalSystem/pipelines.yml index 660d6ee..179b1a6 100644 --- a/Fab2ApprovalSystem/pipelines.yml +++ b/Fab2ApprovalSystem/pipelines.yml @@ -14,11 +14,9 @@ trigger: - "Kendo/*" variables: - buildConfiguration: "Release" + coreVersion: "net8.0" targetFrameworkVersion: "v4.8" - coreVersion: "na" - assemblyTitle: "Fab2ApprovalSystem" - architecture: "x64" + nugetSource: "https://artifactory.intra.infineon.com/artifactory/api/nuget/ngt-fi-package-main-vir/" msBuild: "C:/Program Files (x86)/Microsoft Visual Studio/2022/BuildTools/MSBuild/Current/Bin/MSBuild.exe" stages: @@ -29,18 +27,11 @@ stages: demands: Fab2ApprovalSystem-Dev variables: ASPNETCORE_ENVIRONMENT: "Development" + assemblyTitle: "Fab2ApprovalSystem" configuration: "Debug" jobs: - - job: Debug + - job: DebugDotnet steps: - - script: | - set gitCommit=$(Build.SourceVersion) - set gitCommitSeven=%gitCommit:~0,7% - echo %gitCommitSeven% - echo ##vso[task.setvariable variable=GitCommitSeven;]%gitCommitSeven% - echo $(GitCommitSeven) - displayName: GitCommitSeven - - script: | echo BuildId: $(Build.BuildId) echo Build reason: $(Build.Reason) @@ -48,11 +39,11 @@ stages: echo Repo name: $(Build.Repository.Name) echo Source version: $(Build.SourceVersion) echo Core version: $(CoreVersion) - echo Build configuration: $(BuildConfiguration) echo Configuration: $(Configuration) echo Target Framework version: $(TargetFrameworkVersion) echo Assembly title: $(AssemblyTitle) - echo MSBuild: $(msBuild) + echo MicrosoftBuildEngine: $(msBuild) + echo NugetSource: $(NugetSource) displayName: "Echo Check" - script: | @@ -71,44 +62,178 @@ stages: - script: | dotnet user-secrets init dotnet user-secrets set BuildNumber $(Build.BuildId) - dotnet user-secrets set GitCommitSeven $(GitCommitSeven) + dotnet user-secrets set "GitCommit" "$(Build.SourceVersion)" dotnet user-secrets list workingDirectory: Fab2ApprovalMKLink displayName: "MKLink - Safe storage of app secrets" - - script: dotnet build --configuration $(buildConfiguration) + - script: dotnet build --configuration $(Configuration) --source $(NugetSource) workingDirectory: Fab2ApprovalMKLink displayName: "MKLink - Build" - - script: dotnet build --configuration $(buildConfiguration) + - script: dotnet build --configuration $(Configuration) --source $(NugetSource) workingDirectory: Fab2ApprovalTests displayName: "Tests - Build" - - script: dotnet test --configuration $(buildConfiguration) + - script: dotnet test --configuration $(Configuration) workingDirectory: Fab2ApprovalTests displayName: "Tests - Test" - - script: dotnet clean --configuration $(buildConfiguration) + - script: dotnet clean --configuration $(Configuration) workingDirectory: Fab2ApprovalTests displayName: "Tests - Clean" - - script: dotnet clean --configuration $(buildConfiguration) + - script: dotnet clean --configuration $(Configuration) workingDirectory: Fab2ApprovalMKLink displayName: "MKLink - Clean" - - script: echo $(Build.SourceVersion)-$(Build.BuildId)>bin_x_x_\$(Configuration)\$(CoreVersion)\win-x64\$(Build.Repository.Name).txt - workingDirectory: Fab2ApprovalMKLink - displayName: "Force Fail" - enabled: "false" + - job: DebugMicrosoftBuildEngine + steps: + - script: | + echo BuildId: $(Build.BuildId) + echo Build reason: $(Build.Reason) + echo Repo Id: $(Build.Repository.Id) + echo Repo name: $(Build.Repository.Name) + echo Source version: $(Build.SourceVersion) + echo Core version: $(CoreVersion) + echo Configuration: $(Configuration) + echo Target Framework version: $(TargetFrameworkVersion) + echo Assembly title: $(AssemblyTitle) + echo MicrosoftBuildEngine: $(msBuild) + echo NugetSource: $(NugetSource) + displayName: "Echo Check" - - script: '"$(msBuild)" /target:Restore /DetailedSummary /ConsoleLoggerParameters:PerformanceSummary;ErrorsOnly; /p:Configuration=$(BuildConfiguration);TargetFrameworkVersion=$(TargetFrameworkVersion) /p:RestoreSources=D:/nupkg $(AssemblyTitle).csproj' + - script: '"$(msBuild)" /target:Restore /DetailedSummary /ConsoleLoggerParameters:PerformanceSummary;ErrorsOnly; /p:Configuration=$(Configuration);TargetFrameworkVersion=$(TargetFrameworkVersion) /p:RestoreSources=$(NugetSource) $(AssemblyTitle).csproj' workingDirectory: Fab2ApprovalSystem displayName: "Framework - Restore" - - script: '"$(msBuild)" /target:Build /DetailedSummary /ConsoleLoggerParameters:PerformanceSummary;ErrorsOnly; /p:Configuration=$(BuildConfiguration);TargetFrameworkVersion=$(TargetFrameworkVersion) $(AssemblyTitle).csproj' + - script: '"$(msBuild)" /target:Build /DetailedSummary /ConsoleLoggerParameters:PerformanceSummary;ErrorsOnly; /p:Configuration=$(Configuration);TargetFrameworkVersion=$(TargetFrameworkVersion) $(AssemblyTitle).csproj' workingDirectory: Fab2ApprovalSystem displayName: "Framework - Build" - - script: '"$(msBuild)" /DetailedSummary /ConsoleLoggerParameters:PerformanceSummary;ErrorsOnly; /p:Configuration=$(Configuration);TargetFrameworkVersion=$(TargetFrameworkVersion) /p:DebugSymbols=false /p:DeleteExistingFiles=true /p:DeployOnBuild=true /p:EnableUpdateAble=true /p:ExcludeApp_Data=true /p:LastUsedBuildConfiguration=$(BuildConfiguration) /p:LastUsedPlatform="Any CPU" /p:LaunchSiteAfterPublish=true /p:OutputPath="D:\$(TargetFrameworkVersion)\$(Build.Repository.Name)\$(Build.BuildId)\$(Configuration)" /p:PreCompileBeforePublish=true /p:PublishProvider=FileSystem /p:PublishUrl="D:/PublishUrl" /p:SiteUrlToLaunchAfterPublish="" /p:WDPMergeOption=DoNotMerge /p:WebPublishMethod=FileSystem $(AssemblyTitle).csproj' + - script: '"$(msBuild)" /DetailedSummary /ConsoleLoggerParameters:PerformanceSummary;ErrorsOnly; /p:Configuration=$(Configuration);TargetFrameworkVersion=$(TargetFrameworkVersion) /p:DebugSymbols=false /p:DeleteExistingFiles=true /p:DeployOnBuild=true /p:EnableUpdateAble=true /p:ExcludeApp_Data=true /p:LastUsedconfiguration=$(Configuration) /p:LastUsedPlatform="Any CPU" /p:LaunchSiteAfterPublish=true /p:OutputPath=bin/$(Configuration) /p:PreCompileBeforePublish=true /p:PublishProvider=FileSystem /p:PublishUrl="D:/PublishUrl" /p:SiteUrlToLaunchAfterPublish="" /p:WDPMergeOption=DoNotMerge /p:WebPublishMethod=FileSystem $(AssemblyTitle).csproj' workingDirectory: Fab2ApprovalSystem - displayName: "Framework - Pack" + displayName: "Framework - Package (.zip for msdeploy.exe)" + + - task: CopyFiles@2 + displayName: 'Copy Files to: D:\' + inputs: + Contents: "*" + SourceFolder: '$(AssemblyTitle)\bin\$(Configuration)\_PublishedWebsites\$(AssemblyTitle)_Package' + TargetFolder: 'D:\$(TargetFrameworkVersion)\$(Build.Repository.Name)\$(Build.BuildId)\$(Configuration)-$(AssemblyTitle)-Package' + OverWrite: true + + - script: '"$(msBuild)" /target:Clean /DetailedSummary /ConsoleLoggerParameters:PerformanceSummary;ErrorsOnly; /p:Configuration=$(Configuration);TargetFrameworkVersion=$(TargetFrameworkVersion) $(AssemblyTitle).csproj' + workingDirectory: Fab2ApprovalSystem + displayName: "Framework - Clean" + + - stage: Release + displayName: Release + pool: + name: MesaFabApproval + demands: Fab2ApprovalSystem + variables: + ASPNETCORE_ENVIRONMENT: "Production" + assemblyTitle: "Fab2ApprovalSystem" + configuration: "Release" + jobs: + - job: ReleaseDotnet + steps: + - script: | + echo BuildId: $(Build.BuildId) + echo Build reason: $(Build.Reason) + echo Repo Id: $(Build.Repository.Id) + echo Repo name: $(Build.Repository.Name) + echo Source version: $(Build.SourceVersion) + echo Core version: $(CoreVersion) + echo Configuration: $(Configuration) + echo Target Framework version: $(TargetFrameworkVersion) + echo Assembly title: $(AssemblyTitle) + echo MicrosoftBuildEngine: $(msBuild) + echo NugetSource: $(NugetSource) + displayName: "Echo Check" + + - script: | + mklink /J ".vscode\.UserSecrets" "%AppData%\Microsoft\UserSecrets\f2da5035-aba9-4676-9f8d-d6689f84663d" + mklink /J "DMO" "..\Fab2ApprovalSystem\DMO" + mklink /J "Jobs" "..\Fab2ApprovalSystem\Jobs" + mklink /J "JobSchedules" "..\Fab2ApprovalSystem\JobSchedules" + mklink /J "Misc" "..\Fab2ApprovalSystem\Misc" + mklink /J "Models" "..\Fab2ApprovalSystem\Models" + mklink /J "PdfGenerator" "..\Fab2ApprovalSystem\PdfGenerator" + mklink /J "Utilities" "..\Fab2ApprovalSystem\Utilities" + mklink /J "ViewModels" "..\Fab2ApprovalSystem\ViewModels" + workingDirectory: Fab2ApprovalMKLink + displayName: "MKLink - Symbolic Link of Type Junction" + + - script: | + dotnet user-secrets init + dotnet user-secrets set BuildNumber $(Build.BuildId) + dotnet user-secrets set "GitCommit" "$(Build.SourceVersion)" + dotnet user-secrets list + workingDirectory: Fab2ApprovalMKLink + displayName: "MKLink - Safe storage of app secrets" + + - script: dotnet build --configuration $(Configuration) --source $(NugetSource) + workingDirectory: Fab2ApprovalMKLink + displayName: "MKLink - Build" + + - script: dotnet build --configuration $(Configuration) --source $(NugetSource) + workingDirectory: Fab2ApprovalTests + displayName: "Tests - Build" + + - script: dotnet test --configuration $(Configuration) + workingDirectory: Fab2ApprovalTests + displayName: "Tests - Test" + + - script: dotnet clean --configuration $(Configuration) + workingDirectory: Fab2ApprovalTests + displayName: "Tests - Clean" + + - script: dotnet clean --configuration $(Configuration) + workingDirectory: Fab2ApprovalMKLink + displayName: "MKLink - Clean" + + - job: ReleaseMicrosoftBuildEngine + steps: + - script: | + echo BuildId: $(Build.BuildId) + echo Build reason: $(Build.Reason) + echo Repo Id: $(Build.Repository.Id) + echo Repo name: $(Build.Repository.Name) + echo Source version: $(Build.SourceVersion) + echo Core version: $(CoreVersion) + echo Configuration: $(Configuration) + echo Target Framework version: $(TargetFrameworkVersion) + echo Assembly title: $(AssemblyTitle) + echo MicrosoftBuildEngine: $(msBuild) + echo NugetSource: $(NugetSource) + displayName: "Echo Check" + + - script: '"$(msBuild)" /target:Restore /DetailedSummary /ConsoleLoggerParameters:PerformanceSummary;ErrorsOnly; /p:Configuration=$(Configuration);TargetFrameworkVersion=$(TargetFrameworkVersion) /p:RestoreSources=$(NugetSource) $(AssemblyTitle).csproj' + workingDirectory: Fab2ApprovalSystem + displayName: "Framework - Restore" + + - script: '"$(msBuild)" /target:Build /DetailedSummary /ConsoleLoggerParameters:PerformanceSummary;ErrorsOnly; /p:Configuration=$(Configuration);TargetFrameworkVersion=$(TargetFrameworkVersion) $(AssemblyTitle).csproj' + workingDirectory: Fab2ApprovalSystem + displayName: "Framework - Build" + + - script: '"$(msBuild)" /DetailedSummary /ConsoleLoggerParameters:PerformanceSummary;ErrorsOnly; /p:Configuration=$(Configuration);TargetFrameworkVersion=$(TargetFrameworkVersion) /p:DebugSymbols=false /p:DeleteExistingFiles=true /p:DeployOnBuild=true /p:EnableUpdateAble=true /p:ExcludeApp_Data=true /p:LastUsedconfiguration=$(Configuration) /p:LastUsedPlatform="Any CPU" /p:LaunchSiteAfterPublish=true /p:OutputPath=bin/$(Configuration) /p:PreCompileBeforePublish=true /p:PublishProvider=FileSystem /p:PublishUrl="D:/PublishUrl" /p:SiteUrlToLaunchAfterPublish="" /p:WDPMergeOption=DoNotMerge /p:WebPublishMethod=FileSystem $(AssemblyTitle).csproj' + workingDirectory: Fab2ApprovalSystem + displayName: "Framework - Package (.zip for msdeploy.exe)" + + - task: CopyFiles@2 + displayName: 'Copy Files to: D:\' + inputs: + Contents: "*" + SourceFolder: '$(AssemblyTitle)\bin\$(Configuration)\_PublishedWebsites\$(AssemblyTitle)_Package' + TargetFolder: 'D:\$(TargetFrameworkVersion)\$(Build.Repository.Name)\$(Build.BuildId)\$(Configuration)-$(AssemblyTitle)-Package' + OverWrite: true + + - script: '"$(msBuild)" /target:Clean /DetailedSummary /ConsoleLoggerParameters:PerformanceSummary;ErrorsOnly; /p:Configuration=$(Configuration);TargetFrameworkVersion=$(TargetFrameworkVersion) $(AssemblyTitle).csproj' + workingDirectory: Fab2ApprovalSystem + displayName: "Framework - Clean" + + - script: 'echo $(Build.BuildId)-$(Build.SourceVersion)-bin_x_x_\$(Configuration)\$(CoreVersion)\win-x64\$(Build.Repository.Name).txt' + displayName: "Force Fail" + enabled: true