コード例 #1
0
 public async Task <bool> ValidateSLAPolicy(TicketIssueLevel TicketIssueLevel)
 {
     if (TicketIssueLevel.SLAPolicies != null && TicketIssueLevel.SLAPolicies.Any())
     {
         foreach (var SLAPolicy in TicketIssueLevel.SLAPolicies)
         {
             if (SLAPolicy.FirstResponseTime == null)
             {
                 SLAPolicy.AddError(nameof(TicketIssueLevelValidator), nameof(SLAPolicy.FirstResponseTime), ErrorCode.FirstResponseTimeEmpty);
             }
             if (SLAPolicy.ResolveTime == null || SLAPolicy.ResolveTime <= 0)
             {
                 SLAPolicy.AddError(nameof(TicketIssueLevelValidator), nameof(SLAPolicy.ResolveTime), ErrorCode.ResolveTimeEmpty);
             }
             else
             {
                 if (ConvertSLATimeToMenute(SLAPolicy.ResolveTime.Value, SLAPolicy.ResolveUnit) < ConvertSLATimeToMenute(SLAPolicy.FirstResponseTime.Value, SLAPolicy.FirstResponseUnit))
                 {
                     SLAPolicy.AddError(nameof(TicketIssueLevelValidator), nameof(SLAPolicy.ResolveTime), ErrorCode.ResolveTimeWrong);
                 }
             }
         }
     }
     return(TicketIssueLevel.IsValidated);
 }
コード例 #2
0
ファイル: SLAPolicyValidator.cs プロジェクト: hienmx95/crm-be
        public async Task <bool> ValidateId(SLAPolicy SLAPolicy)
        {
            SLAPolicyFilter SLAPolicyFilter = new SLAPolicyFilter
            {
                Skip = 0,
                Take = 10,
                Id   = new IdFilter {
                    Equal = SLAPolicy.Id
                },
                Selects = SLAPolicySelect.Id
            };

            int count = await UOW.SLAPolicyRepository.Count(SLAPolicyFilter);

            if (count == 0)
            {
                SLAPolicy.AddError(nameof(SLAPolicyValidator), nameof(SLAPolicy.Id), ErrorCode.IdNotExisted);
            }
            return(count == 1);
        }