// 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)); }
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); }
// 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)); }
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); }
// 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)); }
// 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)); }
// 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)); }
public static JoinRec createJoinRec(CustomerRec cr, OrderRec or) { return(new JoinRec { name = cr.name, orderID = or.orderID, total = or.total }); }
public static JoinRec createJoinRec(CustomerRec cr, OrderRec or) { return new JoinRec { name = cr.name, orderID = or.orderID, total = or.total }; }