/// <summary> /// 获取对应时间段新建的客户问题列表 /// </summary> /// <returns></returns> public async Task <List <Issue> > GetIssuesByPeriodAsync(DuePeriodType periodType) { var timeFilter = DueTimeTrackingHelper.GetTimeFilter(periodType, "ResolutionDate"); var requestText = $"project = {CustomUtils.ProjectName} AND Assignee = {CustomUtils.Account}"; if (!string.IsNullOrEmpty(timeFilter)) { requestText = $"{requestText} AND {timeFilter}"; } requestText = $"{requestText} ORDER BY Rank ASC"; var issues = await JiraConnectionHelper.RequestAsync(JiraCvteCom, requestText); return(issues); }
/// <summary> /// 获取已完成的客户问题数 /// </summary> /// <returns></returns> public async Task <List <Issue> > GetHandledIssuesAfterTimeAsync(DuePeriodType periodType, List <string> solvedStatusList) { //使用更新日期(因为测试中、验收等的问题,并没有解决,所以没有解决日期) var timeFilter = DueTimeTrackingHelper.GetAfterTimeFilter(periodType, "updatedDate"); var requestText = $"project = {CustomUtils.ProjectName} AND Assignee = {CustomUtils.Account} AND status in ({string.Join(",", solvedStatusList)})"; if (!string.IsNullOrEmpty(timeFilter)) { requestText = $"{requestText} AND {timeFilter}"; } requestText = $"{requestText} ORDER BY Rank ASC"; var issues = await JiraConnectionHelper.RequestAsync(JiraCvteCom, requestText); return(issues); }
/// <summary> /// 获取大于时间段的时间筛选 /// </summary> /// <param name="periodType"></param> /// <param name="searchParameter"></param> /// <returns></returns> public static string GetAfterTimeFilter(DuePeriodType periodType, string searchParameter) { //created >= 2017 - 07 - 20 AND created <= now() var timeFilter = string.Empty; var dateTimeNow = DateTime.Now; switch (periodType) { case DuePeriodType.今日: { //今日 string startDay = dateTimeNow.ToString("yyyy-MM-dd"); timeFilter = $"{searchParameter} >= {startDay}"; } break; case DuePeriodType.昨日: { //今日 var startDay = dateTimeNow.AddDays(-1).ToString("yyyy-MM-dd"); timeFilter = $"{searchParameter} >= {startDay}"; } break; case DuePeriodType.本周: { var startDay = GetWeekFirstDay(dateTimeNow, 0); timeFilter = $"{searchParameter} >= {startDay}"; } break; case DuePeriodType.周: { var startDay = GetWeekFirstDay(dateTimeNow, 1); timeFilter = $"{searchParameter} >= {startDay}"; } break; case DuePeriodType.周: { var startDay = GetWeekFirstDay(dateTimeNow, 2); timeFilter = $"{searchParameter} >= {startDay}"; } break; case DuePeriodType.周: { var startDay = GetWeekFirstDay(dateTimeNow, 3); timeFilter = $"{searchParameter} >= {startDay}"; } break; case DuePeriodType.本月: { var startDay = GetMonthFirstDay(dateTimeNow); timeFilter = $"{searchParameter} >= {startDay}"; } break; case DuePeriodType.月: { var startDay = GetMonthFirstDay(dateTimeNow, 1); timeFilter = $"{searchParameter} >= {startDay}"; } break; case DuePeriodType.今年: { var startDay = GetYearFirstDay(dateTimeNow); timeFilter = $"{searchParameter} >= {startDay}"; } break; case DuePeriodType.去年: { var startDay = GetYearFirstDay(dateTimeNow, 1); timeFilter = $"{searchParameter} >= {startDay}"; } break; } return(timeFilter); }
private async void RequestJiraByDuePeriodType(DuePeriodType selectedPeriodType) { var issues = await GetSolvedIssuesByCurrentAuthor(selectedPeriodType); RequestJiraData(issues); }
/// <summary> /// 时间是否在相应的时间段 /// </summary> /// <param name="dateTime"></param> /// <param name="duePeriodType"></param> /// <returns></returns> public static bool IsInDuePeriodRange(DateTime dateTime, DuePeriodType duePeriodType) { var dateTimeNow = DateTime.Now; switch (duePeriodType) { case DuePeriodType.今日: { //今日 string startDay = dateTimeNow.ToString("yyyy-MM-dd"); DateTime dt = Convert.ToDateTime(startDay); return(dateTime >= dt); } break; case DuePeriodType.昨日: { //今日 var endDay = dateTimeNow.ToString("yyyy-MM-dd"); var startDay = dateTimeNow.AddDays(-1).ToString("yyyy-MM-dd"); DateTime startTime = Convert.ToDateTime(startDay); DateTime endTime = Convert.ToDateTime(endDay); return(dateTime >= startTime && dateTime < endTime); } break; case DuePeriodType.本周: { var startDay = GetWeekFirstDay(dateTimeNow, 0); DateTime dt = Convert.ToDateTime(startDay); return(dateTime >= dt); } break; case DuePeriodType.周: { var endDay = GetWeekFirstDay(dateTimeNow, 0); var startDay = GetWeekFirstDay(dateTimeNow, 1); DateTime startTime = Convert.ToDateTime(startDay); DateTime endTime = Convert.ToDateTime(endDay); return(dateTime >= startTime && dateTime < endTime); } break; case DuePeriodType.周: { var endDay = GetWeekFirstDay(dateTimeNow, 1); var startDay = GetWeekFirstDay(dateTimeNow, 2); DateTime startTime = Convert.ToDateTime(startDay); DateTime endTime = Convert.ToDateTime(endDay); return(dateTime >= startTime && dateTime < endTime); } break; case DuePeriodType.周: { var endDay = GetWeekFirstDay(dateTimeNow, 2); var startDay = GetWeekFirstDay(dateTimeNow, 3); DateTime startTime = Convert.ToDateTime(startDay); DateTime endTime = Convert.ToDateTime(endDay); return(dateTime >= startTime && dateTime < endTime); } break; case DuePeriodType.本月: { var startDay = GetMonthFirstDay(dateTimeNow); DateTime dt = Convert.ToDateTime(startDay); return(dateTime >= dt); } break; case DuePeriodType.月: { var endDay = GetMonthFirstDay(dateTimeNow); var startDay = GetMonthFirstDay(dateTimeNow, 1); DateTime startTime = Convert.ToDateTime(startDay); DateTime endTime = Convert.ToDateTime(endDay); return(dateTime >= startTime && dateTime < endTime); } break; case DuePeriodType.今年: { var startDay = GetYearFirstDay(dateTimeNow); DateTime startTime = Convert.ToDateTime(startDay); return(dateTime >= startTime); } break; case DuePeriodType.去年: { var endDay = GetYearFirstDay(dateTimeNow); var startDay = GetYearFirstDay(dateTimeNow, 1); DateTime startTime = Convert.ToDateTime(startDay); DateTime endTime = Convert.ToDateTime(endDay); return(dateTime >= startTime && dateTime < endTime); } break; } return(false); }