コード例 #1
0
        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]);
        }
コード例 #2
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);
        }