Beispiel #1
0
        public override void Process(ActionData actionData)
        {
            var ticket = actionData.GetDataValue<Ticket>("Ticket");

            if (ticket != null)
            {
                var menuItemName = actionData.GetAsString("MenuItemName");
                var menuItem = _cacheService.GetMenuItem(y => y.Name == menuItemName);
                var portionName = actionData.GetAsString("PortionName");
                var quantity = actionData.GetAsDecimal("Quantity");
                var tag = actionData.GetAsString("Tag");
                var orderStateName = actionData.GetAsString("OrderStateName");
                var orderState = actionData.GetAsString("OrderState");

                var osv = orderState.Contains("=") ? orderState : orderStateName + "=" + orderState;
                var order = _ticketService.AddOrder(ticket, menuItem.Id, quantity, portionName, osv);

                if (!string.IsNullOrEmpty(actionData.GetAsString("Price")))
                    order.UpdatePrice(actionData.GetAsDecimal("Price"), "");
                if (!string.IsNullOrEmpty(actionData.GetAsString("IncreaseInventory")))
                    order.IncreaseInventory = actionData.GetAsBoolean("IncreaseInventory");
                if (!string.IsNullOrEmpty(actionData.GetAsString("DecreaseInventory")))
                    order.DecreaseInventory = actionData.GetAsBoolean("DecreaseInventory");
                if (!string.IsNullOrEmpty(actionData.GetAsString("Locked")))
                    order.Locked = actionData.GetAsBoolean("Locked");
                if (!string.IsNullOrEmpty(actionData.GetAsString("CalculatePrice")))
                    order.CalculatePrice = actionData.GetAsBoolean("CalculatePrice");

                if (order != null) order.Tag = tag;
                actionData.DataObject.Order = order;
                order.PublishEvent(EventTopicNames.OrderAdded);
            }
        }
Beispiel #2
0
        public override void Process(ActionData actionData)
        {
            var ticket = actionData.GetDataValue<Ticket>("Ticket");
            var orders = Helper.GetOrders(actionData, ticket);
            if (orders.Any())
            {
                foreach (var order in orders)
                {
                    if (!string.IsNullOrEmpty(actionData.GetAsString("Quantity")))
                        order.Quantity = actionData.GetAsDecimal("Quantity");
                    if (!string.IsNullOrEmpty(actionData.GetAsString("Price")))
                        order.UpdatePrice(actionData.GetAsDecimal("Price"), "");
                    if (!string.IsNullOrEmpty(actionData.GetAsString("IncreaseInventory")))
                        order.IncreaseInventory = actionData.GetAsBoolean("IncreaseInventory");
                    if (!string.IsNullOrEmpty(actionData.GetAsString("DecreaseInventory")))
                        order.DecreaseInventory = actionData.GetAsBoolean("DecreaseInventory");
                    if (!string.IsNullOrEmpty(actionData.GetAsString("Locked")))
                        order.Locked = actionData.GetAsBoolean("Locked");
                    if (!string.IsNullOrEmpty(actionData.GetAsString("CalculatePrice")))
                        order.CalculatePrice = actionData.GetAsBoolean("CalculatePrice");
                    if (!string.IsNullOrEmpty(actionData.GetAsString("AccountTransactionType")))
                        _ticketService.ChangeOrdersAccountTransactionTypeId(ticket, new List<Order> { order },
                                                                           _cacheService.GetAccountTransactionTypeIdByName
                                                                               (actionData.GetAsString("AccountTransactionType")));

                    if (!string.IsNullOrEmpty(actionData.GetAsString("PortionName")) || !string.IsNullOrEmpty(actionData.GetAsString("PriceTag")))
                    {
                        var portionName = actionData.GetAsString("PortionName");
                        var priceTag = actionData.GetAsString("PriceTag");
                        _ticketService.UpdateOrderPrice(order, portionName, priceTag);
                    }
                }
            }
        }
        public override void Process(ActionData actionData)
        {
            var ticket = actionData.GetDataValue <Ticket>("Ticket");
            var orders = Helper.GetOrders(actionData, ticket);

            if (orders.Any())
            {
                foreach (var order in orders)
                {
                    if (!string.IsNullOrEmpty(actionData.GetAsString("Quantity")))
                    {
                        order.Quantity = actionData.GetAsDecimal("Quantity");
                        order.ResetSelectedQuantity();
                    }
                    if (!string.IsNullOrEmpty(actionData.GetAsString("Price")))
                    {
                        order.UpdatePrice(actionData.GetAsDecimal("Price"), "");
                    }
                    if (!string.IsNullOrEmpty(actionData.GetAsString("IncreaseInventory")))
                    {
                        order.IncreaseInventory = actionData.GetAsBoolean("IncreaseInventory");
                    }
                    if (!string.IsNullOrEmpty(actionData.GetAsString("DecreaseInventory")))
                    {
                        order.DecreaseInventory = actionData.GetAsBoolean("DecreaseInventory");
                    }
                    if (!string.IsNullOrEmpty(actionData.GetAsString("Locked")))
                    {
                        order.Locked = actionData.GetAsBoolean("Locked");
                    }
                    if (!string.IsNullOrEmpty(actionData.GetAsString("CalculatePrice")))
                    {
                        order.CalculatePrice = actionData.GetAsBoolean("CalculatePrice");
                    }
                    if (!string.IsNullOrEmpty(actionData.GetAsString("AccountTransactionType")))
                    {
                        _ticketService.ChangeOrdersAccountTransactionTypeId(ticket, new List <Order> {
                            order
                        },
                                                                            _cacheService.GetAccountTransactionTypeIdByName
                                                                                (actionData.GetAsString("AccountTransactionType")));
                    }

                    if (!string.IsNullOrEmpty(actionData.GetAsString("PortionName")) || !string.IsNullOrEmpty(actionData.GetAsString("PriceTag")))
                    {
                        var portionName = actionData.GetAsString("PortionName");
                        var priceTag    = actionData.GetAsString("PriceTag");
                        _ticketService.UpdateOrderPrice(order, portionName, priceTag);
                    }
                }
            }
        }
Beispiel #4
0
        public override void Process(ActionData actionData)
        {
            var ticket = actionData.GetDataValue <Ticket>("Ticket");

            if (ticket != null)
            {
                var menuItemName = actionData.GetAsString("MenuItemName");
                var menuItem     = GetMenuItem(menuItemName);
                if (menuItem == null)
                {
                    return;
                }
                var portionName    = actionData.GetAsString("PortionName");
                var quantity       = actionData.GetAsDecimal("Quantity");
                var tag            = actionData.GetAsString("Tag");
                var orderStateName = actionData.GetAsString("OrderStateName");
                var orderState     = actionData.GetAsString("OrderState");

                var osv   = orderState.Contains("=") ? orderState : orderStateName + "=" + orderState;
                var order = _ticketService.AddOrder(ticket, menuItem.Id, quantity, portionName, osv);

                if (!string.IsNullOrEmpty(actionData.GetAsString("Price")))
                {
                    order.UpdatePrice(actionData.GetAsDecimal("Price"), "");
                }
                if (!string.IsNullOrEmpty(actionData.GetAsString("IncreaseInventory")))
                {
                    order.IncreaseInventory = actionData.GetAsBoolean("IncreaseInventory");
                }
                if (!string.IsNullOrEmpty(actionData.GetAsString("DecreaseInventory")))
                {
                    order.DecreaseInventory = actionData.GetAsBoolean("DecreaseInventory");
                }
                if (!string.IsNullOrEmpty(actionData.GetAsString("Locked")))
                {
                    order.Locked = actionData.GetAsBoolean("Locked");
                }
                if (!string.IsNullOrEmpty(actionData.GetAsString("CalculatePrice")))
                {
                    order.CalculatePrice = actionData.GetAsBoolean("CalculatePrice");
                }

                if (order != null)
                {
                    order.Tag = tag;
                }
                actionData.DataObject.Order = order;
                order.PublishEvent(EventTopicNames.OrderAdded);
            }
        }
Beispiel #5
0
        public override void Process(ActionData actionData)
        {
            var ticket = actionData.GetDataValue<Ticket>("Ticket");
            var orders = Helper.GetOrders(actionData, ticket);
            if (orders.Any())
            {
                var tagName = actionData.GetAsString("OrderTagName");
                var orderTag = _cacheService.GetOrderTagGroupByName(tagName);

                if (orderTag != null)
                {
                    var tagValue = actionData.GetAsString("OrderTagValue");
                    var oldTagValue = actionData.GetAsString("OldOrderTagValue");
                    var tagNote = actionData.GetAsString("OrderTagNote");
                    var orderTagValue = orderTag.OrderTags.SingleOrDefault(y => y.Name == tagValue);

                    if (orderTagValue != null)
                    {
                        if (!string.IsNullOrEmpty(actionData.GetAsString("OrderTagPrice")))
                        {
                            var price = actionData.GetAsDecimal("OrderTagPrice");
                            orderTagValue.Price = price;
                        }

                        if (!string.IsNullOrEmpty(oldTagValue))
                            orders = orders.Where(o => o.OrderTagExists(y => y.OrderTagGroupId == orderTag.Id && y.TagValue == oldTagValue)).ToList();
                        if (actionData.Action.ActionType == ActionNames.TagOrder)
                            _ticketService.TagOrders(ticket, orders, orderTag, orderTagValue, tagNote);
                        if (actionData.Action.ActionType == ActionNames.UntagOrder)
                            _ticketService.UntagOrders(ticket, orders, orderTag, orderTagValue);
                    }
                }
            }
        }
 public override void Process(ActionData actionData)
 {
     var documentName = actionData.GetAsString("AccountTransactionDocumentName");
     var documentType = _cacheService.GetAccountTransactionDocumentTypeByName(documentName);
     var accountName = actionData.GetAsString("AccountName");
     var description = actionData.GetAsString("Description");
     var amount = actionData.GetAsDecimal("Amount");
     if (amount > 0)
     {
         var account = _accountService.GetAccountByName(accountName);
         var document = _accountService.CreateTransactionDocument(account, documentType, description, amount, null);
         actionData.DataObject.DocumentId = document.Id;
     }
 }
        public override void Process(ActionData actionData)
        {
            var documentName = actionData.GetAsString("AccountTransactionDocumentName");
            var documentType = _cacheService.GetAccountTransactionDocumentTypeByName(documentName);
            var accountName  = actionData.GetAsString("AccountName");
            var description  = actionData.GetAsString("Description");
            var amount       = actionData.GetAsDecimal("Amount");

            if (amount > 0)
            {
                var account  = _accountService.GetAccountByName(accountName);
                var document = _accountService.CreateTransactionDocument(account, documentType, description, amount, null);
                actionData.DataObject.DocumentId = document.Id;
            }
        }
 public override void Process(ActionData actionData)
 {
     var ticket = actionData.GetDataValue<Ticket>("Ticket");
     if (ticket != null)
     {
         var calculationTypeName = actionData.GetAsString("CalculationType");
         var calculationType = _cacheService.GetCalculationTypeByName(calculationTypeName);
         if (calculationType != null)
         {
             var amount = actionData.GetAsDecimal("Amount");
             ticket.AddCalculation(calculationType, amount);
             _ticketService.RecalculateTicket(ticket);
             EventServiceFactory.EventService.PublishEvent(EventTopicNames.RegenerateSelectedTicket);
         }
     }
 }
Beispiel #9
0
        public override void Process(ActionData actionData)
        {
            var ticket = actionData.GetDataValue<Ticket>("Ticket");

            if (ticket != null)
            {
                var menuItemName = actionData.GetAsString("MenuItemName");
                var menuItem = _cacheService.GetMenuItem(y => y.Name == menuItemName);
                var portionName = actionData.GetAsString("PortionName");
                var quantity = actionData.GetAsDecimal("Quantity");
                var tag = actionData.GetAsString("Tag");
                var order = _ticketService.AddOrder(ticket, menuItem.Id, quantity, portionName);
                if (order != null) order.Tag = tag;
                order.PublishEvent(EventTopicNames.OrderAdded);
            }
        }
        public override void Process(ActionData actionData)
        {
            var ticket = actionData.GetDataValue <Ticket>("Ticket");

            if (ticket != null)
            {
                var calculationTypeName = actionData.GetAsString("CalculationType");
                var calculationType     = _cacheService.GetCalculationTypeByName(calculationTypeName);
                if (calculationType != null)
                {
                    var amount = actionData.GetAsDecimal("Amount");
                    ticket.AddCalculation(calculationType, amount);
                    _ticketService.RecalculateTicket(ticket);
                    EventServiceFactory.EventService.PublishEvent(EventTopicNames.RegenerateSelectedTicket);
                }
            }
        }
Beispiel #11
0
        public override void Process(ActionData actionData)
        {
            var ticket = actionData.GetDataValue <Ticket>("Ticket");

            if (ticket != null)
            {
                var menuItemName = actionData.GetAsString("MenuItemName");
                var menuItem     = _cacheService.GetMenuItem(y => y.Name == menuItemName);
                var portionName  = actionData.GetAsString("PortionName");
                var quantity     = actionData.GetAsDecimal("Quantity");
                var tag          = actionData.GetAsString("Tag");
                var order        = _ticketService.AddOrder(ticket, menuItem.Id, quantity, portionName);
                if (order != null)
                {
                    order.Tag = tag;
                }
                order.PublishEvent(EventTopicNames.OrderAdded);
            }
        }
        public override void Process(ActionData actionData)
        {
            var ticket = actionData.GetDataValue <Ticket>("Ticket");
            var orders = Helper.GetOrders(actionData, ticket);

            if (orders.Any())
            {
                var tagName  = actionData.GetAsString("OrderTagName");
                var orderTag = _cacheService.GetOrderTagGroupByName(tagName);

                if (orderTag != null)
                {
                    var tagValue      = actionData.GetAsString("OrderTagValue");
                    var oldTagValue   = actionData.GetAsString("OldOrderTagValue");
                    var tagNote       = actionData.GetAsString("OrderTagNote");
                    var orderTagValue = orderTag.OrderTags.SingleOrDefault(y => y.Name == tagValue);

                    if (orderTagValue != null)
                    {
                        if (!string.IsNullOrEmpty(actionData.GetAsString("OrderTagPrice")))
                        {
                            var price = actionData.GetAsDecimal("OrderTagPrice");
                            orderTagValue.Price = price;
                        }

                        if (!string.IsNullOrEmpty(oldTagValue))
                        {
                            orders = orders.Where(o => o.OrderTagExists(y => y.OrderTagGroupId == orderTag.Id && y.TagValue == oldTagValue)).ToList();
                        }
                        if (actionData.Action.ActionType == ActionNames.TagOrder)
                        {
                            _ticketService.TagOrders(ticket, orders, orderTag, orderTagValue, tagNote);
                        }
                        if (actionData.Action.ActionType == ActionNames.UntagOrder)
                        {
                            _ticketService.UntagOrders(ticket, orders, orderTag, orderTagValue);
                        }
                    }
                }
            }
        }
 public override void Process(ActionData actionData)
 {
     var ticket = actionData.GetDataValue<Ticket>("Ticket");
     if (ticket != null)
     {
         var amount = actionData.GetAsDecimal("Amount");
         var transactionName = actionData.GetAsString("AccountTransactionTypeName");
         if (!string.IsNullOrEmpty(transactionName))
         {
             var accountTransactionType = _cacheService.GetAccountTransactionTypeByName(transactionName);
             if (accountTransactionType != null)
             {
                 var ts = ticket.TicketEntities.FirstOrDefault(x => _ticketService.CanMakeAccountTransaction(x, accountTransactionType, 0));
                 if (ts != null)
                 {
                     ticket.TransactionDocument.AddNewTransaction(accountTransactionType, ticket.GetTicketAccounts(), amount, 1);
                 }
             }
         }
     }
 }
        public override void Process(ActionData actionData)
        {
            var ticket = actionData.GetDataValue <Ticket>("Ticket");

            if (ticket != null)
            {
                var amount          = actionData.GetAsDecimal("Amount");
                var transactionName = actionData.GetAsString("AccountTransactionTypeName");
                if (!string.IsNullOrEmpty(transactionName))
                {
                    var accountTransactionType = _cacheService.GetAccountTransactionTypeByName(transactionName);
                    if (accountTransactionType != null)
                    {
                        var ts = ticket.TicketEntities.FirstOrDefault(x => _ticketService.CanMakeAccountTransaction(x, accountTransactionType, 0));
                        if (ts != null)
                        {
                            ticket.TransactionDocument.AddNewTransaction(accountTransactionType, ticket.GetTicketAccounts(), amount, 1);
                        }
                    }
                }
            }
        }
Beispiel #15
0
        public override void Process(ActionData actionData)
        {
            var ticket = actionData.GetDataValue <Ticket>("Ticket");

            if (ticket != null)
            {
                var menuItemName   = actionData.GetAsString("MenuItemName");
                var menuItem       = _cacheService.GetMenuItem(y => y.Name == menuItemName);
                var portionName    = actionData.GetAsString("PortionName");
                var quantity       = actionData.GetAsDecimal("Quantity");
                var tag            = actionData.GetAsString("Tag");
                var orderStateName = actionData.GetAsString("OrderStateName");
                var orderState     = actionData.GetAsString("OrderState");
                var osv            = orderState.Contains("=") ? orderState : orderStateName + "=" + orderState;
                var order          = _ticketService.AddOrder(ticket, menuItem.Id, quantity, portionName, osv);
                if (order != null)
                {
                    order.Tag = tag;
                }
                actionData.DataObject.Order = order;
                order.PublishEvent(EventTopicNames.OrderAdded);
            }
        }