Пример #1
0
 public ItemInput(DeliveryGoods obj, ILog log)
 {
     InitializeComponent();
     this.deliveryGoods = obj;
     this.log           = log;
     this.count         = ParentWindow.DeliveryGoods.ToString();
 }
        public async Task DeliverAsync(string goods)
        {
            var rand = new Random();

            foreach (var good in goods.Split(','))
            {
                var randomNumber = rand.Next(1, 1000);

                // notify about delivery start
                var startDeliveryNotification = new DeliveryStartNotification(good);
                _notificationActor.Tell(startDeliveryNotification);
                // deliver goods
                var deliveryData = new DeliveryGoods(new string[] { good });
                var result       = await _deliveryActor.Ask <DeliveryResult>(deliveryData);

                // notify about delivery finish
                var delivaryFinishNotification = new DeliveryFinishNotification(good, result.ShipId,
                                                                                (NotificationApi.TransportType)result.TransportType, result.DeliveryDate, result.IsSuccess);

                _notificationActor.Tell(delivaryFinishNotification);

                var msg = result.IsSuccess
                ? $"{good} is delivered to {result.Address} by {result.TransportType} {result.ShipId} at {result.DeliveryDate} successfully"
                : $"{good} delivery to {result.Address} by {result.TransportType} {result.ShipId} at {result.DeliveryDate} was failed";

                await _deliveryHub.SendMessageAsync(msg);
            }
        }
Пример #3
0
        public void PaymentTest_Fail()
        {
            var mock = new Mock <IBalance>();

            mock.Setup(d => d.GetBalance()).Returns(12);

            var deliveryGoods = new DeliveryGoods(db, mock.Object);
            var pay           = deliveryGoods.Payment(34);

            Assert.IsFalse(pay);
        }
Пример #4
0
 public QueryGoods(DeliveryGoods obj, string bar, string num)
 {
     this.deliveryGoods = obj;
     this.bar           = bar;
     this.num           = num;
     this.count         = ParentWindow.DeliveryGoods.ToString();
     if (num.Equals(""))
     {
         this.num = "1";
     }
 }
Пример #5
0
 public ScanGood(DeliveryGoods obj, string bar, string num)
 {
     InitializeComponent();
     this.deliveryGoods = obj;
     this.bar           = bar;
     this.num           = num;
     this.count         = ParentWindow.DeliveryGoods.ToString();
     if (num.Equals(""))
     {
         this.num = "1";
     }
 }
Пример #6
0
        private void deliveryGoodsButton_Click(object sender, EventArgs e)
        {
            //DownloadIdentifyService service = new DownloadIdentifyService();
            /////判断亭点是否收获
            //if(service.IsHarvest())
            //{
            //    MessageBox.Show("本亭点今天已经确认收货!");
            //    return;
            //}
            DeliveryGoods deliveryGoods = new DeliveryGoods(this);

            deliveryGoods.delivery += new DeliveryGoods.child_close(this.closethis);
            deliveryGoods.Show();//收货管理
            this.Hide();
        }
Пример #7
0
        public void DeliveryAgeTest()
        {
            //var users = fixture.Create<User>();
            //users.Age = 11;
            var users = fixture.Build <User>().With(f => f.Age, 12).Without(h => h.Age).Create();

            db.User.Add(users);
            db.SaveChanges();

            var mock = new Mock <IBalance>();

            mock.Setup(d => d.GetBalance()).Returns(123);

            var deliveryGoods = new DeliveryGoods(db, mock.Object);
            var delivery      = deliveryGoods.DeliveryAge(users.IdUser);

            Assert.IsTrue(delivery);
        }
        public async Task <DeliveryResult> DeliverGoodsAsync(DeliveryGoods data, Api.TransportData transportInfo)
        {
            var rand = new Random();

            Thread.Sleep(TimeSpan.FromSeconds(5));
            var now          = DateTime.Now;
            var path         = Configurator.GetValue <string>("ReportPath");
            var randomNumber = rand.Next(1, 100);
            var success      = randomNumber % 2 == 0;

            var msg = success
                ? $"Goods {string.Join(",", data.Goods)} are delivered by {transportInfo.TransportType} {transportInfo.VehicleNumber} at {now}"
                : $"Delivery was failed by {transportInfo.TransportType} {transportInfo.VehicleNumber} at {now}";

            await File.AppendAllLinesAsync(path, new[] { msg });

            return(new DeliveryResult((TransportType)transportInfo.TransportType, transportInfo.VehicleNumber.ToString(),
                                      now, $"Baker street'{randomNumber}", success));
        }
Пример #9
0
 public Scan(DeliveryGoods obj)
 {
     InitializeComponent();
     this.deliveryGoods = obj;
     this.count         = ParentWindow.DeliveryGoods.ToString();
 }