1313using Microting . eFormApi . BasePn . Infrastructure . Models . Application . Case . CaseEdit ;
1414using Microting . ItemsPlanningBase . Infrastructure . Data ;
1515using Microting . ItemsPlanningBase . Infrastructure . Data . Entities ;
16+ using Sentry ;
1617
1718namespace BackendConfiguration . Pn . Services . BackendConfigurationCaseService ;
1819
19- public class BackendConfigurationCaseService : IBackendConfigurationCaseService
20+ public class BackendConfigurationCaseService (
21+ ItemsPlanningPnDbContext dbContext ,
22+ ILogger < BackendConfigurationCaseService > logger ,
23+ IEFormCoreService coreHelper ,
24+ IBackendConfigurationLocalizationService localizationService ,
25+ IUserService userService )
26+ : IBackendConfigurationCaseService
2027{
21- private readonly ILogger < BackendConfigurationCaseService > _logger ;
22- private readonly IBackendConfigurationLocalizationService _localizationService ;
23- // private readonly IWordService _wordService;
24- // private readonly IPlanningExcelService _excelService;
25- private readonly IEFormCoreService _coreHelper ;
26- // private readonly ICasePostBaseService _casePostBaseService;
27- private readonly ItemsPlanningPnDbContext _dbContext ;
28- private readonly IUserService _userService ;
29-
30- public BackendConfigurationCaseService ( ItemsPlanningPnDbContext dbContext , ILogger < BackendConfigurationCaseService > logger , IEFormCoreService coreHelper , IBackendConfigurationLocalizationService localizationService , IUserService userService )
31- {
32- _dbContext = dbContext ;
33- _logger = logger ;
34- _coreHelper = coreHelper ;
35- _localizationService = localizationService ;
36- _userService = userService ;
37- }
38-
3928 public async Task < OperationResult > Update ( ReplyRequest model )
4029 {
4130 var checkListValueList = new List < string > ( ) ;
4231 var fieldValueList = new List < string > ( ) ;
43- var core = await _coreHelper . GetCore ( ) ;
44- var language = await _userService . GetCurrentUserLanguage ( ) ;
45- var currentUser = await _userService . GetCurrentUserAsync ( ) ;
32+ var core = await coreHelper . GetCore ( ) ;
33+ var language = await userService . GetCurrentUserLanguage ( ) ;
34+ var currentUser = await userService . GetCurrentUserAsync ( ) ;
4635 try
4736 {
4837 model . ElementList . ForEach ( element =>
@@ -53,9 +42,10 @@ public async Task<OperationResult> Update(ReplyRequest model)
5342 }
5443 catch ( Exception ex )
5544 {
56- Log . LogException ( ex . Message ) ;
57- Log . LogException ( ex . StackTrace ) ;
58- return new OperationResult ( false , $ "{ _localizationService . GetString ( "CaseCouldNotBeUpdated" ) } Exception: { ex . Message } ") ;
45+ SentrySdk . CaptureException ( ex ) ;
46+ logger . LogError ( ex . Message ) ;
47+ logger . LogTrace ( ex . StackTrace ) ;
48+ return new OperationResult ( false , $ "{ localizationService . GetString ( "CaseCouldNotBeUpdated" ) } Exception: { ex . Message } ") ;
5949 }
6050
6151 try
@@ -76,17 +66,14 @@ public async Task<OperationResult> Update(ReplyRequest model)
7666 foundCase . DoneAtUserModifiable = newDoneAt ;
7767 }
7868
79- // foundCase.SiteId = sdkDbContext.Sites
80- // .Where(x => x.WorkflowState != Constants.WorkflowStates.Removed)
81- // .Single(x => x.Name == $"{currentUser.FirstName} {currentUser.LastName}").Id;
8269 foundCase . Status = 100 ;
8370 if ( model . SiteId != 0 )
8471 {
8572 foundCase . SiteId = model . SiteId ;
8673 }
8774 await foundCase . Update ( sdkDbContext ) ;
88- var planningCase = await _dbContext . PlanningCases . SingleAsync ( x => x . MicrotingSdkCaseId == model . Id ) ;
89- var planningCaseSite = await _dbContext . PlanningCaseSites . FirstOrDefaultAsync ( x => x . MicrotingSdkCaseId == model . Id && x . PlanningCaseId == planningCase . Id && x . Status == 100 ) ;
75+ var planningCase = await dbContext . PlanningCases . SingleAsync ( x => x . MicrotingSdkCaseId == model . Id ) ;
76+ var planningCaseSite = await dbContext . PlanningCaseSites . FirstOrDefaultAsync ( x => x . MicrotingSdkCaseId == model . Id && x . PlanningCaseId == planningCase . Id && x . Status == 100 ) ;
9077
9178 if ( planningCaseSite == null )
9279 {
@@ -99,41 +86,42 @@ public async Task<OperationResult> Update(ReplyRequest model)
9986 Status = 100 ,
10087 MicrotingSdkSiteId = ( int ) foundCase . SiteId
10188 } ;
102- await planningCaseSite . Create ( _dbContext ) ;
89+ await planningCaseSite . Create ( dbContext ) ;
10390 }
10491
10592 planningCaseSite . MicrotingSdkCaseDoneAt = foundCase . DoneAtUserModifiable ;
10693 planningCaseSite = await SetFieldValue ( planningCaseSite , foundCase . Id , language ) ;
107- await planningCaseSite . Update ( _dbContext ) ;
94+ await planningCaseSite . Update ( dbContext ) ;
10895
10996 planningCase . MicrotingSdkCaseDoneAt = foundCase . DoneAtUserModifiable ;
11097 planningCase = await SetFieldValue ( planningCase , foundCase . Id , language ) ;
111- await planningCase . Update ( _dbContext ) ;
98+ await planningCase . Update ( dbContext ) ;
11299 }
113100 else
114101 {
115- return new OperationResult ( false , _localizationService . GetString ( "CaseNotFound" ) ) ;
102+ return new OperationResult ( false , localizationService . GetString ( "CaseNotFound" ) ) ;
116103 }
117104
118- return new OperationResult ( true , _localizationService . GetString ( "CaseHasBeenUpdated" ) ) ;
105+ return new OperationResult ( true , localizationService . GetString ( "CaseHasBeenUpdated" ) ) ;
119106 }
120107 catch ( Exception ex )
121108 {
122- Log . LogException ( ex . Message ) ;
123- Log . LogException ( ex . StackTrace ) ;
124- return new OperationResult ( false , _localizationService . GetString ( "CaseCouldNotBeUpdated" ) + $ " Exception: { ex . Message } ") ;
109+ SentrySdk . CaptureException ( ex ) ;
110+ logger . LogError ( ex . Message ) ;
111+ logger . LogTrace ( ex . StackTrace ) ;
112+ return new OperationResult ( false , localizationService . GetString ( "CaseCouldNotBeUpdated" ) + $ " Exception: { ex . Message } ") ;
125113 }
126114 }
127115
128116 private async Task < PlanningCaseSite > SetFieldValue ( PlanningCaseSite planningCaseSite , int caseId , Language language )
129117 {
130- var planning = _dbContext . Plannings . SingleOrDefault ( x => x . Id == planningCaseSite . PlanningId ) ;
118+ var planning = dbContext . Plannings . SingleOrDefault ( x => x . Id == planningCaseSite . PlanningId ) ;
131119 var caseIds = new List < int >
132120 {
133121 planningCaseSite . MicrotingSdkCaseId
134122 } ;
135123
136- var core = await _coreHelper . GetCore ( ) ;
124+ var core = await coreHelper . GetCore ( ) ;
137125 var fieldValues = await core . Advanced_FieldValueReadList ( caseIds , language ) ;
138126
139127 if ( planning == null ) return planningCaseSite ;
@@ -157,8 +145,8 @@ private async Task<PlanningCaseSite> SetFieldValue(PlanningCaseSite planningCase
157145
158146 private async Task < PlanningCase > SetFieldValue ( PlanningCase planningCase , int caseId , Language language )
159147 {
160- var core = await _coreHelper . GetCore ( ) ;
161- var planning = await _dbContext . Plannings . SingleOrDefaultAsync ( x => x . Id == planningCase . PlanningId ) . ConfigureAwait ( false ) ;
148+ var core = await coreHelper . GetCore ( ) ;
149+ var planning = await dbContext . Plannings . SingleOrDefaultAsync ( x => x . Id == planningCase . PlanningId ) . ConfigureAwait ( false ) ;
162150 var caseIds = new List < int > { planningCase . MicrotingSdkCaseId } ;
163151 var fieldValues = await core . Advanced_FieldValueReadList ( caseIds , language ) . ConfigureAwait ( false ) ;
164152
0 commit comments