|
@@ -71,8 +71,8 @@ public abstract class DefaultCallApplication : ICallApplication
|
|
|
public virtual async Task<IReadOnlyList<TelDto>> QueryTelsAsync(CancellationToken cancellationToken)
|
|
|
{
|
|
|
return _mapper.Map<IReadOnlyList<TelDto>>(await _telRepository.Queryable()
|
|
|
- .Includes(x => x.Groups)
|
|
|
- .ToListAsync(cancellationToken)) ;
|
|
|
+ .Includes(x => x.Groups)
|
|
|
+ .ToListAsync(cancellationToken));
|
|
|
}
|
|
|
|
|
|
/// <summary>
|
|
@@ -203,7 +203,7 @@ public abstract class DefaultCallApplication : ICallApplication
|
|
|
/// </summary>
|
|
|
public virtual async Task<IReadOnlyList<CallNativeDto>> QueryCallsFixedAsync(QueryCallsFixedDto dto, CancellationToken cancellationToken)
|
|
|
{
|
|
|
- return await _callNativeRepository.Queryable(includeDeleted: true)
|
|
|
+ var query = _callNativeRepository.Queryable(includeDeleted: true)
|
|
|
.LeftJoin<Order>((d, o) => d.Id == o.CallId)
|
|
|
.WhereIF(!string.IsNullOrEmpty(dto.OrderNo), (d, o) => o.No == dto.OrderNo)
|
|
|
.WhereIF(!string.IsNullOrEmpty(dto.FromNo), d => d.FromNo == dto.FromNo)
|
|
@@ -217,16 +217,20 @@ public abstract class DefaultCallApplication : ICallApplication
|
|
|
.WhereIF(dto.Direction != null, d => d.Direction == dto.Direction)
|
|
|
.WhereIF(dto.WaitDurationStart != null && dto.WaitDurationStart > 0, d => d.WaitDuration >= dto.WaitDurationStart)
|
|
|
.WhereIF(dto.WaitDurationEnd != null && dto.WaitDurationEnd > 0, d => d.WaitDuration <= dto.WaitDurationEnd)
|
|
|
- .WhereIF(dto.IsMissOrder != null && dto.IsMissOrder.Value == true, (d, o) => o.Id == null )
|
|
|
- .WhereIF(dto.IsMissOrder != null && dto.IsMissOrder.Value == false, (d, o) => o.Id != null )
|
|
|
- .OrderByDescending(d => d.Id)
|
|
|
- .Select((d, o) => new CallNativeDto
|
|
|
- {
|
|
|
- OrderId = o.Id,
|
|
|
- OrderNo = o.No,
|
|
|
- Title = o.Title,
|
|
|
- }, true)
|
|
|
- .ToFixedListAsync(dto, cancellationToken);
|
|
|
+ .WhereIF(dto.IsMissOrder != null && dto.IsMissOrder.Value == true, (d, o) => string.IsNullOrEmpty(o.Id) == true)
|
|
|
+ .WhereIF(dto.IsMissOrder != null && dto.IsMissOrder.Value == false, (d, o) => string.IsNullOrEmpty(o.Id) == false)
|
|
|
+ .OrderByDescending(d => d.Id);
|
|
|
+
|
|
|
+ query = query.WhereIF(dto.Type == 3, (d, o) => d.AnsweredTime == null);
|
|
|
+ query = query.WhereIF(dto.Type == 1, (d, o) => d.Direction == ECallDirection.In);
|
|
|
+ query = query.WhereIF(dto.Type == 2, (d, o) => d.Direction == ECallDirection.Out);
|
|
|
+ return await query.Select((d, o) => new CallNativeDto
|
|
|
+ {
|
|
|
+ OrderId = o.Id,
|
|
|
+ OrderNo = o.No,
|
|
|
+ Title = o.Title,
|
|
|
+ }, true)
|
|
|
+ .ToFixedListAsync(dto, cancellationToken);
|
|
|
}
|
|
|
|
|
|
/// <summary>
|
|
@@ -294,7 +298,7 @@ public abstract class DefaultCallApplication : ICallApplication
|
|
|
public virtual async Task<CallNative> GetCallAsync(string callId, CancellationToken cancellationToken)
|
|
|
{
|
|
|
if (string.IsNullOrEmpty(callId)) return null;
|
|
|
- return await _callNativeRepository.GetAsync(callId,cancellationToken);
|
|
|
+ return await _callNativeRepository.GetAsync(callId, cancellationToken);
|
|
|
}
|
|
|
|
|
|
/// <summary>
|
|
@@ -303,9 +307,9 @@ public abstract class DefaultCallApplication : ICallApplication
|
|
|
/// <param name="callId"></param>
|
|
|
/// <param name="cancellationToken"></param>
|
|
|
/// <returns></returns>
|
|
|
- public virtual async Task<List<CallNative>> GetCallListAsync(string callId,CancellationToken cancellationToken)
|
|
|
+ public virtual async Task<List<CallNative>> GetCallListAsync(string callId, CancellationToken cancellationToken)
|
|
|
{
|
|
|
- if(string.IsNullOrEmpty(callId)) return null;
|
|
|
+ if (string.IsNullOrEmpty(callId)) return null;
|
|
|
return await _callNativeRepository.Queryable().Where(x => x.Id == callId).ToListAsync(cancellationToken);
|
|
|
}
|
|
|
|