public async void FindHandler_Should_Work(string id, string description, int expected, int count) { // Given IMediator mediator = ServiceProvider.GetService <IMediator>(); MockEventPublisher publisher = new MockEventPublisher(mediator); MockSampleRepository repository = new MockSampleRepository( new Dictionary <string, Domain.Sample.Sample> { { "1", new Domain.Sample.Sample("1", "1") }, { "2", new Domain.Sample.Sample("2", "2") }, { "3", new Domain.Sample.Sample("3", "3") }, { "4", new Domain.Sample.Sample("4", "4") } }); Mock <ILogger <FindRequest> > logger = new Mock <ILogger <FindRequest> >(); FindHandler handler = new FindHandler(repository, publisher, logger.Object); FindRequest command = new FindRequest(id, description, 1, 3); // When QueryResult <SampleDto> result = await handler.Handle(command, new CancellationToken()); // Then List <ValidationResult> notValidNotifications = result.Notifications.Where(notification => !notification.IsValid).ToList(); Assert.Empty(notValidNotifications); Assert.Equal(expected, result.Items.Count()); Assert.Equal(count, result.Count); }
/// <summary> /// 查找满足条件的单个对象 /// </summary> /// <param name="array">源数组</param> /// <param name="handler">查找条件</param> /// <returns>找到的单个对象</returns> public static T Find <T>(T[] array, FindHandler <T> handler) { foreach (var item in array) { if (handler(item)) { return(item); } } return(default(T)); }
/// <summary> /// 正序查找符合条件的第一个元素 /// </summary> /// <param name="array">数据源</param> /// <param name="handler">条件</param> /// <returns>找到的元素</returns> public static T Find <T>(T[] array, FindHandler <T> handler) { for (int i = 0; i < array.Length; i++) { if (handler(array[i])) { return(array[i]); } } return(default(T)); }
/// <summary> /// 倒序查找符合条件的第一个元素 /// </summary> /// <param name="array">数据源</param> /// <param name="handler">条件</param> /// <returns>找到的元素</returns> public static T FindLast <T>(T[] array, FindHandler <T> handler) { for (int i = array.Length - 1; i >= 0; i--) { if (handler(array[i])) { return(array[i]); } } return(default(T)); }
/// <summary> /// 5 查找单个Find /// </summary> /// <typeparam name="T"></typeparam> /// <param name="array"></param> /// <param name="handler"></param> /// <returns></returns> public static T Find <T>(List <T> list, FindHandler <T> handler) { for (int i = 0; i < list.Count; i++) { if (handler(list[i])) { return(list[i]); } } return(default(T)); }
//查找单个 //public static CharacterState Find(CharacterState[] items) //{ // for (int i = 0; i < items.Length; i++) // { // if (items[i].hp <= 0) // return items[i]; // } // return null; //} /// <summary> /// 寻找单个 /// </summary> /// <typeparam name="T"></typeparam> /// <param name="items"></param> /// <param name="handler"></param> /// <returns></returns> public static T Find <T>(T[] items, FindHandler <T> handler) { for (int i = 0; i < items.Length; i++) { if (handler(items[i])) { return(items[i]); } } return(default(T)); }
/// <summary> /// 6 查找所有的方法 给定一个查找的条件? 返回满足条件的所有的 /// </summary> /// <typeparam name="T"></typeparam> /// <param name="array"></param> /// <param name="handler"></param> /// <returns></returns> static public T[] FindAll <T>(T[] array, FindHandler <T> handler) { List <T> list = new List <T>(); for (int i = 0; i < array.Length; i++) { if (handler(array[i])) { list.Add(array[i]); } } return(list.ToArray()); }
/// <summary> /// 找到满足条件所有对象,返回列表 /// </summary> /// <typeparam name="T"></typeparam> /// <param name="array"></param> /// <param name="handler"></param> /// <returns></returns> public static List <T> FindAll <T>(List <T> array, FindHandler <T> handler) { List <T> list = new List <T>(); for (int i = 0; i < array.Count; i++) { if (handler(array[i])) { list.Add(array[i]); } } return(list); }
//public static List<CharacterState> FindAll(CharacterState[] items) //{ // List<CharacterState> list = new List<CharacterState>(); // for (int i = 0; i < items.Length; i++) // { // if (items[i].hp <= 0) // list.Add(items[i]); // } // return list.Count > 0 ? list : null; //} public static T[] FindAll <T>(T[] items, FindHandler <T> handler) { List <T> list = new List <T>(); for (int i = 0; i < items.Length; i++) { if (handler(items[i])) { list.Add(items[i]); } } return(list.Count > 0 ? list.ToArray() : null); }
/// <summary> /// 查找满足条件的多个对象 /// </summary> /// <param name="array">源数组</param> /// <param name="handler">查找条件</param> /// <returns>找到的多个对象</returns> public static T[] FindAll <T>(T[] array, FindHandler <T> handler) { List <T> tempList = new List <T>(); foreach (var item in array) { if (handler(item)) { tempList.Add(item); } } return(tempList.Count > 0 ? tempList.ToArray() : null); }
/// <summary> /// 查找满足条件的单个 /// </summary> /// <typeparam name="T">数据类型</typeparam> /// <param name="array">数据类型的数组</param> /// <param name="handler">委托类型代表 查找条件 【多种多样】</param> /// <returns>单个对象</returns> public static T Find <T>(T[] array, FindHandler <T> handler) { T t = default(T); for (int i = 0; i < array.Length; i++) { if (handler(array[i])) { t = array[i]; return(t); } } return(t); }
//查找 public static List <T> FindAllListToList <T>(List <T> array, FindHandler <T> handler) { List <T> tempList = new List <T>(); foreach (var item in array) { //调用委托 if (handler(item)) { tempList.Add(item); } } return(tempList.Count > 0 ? tempList : null); }
// Получить полное описание таблиц, по которым мы можем вести поиск private static List <KeyValuePair <string, string> > TakeDescribe(MySqlConnection connection) { List <KeyValuePair <string, string> > describe = new List <KeyValuePair <string, string> >(); connection.Open(); // Вот тут нужно проходить по всем таблицам, что мы используем в итоговом запросе FindHandler.DescribeHelper("describe products", connection, describe); // Вот тут конец connection.Close(); return(describe); }
private static List <KeyValuePair <string, string> > TakeDescribe(MySqlConnection connection) { List <KeyValuePair <string, string> > describe = new List <KeyValuePair <string, string> >(); connection.Open(); // Вот тут нужно проходить по всем таблицам, что мы используем в итоговом запросе FindHandler.DescribeHelper("describe receipt_of_materials", connection, describe); FindHandler.DescribeHelper("describe payment_states", connection, describe); FindHandler.DescribeHelper("describe type_of_transactions", connection, describe); FindHandler.DescribeHelper("describe suppliers", connection, describe); // Вот тут конец connection.Close(); return(describe); }
public static (DataTable dataTable, FindHandler.FindDescription findDescription) FindListEmployee(FindHandler.FindDescription currentFindDescription, MySqlConnection connection) { List <FindHandler.FieldParameters> listOfField = FillFindFields(connection); var query = getQueryText(); (DataTable dataTable, FindHandler.FindDescription findDescription)result = FindHandler.GetDataWithFind(currentFindDescription, connection, listOfField, query); return(result); }
/// <summary> /// 浏览器框架内容查找结果 /// </summary> /// <param name="e">传递事件</param> internal void OnFound(CfxFindHandlerOnFindResultEventArgs e) { FindHandler?.Invoke(null, new FindEventArgs(e.FinalUpdate, e.Identifier, e.Count)); }
// Поиск public static (System.Data.DataTable dataTable, FindHandler.FindDescription findDescription) FindListOrders(FindHandler.FindDescription currentFindDescription, MySqlConnection connection) { List <FindHandler.FieldParameters> listOfField = FillFindFields(connection); var query = getQueryText(); var queryNotNull = getNotNullQueryText(); var queryNull = getNullQueryText(); var queryGroupBy = getGroupBy(); var queryNullAlex = getNull(); (System.Data.DataTable dataTable, FindHandler.FindDescription findDescription)result = FindHandler.GetDataWithFind(currentFindDescription, connection, listOfField, query, queryNotNull, queryNull, queryGroupBy, queryNullAlex); return(result); }
private void FindButton_Click(object sender, RoutedEventArgs e) { FindHandler.Find(); }