public static VSOWorkItemDBModel GetAlert(string connectionString, int id) { var list = new List <VSOWorkItemDBModel>(); using (SqlConnection connection = new SqlConnection(connectionString)) { var query = string.Format("SELECT Id, Title FROM dbo.VSOWorkItem WHERE Id = {0};", id); using (SqlCommand command = new SqlCommand(query, connection)) { connection.Open(); using (var reader = command.ExecuteReader()) { while (reader.Read()) { var dict = new Dictionary <string, object>(); dict["Title"] = reader.GetString(1); var model = new VSOWorkItemDBModel(reader.GetInt32(0), dict); list.Add(model); } if (list.Count > 1) { throw new Exception("Error: should return max 1 record"); } } } } return(list[0]); }
public static List <VSOWorkItemDBModel> GetVSOWorkItemDBModel(string vso, DateTime start, DateTime end, string token, string areaPath) { var result = new List <VSOWorkItemDBModel>(); var url = string.Format(VSO_WIQL_END_POINT_TEMPLATE, vso); var alertListQuery = string.Format(VSO_WORK_ITEM_LIST_QUERY_TEMPLATE, start.ToString("yyyy-MM-dd"), end.ToString("yyyy-MM-dd"), areaPath); //Get list of Alert Error from VSO API var response = GetWIQLResponse(url, token, alertListQuery); var workItemListResponse = JsonConvert.DeserializeObject <VSOWorkItemListResponse>(response); foreach (var workItem in workItemListResponse.workItems) { var witQuery = string.Format(VSO_WORK_ITEM_INSTANCE_QUERY_TEMPLATE, vso, workItem.id); var workItemResponseStr = VSOApiUtil.GetResponse(witQuery, token); var workItemResponse = JsonConvert.DeserializeObject <VSOResponse>(workItemResponseStr); var model = new VSOWorkItemDBModel(workItem.id, workItemResponse.fields); result.Add(model); } return(result); }