Example #1
0
            // No match between innerKeySelector and outerKeySelector
            public static int Test8()
            {
                CustomerRec[] outer = new CustomerRec[] { new CustomerRec {
                                                              name = "Tim", custID = 1234
                                                          },
                                                          new CustomerRec {
                                                              name = "Bob", custID = 9865
                                                          },
                                                          new CustomerRec {
                                                              name = "Robert", custID = 9895
                                                          } };
                OrderRec[] inner = new OrderRec[] { new OrderRec {
                                                        orderID = 97865, custID = 2334, total = 25
                                                    },
                                                    new OrderRec {
                                                        orderID = 34390, custID = 9065, total = 19
                                                    } };
                JoinRec[] expected = new JoinRec[] { new JoinRec {
                                                         name = "Tim", orderID = new int?[] {}, total = new int?[] {}
                                                     },
                                                     new JoinRec {
                                                         name = "Bob", orderID = new int?[] {}, total = new int?[] {}
                                                     },
                                                     new JoinRec {
                                                         name = "Robert", orderID = new int?[] {}, total = new int?[] {}
                                                     } };
                Func <CustomerRec, IEnumerable <OrderRec>, JoinRec> resultSelector = Helper.createJoinRec;

                var actual = outer.GroupJoin(inner, (e) => e.custID, (o) => o.custID, resultSelector);

                return(Helper.DataEqual(expected, actual));
            }
Example #2
0
        public Result GetOrderRec(string orderNo)
        {
            Result result = new Result();

            result.Message = "暂未生成相应的回执";
            try
            {
                FtpUtil ftp         = new FtpUtil("", "name", "password");
                string  ftpResponse = "";
                Stream  stream      = ftp.FileStream("", ref ftpResponse);
                // 设置当前流的位置为流的开始,防止读取位置错误造成无法读取完整流的内容
                stream.Seek(0, SeekOrigin.Begin);
                using (StreamReader reader = new StreamReader(stream))
                {
                    string data = reader.ReadToEnd();
                    // 接收回执
                    if (data.Contains("OrderRec"))
                    {
                        OrderRec orderRec = Util.Serialization.SerializationUtil.XmlDeserialize <OrderRec>(data);
                        if (orderRec.orderNo == orderNo)
                        {
                            // TODO:更新订单推送状态
                            result.Status = true;
                        }
                    }
                }
            }
            catch (Exception ex)
            {
                result.Status  = false;
                result.Message = ex.Message;
            }
            return(result);
        }
Example #3
0
            // outerKeySelector matches more than one innerKeySelector
            public static int Test9()
            {
                CustomerRec[] outer = new CustomerRec[] { new CustomerRec {
                                                              name = "Prakash", custID = 98022
                                                          },
                                                          new CustomerRec {
                                                              name = "Bob", custID = 99022
                                                          },
                                                          new CustomerRec {
                                                              name = "Tim", custID = 99021
                                                          },
                                                          new CustomerRec {
                                                              name = "Robert", custID = 99022
                                                          } };
                OrderRec[] inner = new OrderRec[] { new OrderRec {
                                                        orderID = 45321, custID = 18022, total = 50
                                                    },
                                                    new OrderRec {
                                                        orderID = 43421, custID = 29022, total = 20
                                                    },
                                                    new OrderRec {
                                                        orderID = 95421, custID = 39021, total = 9
                                                    } };
                JoinRec[] expected = new JoinRec[] { };
                Func <CustomerRec, OrderRec, JoinRec> resultSelector = Helper.createJoinRec;

                var actual = outer.Join(inner, (e) => e.custID, (o) => o.custID, resultSelector);

                return(Verification.Allequal(expected, actual));
            }
Example #4
0
            public static JoinRec createJoinRec(CustomerRec cr, OrderRec or)
            {
                JoinRec jr = new JoinRec();

                jr.name    = cr.name;
                jr.orderID = or.orderID;
                jr.total   = or.total;

                return(jr);
            }
Example #5
0
            // outer is empty and inner is non-empty
            public static int Test1()
            {
                CustomerRec[] outer = new CustomerRec[] { };
                OrderRec[]    inner = new OrderRec[] { new OrderRec {
                                                           orderID = 45321, custID = 98022, total = 50
                                                       },
                                                       new OrderRec {
                                                           orderID = 97865, custID = 32103, total = 25
                                                       } };
                JoinRec[] expected = new JoinRec[] { };
                Func <CustomerRec, IEnumerable <OrderRec>, JoinRec> resultSelector = Helper.createJoinRec;

                var actual = outer.GroupJoin(inner, (e) => e.custID, (o) => o.custID, resultSelector);

                return(Helper.DataEqual(expected, actual));
            }
Example #6
0
            // outer is non-empty and inner is non-empty
            public static int Test2()
            {
                CustomerRec[] outer = new CustomerRec[] { new CustomerRec {
                                                              name = "Tim", custID = 43434
                                                          },
                                                          new CustomerRec {
                                                              name = "Bob", custID = 34093
                                                          } };
                OrderRec[] inner    = new OrderRec[] { };
                JoinRec[]  expected = new JoinRec[] { };
                Func <CustomerRec, OrderRec, JoinRec> resultSelector = Helper.createJoinRec;

                var actual = outer.Join(inner, (e) => e.custID, (o) => o.custID, resultSelector);

                return(Verification.Allequal(expected, actual));
            }
Example #7
0
            // outer is non-empty and inner is empty
            public static int Test2()
            {
                CustomerRec[] outer = new CustomerRec[] { new CustomerRec {
                                                              name = "Tim", custID = 43434
                                                          },
                                                          new CustomerRec {
                                                              name = "Bob", custID = 34093
                                                          } };
                OrderRec[] inner    = new OrderRec[] { };
                JoinRec[]  expected = new JoinRec[] { new JoinRec {
                                                          name = "Tim", orderID = new int?[] {}, total = new int?[] {}
                                                      },
                                                      new JoinRec {
                                                          name = "Bob", orderID = new int?[] {}, total = new int?[] {}
                                                      } };
                Func <CustomerRec, IEnumerable <OrderRec>, JoinRec> resultSelector = Helper.createJoinRec;

                var actual = outer.GroupJoin(inner, (e) => e.custID, (o) => o.custID, resultSelector);

                return(Helper.DataEqual(expected, actual));
            }
Example #8
0
 public static JoinRec createJoinRec(CustomerRec cr, OrderRec or)
 {
     return(new JoinRec {
         name = cr.name, orderID = or.orderID, total = or.total
     });
 }
Example #9
0
 public static JoinRec createJoinRec(CustomerRec cr, OrderRec or)
 {
     return new JoinRec { name = cr.name, orderID = or.orderID, total = or.total };
 }