TelActionRecord.cs 1.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071
  1. using Hotline.Share.Enums.CallCenter;
  2. using System;
  3. using System.Collections.Generic;
  4. using System.Linq;
  5. using System.Text;
  6. using System.Threading.Tasks;
  7. using XF.Domain.Repository;
  8. namespace Hotline.CallCenter.Calls
  9. {
  10. public class TelActionRecord : CreationEntity
  11. {
  12. /// <summary>
  13. /// 用户ID
  14. /// </summary>
  15. public string UserId { get; set; }
  16. /// <summary>
  17. /// 用户名称
  18. /// </summary>
  19. public string UserName { get; set; }
  20. /// <summary>
  21. /// 分机号
  22. /// </summary>
  23. public string TelNo { get; set; }
  24. /// <summary>
  25. /// 分机组
  26. /// </summary>
  27. public string QueueId { get; set; }
  28. /// <summary>
  29. /// 开始时间
  30. /// </summary>
  31. public DateTime StartTime { get; set; }
  32. /// <summary>
  33. /// 结束时间
  34. /// </summary>
  35. public DateTime? EndTime { get; set; }
  36. /// <summary>
  37. /// 动作类型
  38. /// </summary>
  39. public EActionType ActionType { get; set; }
  40. /// <summary>
  41. /// 用时
  42. /// </summary>
  43. public double Duration { get; private set; }
  44. public TelActionRecord()
  45. {
  46. }
  47. public TelActionRecord(string userId, string userName, string telNo, string queueId, EActionType actionType)
  48. {
  49. UserId = userId; UserName = userName; TelNo = telNo; QueueId = queueId; ActionType = actionType; StartTime = DateTime.Now;
  50. }
  51. public void EndAction()
  52. {
  53. EndTime = DateTime.Now;
  54. Duration = Math.Round(((double)(EndTime.Value - StartTime).TotalSeconds), 2);
  55. }
  56. }
  57. }