Exemple #1
0
        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));
 }
Exemple #3
0
 /// <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));
 }
Exemple #4
0
 /// <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));
 }
Exemple #6
0
 //查找单个
 //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);
    }
Exemple #9
0
    //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);
    }
Exemple #10
0
    /// <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);
    }
Exemple #11
0
    /// <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);
    }
Exemple #13
0
        // Получить полное описание таблиц, по которым мы можем вести поиск
        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);
        }
Exemple #14
0
        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);
        }
Exemple #15
0
        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);
        }
Exemple #16
0
 /// <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);
        }
Exemple #18
0
 private void FindButton_Click(object sender, RoutedEventArgs e)
 {
     FindHandler.Find();
 }