Пример #1
0
        public void DoUpdateOrderPosRequest(Command <DoUpdateOrderPosRequest> request)
        {
            var response = new Command <DoUpdateOrderPosResponse>()
            {
                RequestId = request.RequestId,
                Arguments = new DoUpdateOrderPosResponse
                {
                    Order = orderPosService.DoUpdateOrderPosRequest(request.Arguments.OrderPosId,
                                                                    request.Arguments.Amount,
                                                                    request.Arguments.Comment)
                }
            };

            orderService.DoCalulateOrderPrice(request.Arguments.OrderId);

            var infoEvent = new DoSendInfoEvent()
            {
                Info = "OrderPosUpdated"
            };

            Clients?.All?.DoSendInfoEvent(infoEvent);
            Clients?.Group(Mode.Kitchen.ToString())?.DoSendInfoEvent(infoEvent);


            Clients.Caller.DoUpdateOrderPosResponse(response);
        }
Пример #2
0
        public void DoChangeStatusOrderRequest(Command <DoChangeStatusOrderRequest> request)
        {
            var response = new Command <DoChangeStatusOrderResponse>()
            {
                RequestId = request.RequestId,
                Arguments = new DoChangeStatusOrderResponse
                {
                    Order = orderService.DoChangeOrderStatus(request.Arguments.Number, request.Arguments.OrderStatus)
                }
            };
            var infoEvent = new DoSendInfoEvent()
            {
                Info = "OrderUpdated"
            };

            Clients?.All?.DoSendInfoEvent(infoEvent);
            Clients?.Group(Mode.Kitchen.ToString())?.DoSendInfoEvent(infoEvent);
            Clients.Caller.DoChangeStatusOrderResponse(response);
        }
Пример #3
0
        public void DoDeleteOrderPosRequest(Command <DoDeleteOrderPosRequest> request)
        {
            var response = new Command <DoDeleteOrderPosResponse>()
            {
                RequestId = request.RequestId,
                Arguments = new DoDeleteOrderPosResponse
                {
                    Order = orderPosService.RemoveOrderPos(request.Arguments.OrderId, request.Arguments.PositionId)
                }
            };
            var infoEvent = new DoSendInfoEvent()
            {
                Info = "OrderPosDeleted"
            };

            Clients?.All?.DoSendInfoEvent(infoEvent);
            Clients?.Group(Mode.Kitchen.ToString())?.DoSendInfoEvent(infoEvent);

            Clients.Caller.DoDeleteOrderPosResponse(response);
        }
Пример #4
0
        public void CreateOrderPosRequest(Command <CreateOrderPosRequest> request)
        {
            var response = new Command <CreateOrderPosResponse>()
            {
                RequestId = request.RequestId,
                Arguments = new CreateOrderPosResponse
                {
                    Order = orderPosService.AddOrderPos(request.Arguments.OrderId, request.Arguments.ItemTypeId)
                }
            };
            var infoEvent = new DoSendInfoEvent()
            {
                Info = "OrderPosCreated"
            };

            Clients?.All?.DoSendInfoEvent(infoEvent);
            Clients?.Group(Mode.Kitchen.ToString())?.DoSendInfoEvent(infoEvent);

            Clients.Caller.CreateOrderPosResponse(response);
        }
Пример #5
0
        public void CreateOrderRequest(Command <CreateOrderRequest> request)
        {
            var response = new Command <CreateOrderResponse>()
            {
                RequestId = request.RequestId,
                Arguments = new CreateOrderResponse
                {
                    Order = orderService.CreateOrder(request.Arguments.TableId, request.Arguments.TabletIdentifier)
                }
            };

            var infoEvent = new DoSendInfoEvent()
            {
                Info = "OrderCreated"
            };

            Clients?.All?.DoSendInfoEvent(infoEvent);
            Clients?.Group(Mode.Kitchen.ToString())?.DoSendInfoEvent(infoEvent);

            Clients.Caller.CreateOrderResponse(response);
        }
Пример #6
0
        public void DoChangeStatusOrderPosRequest(Command <DoChangeStatusOrderPosRequest> request)
        {
            var response = new Command <DoChangeStatusOrderPosResponse>()
            {
                RequestId = request.RequestId,
                Arguments = new DoChangeStatusOrderPosResponse
                {
                    OrderPos = orderPosService.DoChangeStatusOrderPos(request.Arguments.id, request.Arguments.Status)
                }
            };
            var infoEvent = new DoSendInfoEvent()
            {
                Info = "OrderPosUpdate"
            };

            Clients?.All?.DoSendInfoEvent(infoEvent);
            Clients?.Group(Enum.GetName(typeof(Mode), Mode.Kitchen))?.DoSendInfoEvent(infoEvent);
            Clients?.Group(tabletService.GetTabletIdentifier(request.Arguments.id))?.DoSendInfoEvent(infoEvent);

            Clients.Caller.DoChangeStatusOrderPosResponse(response);
        }