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); }
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); }