@@ -204,13 +204,23 @@ await dbContext.PlanRegistrations.AsNoTracking()
204204 }
205205
206206 public async Task < OperationDataResult < TimePlanningPlanningModel > > IndexByCurrentUserNam (
207- TimePlanningPlanningRequestModel model )
207+ TimePlanningPlanningRequestModel obj , string ? softwareVersion , string ? model , string ? manufacturer , string ? osVersion )
208208 {
209209 var sdkCore = await core . GetCore ( ) ;
210210 var sdkDbContext = sdkCore . DbContextHelper . GetDbContext ( ) ;
211211 var currentUserAsync = await userService . GetCurrentUserAsync ( ) ;
212212 var currentUser = baseDbContext . Users
213213 . Single ( x => x . Id == currentUserAsync . Id ) ;
214+
215+ if ( model != null )
216+ {
217+ currentUser . TimeRegistrationModel = model ;
218+ currentUser . TimeRegistrationManufacturer = manufacturer ;
219+ currentUser . TimeRegistrationSoftwareVersion = softwareVersion ;
220+ currentUser . TimeRegistrationOsVersion = osVersion ;
221+ await baseDbContext . SaveChangesAsync ( ) ;
222+ }
223+
214224 var fullName = currentUser . FirstName . Trim ( ) + " " + currentUser . LastName . Trim ( ) ;
215225 var site = await sdkDbContext . Sites . SingleOrDefaultAsync ( x =>
216226 x . Name . Replace ( " " , "" ) == fullName . Replace ( " " , "" ) &&
@@ -228,11 +238,11 @@ public async Task<OperationDataResult<TimePlanningPlanningModel>> IndexByCurrent
228238 . FirstOrDefaultAsync ( x => x . SiteId == site . MicrotingUid ) ;
229239
230240 var datesInPeriod = new List < DateTime > ( ) ;
231- var midnightOfDateFrom = new DateTime ( model . DateFrom ! . Value . Year , model . DateFrom . Value . Month , model . DateFrom . Value . Day , 0 , 0 , 0 ) ;
232- var midnightOfDateTo = new DateTime ( model . DateTo ! . Value . Year , model . DateTo . Value . Month , model . DateTo . Value . Day , 23 , 59 , 59 ) ;
241+ var midnightOfDateFrom = new DateTime ( obj . DateFrom ! . Value . Year , obj . DateFrom . Value . Month , obj . DateFrom . Value . Day , 0 , 0 , 0 ) ;
242+ var midnightOfDateTo = new DateTime ( obj . DateTo ! . Value . Year , obj . DateTo . Value . Month , obj . DateTo . Value . Day , 23 , 59 , 59 ) ;
233243 var todayMidnight = new DateTime ( DateTime . Now . Year , DateTime . Now . Month , DateTime . Now . Day , 0 , 0 , 0 ) ;
234- var date = model . DateFrom ;
235- while ( date <= model . DateTo )
244+ var date = obj . DateFrom ;
245+ while ( date <= obj . DateTo )
236246 {
237247 datesInPeriod . Add ( date . Value ) ;
238248 date = date . Value . AddDays ( 1 ) ;
@@ -335,7 +345,7 @@ await dbContext.PlanRegistrations.AsNoTracking()
335345 midnightOfDateFrom ,
336346 midnightOfDateTo ) ;
337347
338- siteModel . PlanningPrDayModels = model . IsSortDsc
348+ siteModel . PlanningPrDayModels = obj . IsSortDsc
339349 ? siteModel . PlanningPrDayModels . OrderByDescending ( x => x . Date ) . ToList ( )
340350 : siteModel . PlanningPrDayModels . OrderBy ( x => x . Date ) . ToList ( ) ;
341351
@@ -729,111 +739,7 @@ public async Task<OperationResult> UpdateByCurrentUserNam(
729739 planning . Pause1Id = model . Pause1Id ?? planning . Pause1Id ;
730740 planning . Pause2Id = model . Pause2Id ?? planning . Pause2Id ;
731741
732- if ( assignedSite . AutoBreakCalculationActive )
733- {
734- var hoursPlannedToBeAtWorkInMinutes =
735- ( planning . Stop1Id - planning . Start1Id
736- + planning . Stop2Id - planning . Start2Id
737- + planning . Stop3Id - planning . Start3Id
738- + planning . Stop4Id - planning . Start4Id
739- + planning . Stop5Id - planning . Start5Id ) * 5 ;
740- if ( hoursPlannedToBeAtWorkInMinutes > 0 )
741- {
742- var dayOfWeek = planning . Date . DayOfWeek ;
743- var breakTime = 0 ;
744- planning . Pause2Id = 0 ;
745- planning . Pause3Id = 0 ;
746- planning . Pause4Id = 0 ;
747- planning . Pause5Id = 0 ;
748- switch ( dayOfWeek )
749- {
750- case DayOfWeek . Monday :
751- {
752- var numberOfBreaks = hoursPlannedToBeAtWorkInMinutes /
753- assignedSite . MondayBreakMinutesDivider ;
754- breakTime = ( int ) numberOfBreaks *
755- assignedSite . MondayBreakMinutesPrDivider ;
756- planning . Pause1Id =
757- breakTime < assignedSite . MondayBreakMinutesUpperLimit
758- ? breakTime
759- : assignedSite . MondayBreakMinutesUpperLimit ;
760- break ;
761- }
762- case DayOfWeek . Tuesday :
763- {
764- var numberOfBreaks = hoursPlannedToBeAtWorkInMinutes /
765- assignedSite . TuesdayBreakMinutesDivider ;
766- breakTime = ( int ) numberOfBreaks *
767- assignedSite . TuesdayBreakMinutesPrDivider ;
768- planning . Pause1Id =
769- breakTime < assignedSite . TuesdayBreakMinutesUpperLimit
770- ? breakTime
771- : assignedSite . TuesdayBreakMinutesUpperLimit ;
772- break ;
773- }
774- case DayOfWeek . Wednesday :
775- {
776- var numberOfBreaks = hoursPlannedToBeAtWorkInMinutes /
777- assignedSite . WednesdayBreakMinutesDivider ;
778- breakTime = ( int ) numberOfBreaks *
779- assignedSite . WednesdayBreakMinutesPrDivider ;
780- planning . Pause1Id =
781- breakTime < assignedSite . WednesdayBreakMinutesUpperLimit
782- ? breakTime
783- : assignedSite . WednesdayBreakMinutesUpperLimit ;
784- break ;
785- }
786- case DayOfWeek . Thursday :
787- {
788- var numberOfBreaks = hoursPlannedToBeAtWorkInMinutes /
789- assignedSite . ThursdayBreakMinutesDivider ;
790- breakTime = ( int ) numberOfBreaks *
791- assignedSite . ThursdayBreakMinutesPrDivider ;
792- planning . Pause1Id =
793- breakTime < assignedSite . ThursdayBreakMinutesUpperLimit
794- ? breakTime
795- : assignedSite . ThursdayBreakMinutesUpperLimit ;
796- break ;
797- }
798- case DayOfWeek . Friday :
799- {
800- var numberOfBreaks = hoursPlannedToBeAtWorkInMinutes /
801- assignedSite . FridayBreakMinutesDivider ;
802- breakTime = ( int ) numberOfBreaks *
803- assignedSite . FridayBreakMinutesPrDivider ;
804- planning . Pause1Id =
805- breakTime < assignedSite . FridayBreakMinutesUpperLimit
806- ? breakTime
807- : assignedSite . FridayBreakMinutesUpperLimit ;
808- break ;
809- }
810- case DayOfWeek . Saturday :
811- {
812- var numberOfBreaks = hoursPlannedToBeAtWorkInMinutes /
813- assignedSite . SaturdayBreakMinutesDivider ;
814- breakTime = ( int ) numberOfBreaks *
815- assignedSite . SaturdayBreakMinutesPrDivider ;
816- planning . Pause1Id =
817- breakTime < assignedSite . SaturdayBreakMinutesUpperLimit
818- ? breakTime
819- : assignedSite . SaturdayBreakMinutesUpperLimit ;
820- break ;
821- }
822- case DayOfWeek . Sunday :
823- {
824- var numberOfBreaks = hoursPlannedToBeAtWorkInMinutes /
825- assignedSite . SundayBreakMinutesDivider ;
826- breakTime = ( int ) numberOfBreaks *
827- assignedSite . SundayBreakMinutesPrDivider ;
828- planning . Pause1Id =
829- breakTime < assignedSite . SundayBreakMinutesUpperLimit
830- ? breakTime
831- : assignedSite . SundayBreakMinutesUpperLimit ;
832- break ;
833- }
834- }
835- }
836- }
742+ planning = PlanRegistrationHelper . CalculatePauseAutoBreakCalculationActive ( assignedSite , planning ) ;
837743 }
838744 else
839745 {
0 commit comments