Esempio n. 1
0
        internal static async Task <string> setCarReturn(State s, SetCarReturn scr)
        {
            {
                //  Regex r = new Regex("^car(?<car>[A-E]{1})_(?<key>[a-f0-9]{32})$");
                // var m = r.Match(scr.car);
                // var m_Target = rex_Target.Match(attack.TargetOwner);
                //   if (m.Success)//&& m_Target.Success)
                {
                    //   var targetOwner = m_Target.Groups["target"].Value;

                    //     Console.WriteLine($"正则匹配成功:{m.Groups["car"] }+{m.Groups["key"] }");
                    //   if (m.Groups["key"].Value == s.Key)
                    {
                        var getPosition = new OrderToReturn()
                        {
                            c   = "OrderToReturn",
                            Key = s.Key,
                            //  car = "car" + m.Groups["car"].Value,
                        };
                        var msg = Newtonsoft.Json.JsonConvert.SerializeObject(getPosition);
                        await Startup.sendInmationToUrlAndGetRes(Room.roomUrls[s.roomIndex], msg);
                    }
                }
                return("");
            }
        }
Esempio n. 2
0
        internal async Task <string> OrderToReturn(OrderToReturn otr)
        {
            if (string.IsNullOrEmpty(otr.car))
            {
                return("");
            }
            else if (!(otr.car == "carA" || otr.car == "carB" || otr.car == "carC" || otr.car == "carD" || otr.car == "carE"))
            {
                return("");
            }
            else
            {
                List <string> notifyMsg = new List <string>();
                lock (this.PlayerLock)
                {
                    if (this._Players.ContainsKey(otr.Key))
                    {
                        if (this._Players[otr.Key].Bust)
                        {
                        }
                        else
                        {
                            var player   = this._Players[otr.Key];
                            var carIndex = getCarIndex(otr.car);
                            var car      = this._Players[otr.Key].getCar(carIndex);
                            switch (car.state)
                            {
                            case CarState.waitOnRoad:
                            {
                                SendOrderToReturnWhenCarIsStoping(otr, car);
                            }; break;

                            case CarState.waitForCollectOrAttack:
                            {
                                SendOrderToReturnWhenCarIsStoping(otr, car);
                            }; break;

                            case CarState.waitForTaxOrAttack:
                            {
                                SendOrderToReturnWhenCarIsStoping(otr, car);
                            }; break;
                            }
                        }
                    }
                }

                for (var i = 0; i < notifyMsg.Count; i += 2)
                {
                    var url     = notifyMsg[i];
                    var sendMsg = notifyMsg[i + 1];
                    Console.WriteLine($"url:{url}");

                    await Startup.sendMsg(url, sendMsg);
                }
                return("");
            }
        }
        public async Task <IActionResult> PlaceOrder()
        {
            var order = new Order
            {
                BasketId         = HttpContext.Session.GetString("cartId"),
                DeliveryMethodId = 2,
                ShippingAddress  = new Address
                {
                    City      = "Agra",
                    Country   = "India",
                    FirstName = Helper.GetDisplayName(HttpContext.Session.GetString("token")),
                    LastName  = "Last",
                    Street    = "101 street",
                    State     = "UP",
                    ZipCode   = "282002"
                }
            };

            OrderToReturn orderToReturn = null;

            using (HttpClient client = new HttpClient())
            {
                client.BaseAddress = _baseAddress;
                client.DefaultRequestHeaders.Add("Authorization", "Bearer " + HttpContext.Session.GetString("token"));
                var url     = "order";
                var json    = JsonConvert.SerializeObject(order);
                var content = new StringContent(json, Encoding.UTF8, "application/json");

                using (var response = await client.PostAsync(url, content))
                {
                    try
                    {
                        string apiResponse = await response.Content.ReadAsStringAsync();

                        orderToReturn = JsonConvert.DeserializeObject <OrderToReturn>(apiResponse);
                    }
                    catch (Exception ex)
                    {
                        ModelState.AddModelError("Error", ex.Message);
                    }
                }
            }
            if (HttpContext.Session.GetString("cartId") != null)
            {
                HttpContext.Session.Remove("cartId");
            }
            if (HttpContext.Session.GetInt32("itemCount") != null)
            {
                HttpContext.Session.Remove("itemCount");
            }
            return(View(orderToReturn));
        }
Esempio n. 4
0
        private void SendOrderToReturnWhenCarIsStoping(OrderToReturn otr, Car car)
        {
            // var carKey = $"{sp.car}_{sp.Key}";
            var    returnPath = this._Players[otr.Key].returningRecord[otr.car];//  this.returningRecord[carKey];
            Thread th         = new Thread(() => setReturn(0, new commandWithTime.returnning()
            {
                c          = "returnning",
                key        = otr.Key,
                car        = otr.car,
                returnPath = returnPath,        //returnPath_Record,
                target     = car.targetFpIndex, //这里的target 实际上是returnning 的起点,是汽车的上一个目标
                changeType = "orderToReturn",
            }));

            th.Start();
        }
Esempio n. 5
0
        public ReturningOjb maindDo(RoleInGame player, Car car, Command c, ref List <string> notifyMsg, out MileResultReason mrr)
        {
            //throw new NotImplementedException();
            //    car.state = CarState.returning;
            OrderToReturn otr = (OrderToReturn)c;

            car.setState(player, ref notifyMsg, CarState.returning);
            setReturn(new returnning()
            {
                c            = "returnning",
                changeType   = returnning.ChangeType.BeforeTax,
                key          = otr.Key,
                returningOjb = player.returningOjb,
                target       = car.targetFpIndex
            });
            mrr = MileResultReason.Abundant;
            return(player.returningOjb);
        }
Esempio n. 6
0
 internal string OrderToReturn(OrderToReturn otr)
 {
     if (otr.c == "OrderToReturn")
     {
         //   return this.
         return(this.updateAction(this, otr, otr.Key));
     }
     else if (otr.c == "OrderToReturnBySystem")
     {
         OrderToReturnBySystem otrbs = (OrderToReturnBySystem)otr;
         return(this.updateActionBySys(this, otrbs, otrbs.Key));
     }
     else
     {
         throw new Exception($"{otr.c}__没有注册!!!");
     }
     //throw new NotImplementedException();
 }
        public async Task <IActionResult> ViewOrder(int id)
        {
            OrderToReturn orderToReturn = null;

            using (HttpClient client = new HttpClient())
            {
                client.BaseAddress = _baseAddress;
                client.DefaultRequestHeaders.Add("Authorization", "Bearer " + HttpContext.Session.GetString("token"));
                var url = "order/" + id;
                using (var response = await client.GetAsync(url))
                {
                    string apiResponse = await response.Content.ReadAsStringAsync();

                    orderToReturn = JsonConvert.DeserializeObject <OrderToReturn>(apiResponse);
                }
            }
            return(View(orderToReturn));
        }
Esempio n. 8
0
 public string OrderToReturn(OrderToReturn otr)
 {
     return(this.retutnE.OrderToReturn(otr));
 }