public IEnumerable <QualityCenterDefectEntry> GetDefects(Dictionary <string, string> filter, bool withAudits = false) { var query = SerializeFilter(filter); var swStep = new Stopwatch(); var swTotal = new Stopwatch(); swTotal.Start(); swStep.Start(); _log.Info(string.Format("Executing Query: {0}", query)); var requestDefect = WebRequest.Create(GetFullUrl(URL_GET_DEFECTS, domain, project, query)); requestDefect.Headers.Set(HttpRequestHeader.Cookie, cookieInfo); IEnumerable <QualityCenterDefectEntry> results = new List <QualityCenterDefectEntry>(); try { requestDefect.Timeout = 60 * 60 * 1000; var responseDefect = requestDefect.GetResponse(); var reader = new StreamReader(responseDefect.GetResponseStream()); var result = reader.ReadToEnd(); reader.Close(); swStep.Stop(); _log.Info(String.Format(" Complete.. {0}", StopWatchUtil.GetElapsedTimeFormatted(swStep))); swStep.Restart(); _log.Info(" Parsing Results..."); results = QualityCenterDefectEntry.ParseMultiple(result); swStep.Stop(); _log.Info(String.Format(" Complete.. {0}", StopWatchUtil.GetElapsedTimeFormatted(swStep))); _log.Info(String.Format(" {0} defects in query result.", results.Count())); swStep.Restart(); if (withAudits) { _log.Info(" Parsing Audit History..."); foreach (var defectEntry in results) { defectEntry.Audits = GetDefectAudit(defectEntry.Id); } } swStep.Stop(); _log.Info(String.Format(" Complete.. {0}", StopWatchUtil.GetElapsedTimeFormatted(swStep))); _log.Info(String.Format("Complete.. {0}", StopWatchUtil.GetElapsedTimeFormatted(swTotal))); } catch (WebException wex) { using (var str = wex.Response.GetResponseStream()) { using (var rdr = new StreamReader(str)) { var exception = new QualityCenterException(rdr.ReadToEnd()); _log.Error(exception.ToString()); } } } return(results); }
public void CallingAMethod() { StopWatchUtil.Time( () => { // #example: Calling a method var result = from Item i in container where i.ComplexMethod() select i; // #end example Console.WriteLine("Number of result items {0}", result.Count()); } ); }
public void SearchByGenericField() { StopWatchUtil.Time( () => { Item item = LoadItemFromDatabase(); var result = from GenericHolder <Item> h in container where h.IndexedReference == item select h; Console.WriteLine("Number of result items {0}", result.Count()); } ); }
public void SortingByIndexedField() { StopWatchUtil.Time( () => { // #example: Sorting a huge result set var query = container.Query(); query.Constrain(typeof(Item)); query.Descend("indexedString").OrderAscending(); // #end example var result = query.Execute(); Console.WriteLine("Number of result items {0}", result.Count); } ); }
public void Evalutions() { StopWatchUtil.Time( () => { // #example: Evaluations var query = container.Query(); query.Constrain(typeof(Item)); query.Descend("indexedString").Constrain(new OnlyAbcItemsEvaluation()); // #end example var result = query.Execute(); Console.WriteLine("Number of result items {0}", result.Count); } ); }
public void EndsWith() { StopWatchUtil.Time( () => { var criteria = Item.DataString(rnd.Next(NumberOfItems)); var query = container.Query(); query.Constrain(typeof(Item)); query.Descend("indexedString") .Constrain(criteria).EndsWith(true); var result = query.Execute(); Console.WriteLine("Number of result items {0}", result.Count); } ); }
public void NotEquals() { StopWatchUtil.Time( () => { var criteria = Item.DataString(rnd.Next(NumberOfItems)); // #example: Not equals var result = from Item i in container where i.IndexedString != criteria select i; // #end example Console.WriteLine("Number of result items {0}", result.Count()); }); }
public void SearchByGenericField() { StopWatchUtil.Time( () => { Item item = LoadItemFromDatabase(); var query = container.Query(); query.Constrain(typeof(GenericHolder <Item>)); query.Descend("indexedReference") .Constrain(item); var result = query.Execute(); Console.WriteLine("Number of result items {0}", result.Count); } ); }
public void PropertiesWithSideEffects() { StopWatchUtil.Time( () => { var criteria = Item.DataString(rnd.Next(NumberOfItems)); // #example: Complex property var result = from Item i in container where i.PropertyWhichFiresEvent == criteria select i; // #end example Console.WriteLine("Number of result items {0}", result.Count()); } ); }
public void QueryForItemInCollection() { StopWatchUtil.Time( () => { Item itemToQueryFor = LoadItemFromDatabase(); // #example: Contains on collection var result = from CollectionHolder h in container where h.Items.Contains(itemToQueryFor) select h; // #end example Console.WriteLine("Number of result items {0}", result.Count()); } ); }
public void AdvancedLinqQueries() { StopWatchUtil.Time( () => { var criteria = Item.DataString(rnd.Next(NumberOfItems)); // #example: Nagivating into collection var result = from CollectionHolder h in container where h.Items.Any(i => i.IndexedString == criteria) select h; // #end example Console.WriteLine("Number of result items {0}", result.Count()); } ); }
public void NewerData() { StopWatchUtil.Time( () => { var date = new DateTime(rnd.Next(NumberOfItems)); // #example: Find a newer date var result = from Item i in container where i.IndexDate > date select i; // #end example Console.WriteLine("Number of result items {0}", result.Count()); } ); }
public void FindADate() { StopWatchUtil.Time( () => { var date = new DateTime(rnd.Next(NumberOfItems)); // #example: Date comparisons are also fast var result = from Item i in container where i.IndexDate == date select i; // #end example Console.WriteLine("Number of result items {0}", result.Count()); } ); }
public void BiggerThan() { StopWatchUtil.Time( () => { int criteria = rnd.Next(NumberOfItems); // #example: Bigger than var result = from Item i in container where i.IndexNumber > criteria select i; // #end example Console.WriteLine("Number of result items {0}", result.Count()); } ); }
public void NotBiggerThan() { StopWatchUtil.Time( () => { int criteria = rnd.Next(NumberOfItems); var query = container.Query(); query.Constrain(typeof(Item)); query.Descend("indexNumber") .Constrain(criteria).Not().Greater(); var result = query.Execute(); Console.WriteLine("Number of result items {0}", result.Count); } ); }
public void EqualsOnIndexedField() { StopWatchUtil.Time( () => { var criteria = Item.DataString(rnd.Next(NumberOfItems)); // #example: Equals on indexed field var query = container.Query(); query.Constrain(typeof(Item)); query.Descend("indexedString") .Constrain(criteria); // #end example var result = query.Execute(); Console.WriteLine("Number of result items {0}", result.Count); }); }
public void InBetween() { StopWatchUtil.Time( () => { int criteria = rnd.Next(NumberOfItems); int biggerThanThis = criteria - 10; int smallerThanThis = criteria + 10; // #example: In between var result = from Item i in container where i.IndexNumber > biggerThanThis && i.IndexNumber < smallerThanThis select i; // #end example Console.WriteLine("Number of result items {0}", result.Count()); }); }
public void EqualsAcrossIndexedFields() { StopWatchUtil.Time( () => { var criteria = Item.DataString(rnd.Next(NumberOfItems)); // #example: Equals across indexed fields // Note that the type of the 'indexedReference' has to the specific type // which holds the 'indexedString' var result = from ItemHolder h in container where h.IndexedReference.IndexedString == criteria select h; // #end example Console.WriteLine("Number of result items {0}", result.Count()); } ); }
public void SearchByReference() { StopWatchUtil.Time( () => { // #example: Query by reference Item item = LoadItemFromDatabase(); var query = container.Query(); query.Constrain(typeof(ItemHolder)); query.Descend("indexedReference") .Constrain(item); // #end example var result = query.Execute(); Console.WriteLine("Number of result items {0}", result.Count); } ); }
public void QueryForItemInCollection() { StopWatchUtil.Time( () => { Item itemToQueryFor = LoadItemFromDatabase(); // #example: Contains on collection var query = container.Query(); query.Constrain(typeof(CollectionHolder)); query.Descend("items") .Constrain(itemToQueryFor); // #end example var result = query.Execute(); Console.WriteLine("Number of result items {0}", result.Count); } ); }
public void NewerData() { StopWatchUtil.Time( () => { var date = new DateTime(rnd.Next(NumberOfItems)); // #example: Find a newer date var query = container.Query(); query.Constrain(typeof(Item)); query.Descend("indexDate") .Constrain(date).Greater(); // #end example var result = query.Execute(); Console.WriteLine("Number of result items {0}", result.Count); } ); }
public void FindADate() { StopWatchUtil.Time( () => { var date = new DateTime(rnd.Next(NumberOfItems)); // #example: Date comparisons are also fast var query = container.Query(); query.Constrain(typeof(Item)); query.Descend("indexDate") .Constrain(date); // #end example var result = query.Execute(); Console.WriteLine("Number of result items {0}", result.Count); } ); }
public void SearchByReference() { StopWatchUtil.Time( () => { // #example: Query by reference Item item = LoadItemFromDatabase(); // #example: Query by reference // Note that the type of the 'indexedReference' has to the specific type // which holds the 'indexedString' var result = from ItemHolder h in container where h.IndexedReference == item select h; // #end example Console.WriteLine("Number of result items {0}", result.Count()); } ); }
public void DescentIntoCollection() { StopWatchUtil.Time( () => { var criteria = Item.DataString(rnd.Next(NumberOfItems)); // #example: Navigate into collection var query = container.Query(); query.Constrain(typeof(CollectionHolder)); query.Descend("items") .Descend("indexedString").Constrain(criteria); // #end example var result = query.Execute(); Console.WriteLine("Number of result items {0}", result.Count); } ); }
public void EqualsAcrossIndexedFields() { StopWatchUtil.Time( () => { var criteria = Item.DataString(rnd.Next(NumberOfItems)); // #example: Equals across indexed fields // Note that the type of the 'indexedReference' has to the specific type // which holds the 'indexedString' var query = container.Query(); query.Constrain(typeof(ItemHolder)); query.Descend("indexedReference").Descend("indexedString") .Constrain(criteria); // #end example var result = query.Execute(); Console.WriteLine("Number of result items {0}", result.Count); } ); }
public void InBetween() { StopWatchUtil.Time( () => { int criteria = rnd.Next(NumberOfItems); int biggerThanThis = criteria - 10; int smallerThanThis = criteria + 10; // #example: In between var query = container.Query(); query.Constrain(typeof(Item)); query.Descend("indexNumber") .Constrain(biggerThanThis).Greater().And( query.Descend("indexNumber").Constrain(smallerThanThis).Smaller()); // #end example var result = query.Execute(); Console.WriteLine("Number of result items {0}", result.Count); }); }
public void EqualsAcrossObjectFields() { StopWatchUtil.Time( () => { var criteria = Item.DataString(rnd.Next(NumberOfItems)); // #example: Navigation across non concrete typed fields // The type of the 'indexedReference' is an object // Therefore the query engine cannot know the type and use that index var query = container.Query(); query.Constrain(typeof(ObjectHolder)); query.Descend("indexedReference").Descend("indexedString") .Constrain(criteria); // #end example var result = query.Execute(); Console.WriteLine("Number of result items {0}", result.Count); } ); }
static void Main(string[] args) { //实例化对象 类名保存为MongoDB数据库名称 MongoDBUtil <PlayerEntity> mgdbUtil = new MongoDBUtil <PlayerEntity>(); ////清空数据 mgdbUtil.DeleteAll(); ////插入一条数据 //PlayerEntity t = new PlayerEntity() { NId = 1, Name = "曾城", Birthday = DateTime.Parse("1900-1-1"), CountryName = "中国", Club = "广州恒大", Position = "GK" }; //mgdbUtil.Insert(t); ////更新一条数据 //PlayerEntity t2 = new PlayerEntity() { NId = 1, Name = "曾城update", Birthday = DateTime.Now, CountryName = "中国", Club = "广州恒大", Position = "GK" }; //mgdbUtil.Update(t2, s => s.NId == 1); ////查询一条数据 //var m = mgdbUtil.GetEntity(s => s.NId == 1); //Console.WriteLine(JsonUtil.Serialize(m)); ////删除一条数据 //mgdbUtil.Delete(s => s.NId == 1); #region int cnt = 10000; double s1 = StopWatchUtil.CalMilSeconds(() => { for (int i = 0; i < cnt; i++) { PlayerEntity t = new PlayerEntity() { NId = i, Name = "曾城" + i.ToString(), Birthday = DateTime.Parse("1900-1-1"), CountryName = "中国", Club = "广州恒大", Position = "GK" }; mgdbUtil.Insert(t); } }); Console.WriteLine("插入数据总共花费{0}ms.", s1); double s3 = StopWatchUtil.CalMilSeconds(() => { for (int i = 0; i < cnt; i++) { PlayerEntity t = new PlayerEntity() { NId = i, Name = "曾城update" + i.ToString(), Birthday = DateTime.Now, CountryName = "中国", Club = "广州恒大", Position = "GK" }; mgdbUtil.Update(t, s => s.NId == i); } }); Console.WriteLine("更新数据总共花费{0}ms.", s3); double s4 = StopWatchUtil.CalMilSeconds(() => { var list = mgdbUtil.ListByCondition(s => 1 == 1, cnt); var res = JsonUtil.Serialize(list); //Console.WriteLine(res); }); Console.WriteLine("获取数据总共花费{0}ms.", s4); //double s2 = StopWatchUtil.CalMilSeconds(() => //{ // mgdbUtil.DeleteAll(); //}); //Console.WriteLine("清空数据总共花费{0}ms.", s2); #endregion Console.WriteLine("输入任何键结束……"); Console.ReadKey(); }