Пример #1
0
        public async Task <JsonResult> WaiterPayWithPaidDetails(Cart cart, WaiterCartAddition cartAddition, WaiterPaidDetails paidDetails)
        {
            FunctionResult result = await waiterPay(cart, cartAddition, "WaiterWithPaidDetails");

            if (!result.Succeeded)
            {
                return(Json(new JsonError(result.Message)));
            }

            Dine dine = ((Dine)result.Data);

            await newDineInform(dine, "WaiterWithPaidDetail");
            await requestPrintDine(dine.Id);

            paidDetails.DineId = dine.Id;

            bool succeeded = await OrderManager.OfflinePayCompleted(paidDetails);

            if (!succeeded)
            {
                return(Json(new JsonError("支付金额与应付金额不匹配")));
            }

            NewDineInformTcpClient.SendNewDineInfrom(CurrHotel.Id, paidDetails.DineId, true);
            return(Json(new JsonSuccess {
                Data = paidDetails.DineId
            }));
        }
Пример #2
0
        public async Task <JsonResult> AddMenus(string dineId, List <MenuExtension> orderedMenus, decimal price)
        {
            orderedMenus = orderedMenus ?? new List <MenuExtension>();

            FunctionResult result = await OrderManager.AddMenus(dineId, orderedMenus, price);

            if (!result.Succeeded)
            {
                return(Json(new JsonError(result.Message)));
            }

            List <DineMenu> addedDineMenus = result.Data as List <DineMenu>;

            HotelConfig config = await new HotelManager(CurrHotel.ConnectionString).GetHotelConfig();

            if (config.HasAutoPrinter)
            {
                NewDineInformTcpClient.SendRequestAddedMenus(CurrHotel.Id, dineId,
                                                             addedDineMenus.Select(p => p.Id).ToList(),
                                                             new List <PrintType> {
                    PrintType.Recipt, PrintType.ServeOrder, PrintType.KitchenOrder
                });
            }

            return(Json(new JsonSuccess()));
        }
Пример #3
0
        public async Task <JsonResult> WaiterPayCompleted(WaiterPaidDetails paidDetails)
        {
            bool succeeded = await OrderManager.OfflinePayCompleted(paidDetails);

            if (!succeeded)
            {
                return(Json(new JsonError("支付金额与应付金额不匹配")));
            }

            NewDineInformTcpClient.SendNewDineInfrom(CurrHotel.Id, paidDetails.DineId, true);
            return(Json(new JsonSuccess {
                Data = paidDetails.DineId
            }));
        }
Пример #4
0
        protected void Application_Start()
        {
            var _ = new YummyOnlineManager().RecordLog(YummyOnlineDAO.Models.Log.LogProgram.OrderSystem_Waiter, YummyOnlineDAO.Models.Log.LogLevel.Info, "OrderSystem.Waiter Initializing");

            _ = NewDineInformTcpClient.Initialize(async() => {
                await new YummyOnlineManager().RecordLog(YummyOnlineDAO.Models.Log.LogProgram.OrderSystem_Waiter, YummyOnlineDAO.Models.Log.LogLevel.Success, "TcpServer Connected");
            }, async e => {
                await new YummyOnlineManager().RecordLog(YummyOnlineDAO.Models.Log.LogProgram.OrderSystem_Waiter, YummyOnlineDAO.Models.Log.LogLevel.Error, e.Message);
            });

            FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters);
            RouteConfig.RegisterRoutes(RouteTable.Routes);
            BundleConfig.RegisterBundles(BundleTable.Bundles);
        }