示例#1
0
        private void JoinAllOrdersToSelectedItem(DebtorOrderClient selectedItem, IEnumerable <DebtorOrderClient> allOrderList)
        {
            EraseYearWindow EraseYearWindowDialog = new EraseYearWindow("", true);

            EraseYearWindowDialog.Closed += async delegate
            {
                if (EraseYearWindowDialog.DialogResult == true)
                {
                    var        ordersApi = new OrderAPI(api);
                    List <int> errors    = new List <int>();
                    foreach (var order in allOrderList)
                    {
                        if (order._OrderNumber == selectedItem._OrderNumber)
                        {
                            continue;
                        }
                        var result = await ordersApi.JoinTwoOrders(order, selectedItem);

                        if (result != Uniconta.Common.ErrorCodes.Succes)
                        {
                            errors.Add(order._OrderNumber);
                        }
                    }
                    if (errors.Count > 0)
                    {
                        var failedOrderNumbers = string.Format("{0} {1}", Uniconta.ClientTools.Localization.lookup("OrderNumber"), string.Join(",", errors));
                        var message            = string.Format(Uniconta.ClientTools.Localization.lookup("FailedJoinOBJ"), failedOrderNumbers, selectedItem._OrderNumber);
                        UnicontaMessageBox.Show(message, Uniconta.ClientTools.Localization.lookup("Error"), MessageBoxButton.OK);
                    }
                    var propValpair = Uniconta.Common.PropValuePair.GenereteWhereElements("OrderNumber", typeof(int), Convert.ToString(selectedItem._OrderNumber));
                    dgJoinMultiOrderGrid.Filter(new Uniconta.Common.PropValuePair[] { propValpair });
                }
            };
            EraseYearWindowDialog.Show();
        }
示例#2
0
        // GET: api/OrdersAPI
        public IHttpActionResult GetOrders()
        {
            // Se crea variable para capturar las ordenes
            var orders = db.Orders.ToList();

            // Se crea un listado del modelo OrderAPI (que contiene inf de order, cliente y productos contenidos
            var ordersAPI = new List <OrderAPI>();

            // Se arma cada objeto de respuesta
            foreach (var order in orders)
            {
                var orderAPI = new OrderAPI
                {
                    OrderID   = order.OrderID,
                    Customer  = order.Customer,
                    DateOrder = order.DateOrder,
                    Details   = order.OrderDetails
                };

                // Lo agregamos a la lista de ordersAPI
                ordersAPI.Add(orderAPI);
            }

            return(Ok(ordersAPI));
        }
示例#3
0
        //POST: Ebay/OrderApiInitiateGuestCheckoutSession/{data}
        public ActionResult OrderApiInitiateGuestCheckoutSession(EbayOrderApiInitiateGuestCheckoutSessionModel data)
        {
            SelectCustomerModel customerData = new SelectCustomerModel()
            {
                Email = data.email
            };

            CustomerResultModel customerResult = customerTable.SelectRecord(customerData);

            if (customerResult.CustomerUUID == null)
            {
                return(Json(new { result = "Fail", reason = "Invalid User" }));
            }

            AddressResultModel addressData = addressTable.SelectRecord(new SelectAddressModel()
            {
                CustomerUUID = customerResult.CustomerUUID
            });

            CheckoutSessionResponse response = OrderAPI.InitiateGuestCheckoutSession(data.orderId, customerResult, addressData);

            InsertCustomerOrderModel customerOrder = new InsertCustomerOrderModel()
            {
                CustomerUUID      = customerResult.CustomerUUID,
                CheckoutSessionID = response.checkoutSessionId,
                ExpirationDate    = response.expirationDate,
                ImageURL          = data.imageUrl,
                PurchasePrice     = response.pricingSummary.total.value,
                Title             = response.lineItems[0].title
            };

            NonQueryResultModel orderResult = customerOrderTable.InsertRecord(customerOrder);

            return(Json(response));
        }
示例#4
0
        private void Save()
        {
            var model = new OrderDetailDTO();

            model.SupplierId = SelectedSupplier.Id;
            model.LocationId = this.locationId;
            model.OrderDate  = DateTime.Now;
            model.AcceptDate = DateTime.Now;
            model.Accept     = false;
            model.Products   = Products.Where(x => !x.Value.Equals(0)).Select(x => new ProductOrderedDTO()
            {
                ProductId = x.ProductId,
                Value     = x.Value,
                Price     = x.Price,
                Tax       = x.Tax
            }).ToList();
            orderApi = new OrderAPI();
            var resultFlag = orderApi.Create(model);

            if (resultFlag)
            {
                MessageBox.Show("Заказ создан");
            }
            if (!resultFlag)
            {
                MessageBox.Show("Ошибка создания заказа");
            }
        }
示例#5
0
        public void AddToOrderNoSuchDish()
        {
            var dishManagerMock = new Mock <IDishManager>();
            var orderApi        = new OrderAPI(dishManagerMock.Object, null, null);
            var result          = orderApi.AddToOrder(0, 0);

            Assert.AreEqual(OrderErrorCodes.NoSuchDish, result);
        }
示例#6
0
        public ActionResult DailyPurchase()
        {
            List <CustomerResultModel> customerList = customerTable.SelectAllRecords();

            foreach (CustomerResultModel customer in customerList)
            {
                //Get customer's query prefrences
                QueryResultModel queryPref = queryTable.SelectRecord(new SelectQueryModel()
                {
                    CustomerUUID = customer.CustomerUUID
                });

                //Ask Ebay for items.
                SearchPagedCollection itemCollection = BrowseAPI.ItemSummarySearch(queryPref.CategoryID, queryPref.PriceLimit);

                try
                {
                    //There were no items found for this query
                    if (itemCollection.itemSummaries.Length == 0)
                    {
                        continue;
                    }

                    //Get customer's address data
                    AddressResultModel customerAddress = addressTable.SelectRecord(new SelectAddressModel()
                    {
                        CustomerUUID = customer.CustomerUUID
                    });

                    //Initiate order with a randomly chosen index from itemCollection's itemSummaries
                    Random rand      = new Random();
                    int    itemIndex = rand.Next(itemCollection.itemSummaries.Length);

                    CheckoutSessionResponse response = OrderAPI.InitiateGuestCheckoutSession(itemCollection.itemSummaries[itemIndex].itemId, customer, customerAddress);

                    InsertCustomerOrderModel customerOrder = new InsertCustomerOrderModel()
                    {
                        CustomerUUID      = customer.CustomerUUID,
                        CheckoutSessionID = response.checkoutSessionId,
                        ExpirationDate    = response.expirationDate,
                        ImageURL          = itemCollection.itemSummaries[itemIndex].image.imageUrl,
                        PurchasePrice     = response.pricingSummary.total.value,
                        Title             = response.lineItems[0].title
                    };

                    NonQueryResultModel orderResult = customerOrderTable.InsertRecord(customerOrder);
                }
                catch (Exception e)
                {
                }
            }

            return(Json(new { result = "Daily Purchases Complete" }));
        }
示例#7
0
        public void AddToOrderNoActiveOrder()
        {
            const int tableId = 10;

            var dishManagerMock = new Mock <IDishManager>();

            dishManagerMock.Setup(m =>
                                  m.GetDishByDishNumber(It.IsAny <int>()))
            .Returns(
                new Dish
            {
                DishID = 20
            }
                );

            var tableManagerMock = new Mock <ITableManager>();

            tableManagerMock.Setup(m =>
                                   m.GetTableByTableNumber(It.IsAny <int>()))
            .Returns(
                new Table
            {
                TableID = tableId
            }
                );

            var orderManagerMock = new Mock <IOrderManager>();

            orderManagerMock.Setup(m =>
                                   m.CreateActiveOrder(It.Is <int>(i => i == tableId)))
            .Returns(
                new Order
            {
                OrderID = 30
            }
                );
            orderManagerMock.Setup(m =>
                                   m.AddToOrder(It.Is <int>(i => i == 30), It.Is <int>(i => i == 20)));

            var orderApi = new OrderAPI(dishManagerMock.Object,
                                        orderManagerMock.Object, tableManagerMock.Object);
            var result = orderApi.AddToOrder(0, 0);

            orderManagerMock.Verify(m => m.CreateActiveOrder(It.Is <int>(i => i == tableId))
                                    , Times.Once);

            orderManagerMock.Verify(m =>
                                    m.AddToOrder(It.Is <int>(i => i == 30), It.Is <int>(i => i == 20))
                                    , Times.Once);

            Assert.AreEqual(OrderErrorCodes.Ok, result);
        }
示例#8
0
        public void OrderController_CancelOrder_OrderFound()
        {
            IOrderManager orderManager = new OrderManager();
            OrderAPI      _controller  = new OrderAPI(orderManager);

            int _orderId = 1;

            IActionResult  _response = _controller.CancelOrder(_orderId);
            OkObjectResult _okObject = _response as OkObjectResult;

            Assert.NotNull(_response);
            Assert.Equal((int)HttpStatusCode.OK, _okObject.StatusCode);
        }
示例#9
0
        public void OrderController_ListAll_ReturnsStatusOkAndList()
        {
            IOrderManager orderManager = new OrderManager();
            OrderAPI      _controller  = new OrderAPI(orderManager);

            IActionResult  _response = _controller.ListAllOrders();
            OkObjectResult _okObject = _response as OkObjectResult;
            List <Order>   _results  = _okObject.Value as List <Order>;

            Assert.NotNull(_response);
            Assert.Equal((int)HttpStatusCode.OK, _okObject.StatusCode);
            Assert.Equal(4, _results.Count);
        }
示例#10
0
        private void JoinOrdersPerCustomer()
        {
            var ordersToBeJoined = dgJoinMultiOrderGrid.GetVisibleRows() as IEnumerable <DebtorOrderClient>;

            if (ordersToBeJoined == null || ordersToBeJoined.Count() == 0)
            {
                return;
            }
            var             allOrderList          = ordersToBeJoined.GroupBy(x => x.Account).Select(x => x.First()).ToList();
            EraseYearWindow EraseYearWindowDialog = new EraseYearWindow("", true);

            EraseYearWindowDialog.Closed += async delegate
            {
                if (EraseYearWindowDialog.DialogResult == true)
                {
                    var        ordersApi = new OrderAPI(api);
                    List <int> errors    = new List <int>();
                    List <int> orders    = new List <int>();
                    foreach (var order in allOrderList)
                    {
                        foreach (var customerOrder in ordersToBeJoined)
                        {
                            if (order.Account == customerOrder.Account)
                            {
                                if (order._OrderNumber == customerOrder._OrderNumber)
                                {
                                    continue;
                                }
                                var result = await ordersApi.JoinTwoOrders(customerOrder, order);

                                if (result != Uniconta.Common.ErrorCodes.Succes)
                                {
                                    errors.Add(customerOrder._OrderNumber);
                                    orders.Add(order._OrderNumber);
                                }
                            }
                        }
                    }
                    if (errors.Count > 0)
                    {
                        var failedOrderNumbers = string.Format("{0} {1}", Uniconta.ClientTools.Localization.lookup("OrderNumber"), string.Join(",", errors));
                        var message            = string.Format(Uniconta.ClientTools.Localization.lookup("FailedJoinOBJ"), failedOrderNumbers, string.Join(",", orders));
                        UnicontaMessageBox.Show(message, Uniconta.ClientTools.Localization.lookup("Error"), MessageBoxButton.OK);
                    }
                    InitQuery();
                }
            };
            EraseYearWindowDialog.Show();
        }
示例#11
0
        public void OrderController_CreateOrder_ReturnCreateOrderMessage()
        {
            IOrderManager orderManager = new OrderManager();
            OrderAPI      _controller  = new OrderAPI(orderManager);

            Order _order = new Order
            {
                Id          = 123,
                Description = "test description",
                Price       = 1.50,
                Status      = OrderStatus.Active
            };

            string _response = _controller.CreateOrder(_order);

            Assert.Equal("Order: 123 created", _response);
        }
        private async void MarkOrderLineAgainstOL(CreditorOrderLineClient selectedItem = null)
        {
            OrderAPI orderApi = new OrderAPI(api);

            busyIndicator.IsBusy = true;
            var err = await orderApi.MarkedOrderLineAgainstOrderLine(debtorOrderLine, selectedItem);

            busyIndicator.IsBusy = false;
            if (err != ErrorCodes.Succes)
            {
                UtilDisplay.ShowErrorCode(err);
            }
            else
            {
                dockCtrl.CloseDockItem();
            }
        }
示例#13
0
        public void AddToOrderNoSuchTable()
        {
            var dishManagerMock = new Mock <IDishManager>();

            dishManagerMock.Setup(m =>
                                  m.GetDishByDishNumber(It.IsAny <int>()))
            .Returns(
                new Dish()
                );

            var tableManager = new Mock <ITableManager>();

            var orderApi = new OrderAPI(dishManagerMock.Object, null, tableManager.Object);
            var result   = orderApi.AddToOrder(0, 0);

            Assert.AreEqual(OrderErrorCodes.NoSuchTable, result);
        }
        async void MarkedOrderLine(ProductionOrderLineClient selectedItem)
        {
            busyIndicator.IsBusy = true;
            var      orderLineMarked = new CreditorOrderLineClient();
            OrderAPI orderApi        = new OrderAPI(api);
            var      res             = await orderApi.GetMarkedOrderLine(selectedItem, orderLineMarked);

            busyIndicator.IsBusy = false;
            if (res == ErrorCodes.Succes)
            {
                AddDockItem(TabControls.OrderLineMarkedPage, new object[] { api, orderLineMarked }, string.Format("{0}: {1}", Uniconta.ClientTools.Localization.lookup("PurchaseLines"), orderLineMarked._OrderNumber));
            }
            else
            {
                UtilDisplay.ShowErrorCode(res);
            }
        }
        async void MarkedInvTrans(ProductionOrderLineClient selectedItem)
        {
            busyIndicator.IsBusy = true;
            var      invTrans = new InvTransClient();
            OrderAPI orderApi = new OrderAPI(api);
            var      res      = await orderApi.GetMarkedInvTrans(selectedItem, invTrans);

            busyIndicator.IsBusy = false;
            if (res == ErrorCodes.Succes)
            {
                AddDockItem(TabControls.InvTransMarkedPage, new object[] { api, invTrans }, string.Format("{0}: {1}", Uniconta.ClientTools.Localization.lookup("InvTransactions"), invTrans._OrderNumber));
            }
            else
            {
                UtilDisplay.ShowErrorCode(res);
            }
        }
示例#16
0
        private void UpdateOrderForAPI(Order order, bool sendsignalr = true)
        {
            OrderDTO orderDTO = _mapper.Map <Order, OrderDTO>(order);

            OrderAPI.UpdateOrder(orderDTO);
            try
            {
                if (sendsignalr && order.ReportBackToClient)
                {
                    OrderAPI.BroadCastMessage($"The status of your order for order number {order.OrderReferenceId} is {order.Status}.");
                }
            }
            catch (Exception e)
            {
                Console.WriteLine(e);
            }
        }
示例#17
0
        // GET: api/OrdersAPI
        public IHttpActionResult GetOrders()
        {
            var orders    = db.Orders.ToList();
            var ordersAPI = new List <OrderAPI>();

            foreach (var order in orders)
            {
                var orderAPI = new OrderAPI
                {
                    Customer    = order.Customers,
                    DateOrder   = order.DateOrder,
                    Details     = order.OrderDetails,
                    OrderID     = order.OrderID,
                    OrderStatus = order.OrderStatus
                };
                ordersAPI.Add(orderAPI);
            }
            return(Ok(ordersAPI));
        }
        void CallJoinTwoOrder(DCOrder fromOrder, DCOrder toOrder)
        {
            DeletePostedJournal delDialog = new DeletePostedJournal(true);

            delDialog.Closed += async delegate
            {
                if (delDialog.DialogResult == true)
                {
                    OrderAPI   orderApi = new OrderAPI(api);
                    ErrorCodes res      = await orderApi.JoinTwoOrders(fromOrder, toOrder);

                    if (res == ErrorCodes.Succes)
                    {
                        this.DialogResult = true;
                    }
                    UtilDisplay.ShowErrorCode(res);
                }
            };
            delDialog.Show();
        }
        void ConvertOfferToOrder(DebtorOfferClient offerclient)
        {
            CwOffertoOrder cwOfferToOrder = new CwOffertoOrder();

#if !SILVERLIGHT
            cwOfferToOrder.DialogTableId = 2000000044;
#endif
            cwOfferToOrder.Closed += async delegate
            {
                if (cwOfferToOrder.DialogResult == true)
                {
                    var        odrApi = new OrderAPI(api);
                    ErrorCodes res    = await odrApi.ConvertOfferToOrder(offerclient, cwOfferToOrder.KeepOffer);

                    if (res == ErrorCodes.Succes)
                    {
                        InitQuery();
                    }
                    UtilDisplay.ShowErrorCode(res);
                }
            };
            cwOfferToOrder.Show();
        }
示例#20
0
        async Task <bool> IOrderGrain.SetupOrder(Order order)
        {
            _order = order;

            _logger.LogInformation($"Entering order");
            if (order.ReportBackToClient)
            {
                OrderAPI.BroadCastMessage($"The status of your order for order number {order.OrderReferenceId} is {order.Status}.");
            }
            foreach (var pizza in _order.Pizza)
            {
                var grain = GrainFactory.GetGrain <IPizzaGrain>(pizza.Id);
                // await grain.Subscribe(this);
                await grain.SetupPizza(order.Id, pizza);
            }

            //Write grain to persistent storage
            base.State.Order = order;
            // base.State.PizzasGrains = _pizzaGrains;
            // await WriteStateAsync();

            return(true);
        }
示例#21
0
        private void RecalculateOrderPrices()
        {
            var orderLst = dgMultiInvGrid.GetVisibleRows() as IEnumerable <CreditorOrderClient>;

            if (orderLst == null || orderLst.Count() == 0)
            {
                return;
            }
            CWConfirmationBox dialog = new CWConfirmationBox(Uniconta.ClientTools.Localization.lookup("AreYouSureToContinue"), Uniconta.ClientTools.Localization.lookup("Confirmation"), false);

            dialog.Closing += async delegate
            {
                if (dialog.ConfirmationResult == CWConfirmationBox.ConfirmationResultEnum.Yes)
                {
                    busyIndicator.IsBusy = true;
                    OrderAPI orderApi = new OrderAPI(this.api);
                    var      err      = await orderApi.RecalcOrderPrices(orderLst);

                    busyIndicator.IsBusy = false;
                    UtilDisplay.ShowErrorCode(err);
                }
            };
            dialog.Show();
        }
        private void localMenu_OnItemClicked(string ActionType)
        {
            var    selectedItem = dgDebtorOffers.SelectedItem as DebtorOfferClient;
            string salesHeader  = string.Empty;

            if (selectedItem != null)
            {
                salesHeader = string.Format("{0}:{1}", Uniconta.ClientTools.Localization.lookup("Offers"), selectedItem._OrderNumber);
            }
            switch (ActionType)
            {
            case "AddRow":
                if (dgDebtorOffers.masterRecords != null)
                {
                    object[] arr = new object[2] {
                        api, dgDebtorOffers.masterRecord
                    };
                    AddDockItem(TabControls.DebtorOfferPage2, arr, Uniconta.ClientTools.Localization.lookup("Offers"), ";component/Assets/img/Add_16x16.png", true);
                }
                else
                {
                    AddDockItem(TabControls.DebtorOfferPage2, api, Uniconta.ClientTools.Localization.lookup("Offers"), ";component/Assets/img/Add_16x16.png", true);
                }
                break;

            case "EditRow":
                if (selectedItem == null)
                {
                    return;
                }
                if (dgDebtorOffers.masterRecords != null)
                {
                    object[] arr = new object[2] {
                        selectedItem, dgDebtorOffers.masterRecord
                    };
                    AddDockItem(TabControls.DebtorOfferPage2, arr, salesHeader);
                }
                else
                {
                    AddDockItem(TabControls.DebtorOfferPage2, selectedItem, salesHeader);
                }
                break;

            case "OfferLine":
                if (selectedItem == null)
                {
                    return;
                }
                var olheader = string.Format("{0}:{1},{2}", Uniconta.ClientTools.Localization.lookup("OfferLine"), selectedItem._OrderNumber, selectedItem.Name);
                AddDockItem(TabControls.DebtorOfferLines, dgDebtorOffers.syncEntity, olheader);
                break;

            case "AddNote":
                if (selectedItem != null)
                {
                    string header = string.Format("{0} : {1}", Uniconta.ClientTools.Localization.lookup("UserNotesInfo"), selectedItem.Account);
                    AddDockItem(TabControls.UserNotesPage, dgDebtorOffers.syncEntity, header);
                }
                break;

            case "AddDoc":
                if (selectedItem != null)
                {
                    string header = string.Format("{0} : {1}", Uniconta.ClientTools.Localization.lookup("Documents"), selectedItem.Account);
                    AddDockItem(TabControls.UserDocsPage, dgDebtorOffers.syncEntity, header);
                }
                break;

            case "Contacts":
                if (selectedItem != null)
                {
                    AddDockItem(TabControls.ContactPage, selectedItem);
                }
                break;

            case "ConvertOfferToOrder":
                if (selectedItem != null)
                {
                    ConvertOfferToOrder(selectedItem);
                }
                break;

            case "PrintOffer":
                if (selectedItem != null)
                {
                    PrintOffer(selectedItem);
                }
                break;

            case "CreateOrder":
                if (selectedItem != null)
                {
                    CWOrderFromOrder cwOrderFromOrder = new CWOrderFromOrder(api);
#if !SILVERLIGHT
                    cwOrderFromOrder.DialogTableId = 2000000026;
#endif
                    cwOrderFromOrder.Closed += async delegate
                    {
                        if (cwOrderFromOrder.DialogResult == true)
                        {
                            var perSupplier = cwOrderFromOrder.orderPerPurchaseAccount;
                            if (!perSupplier && string.IsNullOrEmpty(cwOrderFromOrder.Account))
                            {
                                return;
                            }
                            busyIndicator.BusyContent = Uniconta.ClientTools.Localization.lookup("SendingWait");
                            busyIndicator.IsBusy      = true;
                            var orderApi       = new OrderAPI(api);
                            var inversign      = cwOrderFromOrder.InverSign;
                            var account        = cwOrderFromOrder.Account;
                            var copyAttachment = cwOrderFromOrder.copyAttachment;
                            var copyDelAddress = cwOrderFromOrder.copyDeliveryAddress;
                            var dcOrder        = cwOrderFromOrder.dcOrder;
                            var reCalPrice     = cwOrderFromOrder.reCalculatePrice;
                            var result         = await orderApi.CreateOrderFromOrder(selectedItem, dcOrder, account, inversign, CopyAttachments : copyAttachment, CopyDeliveryAddress : copyDelAddress, RecalculatePrices : reCalPrice, OrderPerPurchaseAccount : perSupplier);

                            busyIndicator.IsBusy = false;
                            if (result != ErrorCodes.Succes)
                            {
                                UtilDisplay.ShowErrorCode(result);
                            }
                            else
                            {
                                CreditorOrders.ShowOrderLines(3, dcOrder, this, dgDebtorOffers);
                            }
                        }
                    };
                    cwOrderFromOrder.Show();
                }
                break;

            case "FollowUp":
                if (selectedItem != null)
                {
                    AddDockItem(TabControls.CrmFollowUpPage, dgDebtorOffers.syncEntity);
                }
                break;

            case "EditAll":
                if (dgDebtorOffers.Visibility == Visibility.Visible)
                {
                    EditAll();
                }
                break;

            case "SaveGrid":
                Save();
                break;

            default:
                gridRibbon_BaseActions(ActionType);
                break;
            }
        }
示例#23
0
        private void localMenu_OnItemClicked(string ActionType)
        {
            IEnumerable <DebtorInvoiceClient> selectedInvoiceUBL;
            var    selectedItem = dgInvoicesGrid.SelectedItem as DebtorInvoiceClient;
            string salesHeader  = string.Empty;

            if (selectedItem != null)
            {
                salesHeader = string.Format("{0}: {1}", Uniconta.ClientTools.Localization.lookup("Orders"), selectedItem._OrderNumber);
            }
            switch (ActionType)
            {
            case "EditRow":
                if (selectedItem == null)
                {
                    return;
                }
                object[] EditParam = new object[2];
                EditParam[0] = selectedItem;
                EditParam[1] = true;
                AddDockItem(TabControls.InvoicePage2, EditParam, string.Format("{0}: {1}", Uniconta.ClientTools.Localization.lookup("Invoices"), selectedItem.Name));
                break;

            case "InvoiceLine":
                if (selectedItem != null)
                {
                    AddDockItem(TabControls.DebtorInvoiceLines, dgInvoicesGrid.syncEntity, string.Format("{0}: {1}", Uniconta.ClientTools.Localization.lookup("InvoiceNumber"), selectedItem.InvoiceNum));
                }
                break;

            case "ShowInvoice":
            case "ShowPackNote":
                if (dgInvoicesGrid.SelectedItem == null || dgInvoicesGrid.SelectedItems == null)
                {
                    return;
                }
                var selectedItems = dgInvoicesGrid.SelectedItems.Cast <DebtorInvoiceClient>();
                if (ActionType == "ShowInvoice")
                {
                    ShowDocument(selectedItems, true);
                }
                else
                {
                    ShowDocument(selectedItems, false);
                }
                break;

            case "Trans":
                if (selectedItem != null)
                {
                    AddDockItem(TabControls.PostedTransactions, selectedItem, string.Format("{0}: {1}", Uniconta.ClientTools.Localization.lookup("Transactions"), selectedItem.InvoiceNum));
                }
                break;

            case "SendInvoice":
                if (dgInvoicesGrid.SelectedItem == null || dgInvoicesGrid.SelectedItems == null)
                {
                    return;
                }
                var selectedInvoiceEmails = dgInvoicesGrid.SelectedItems.Cast <DebtorInvoiceClient>();
                SendInvoice(selectedInvoiceEmails);
                break;

            case "AddDoc":
                if (selectedItem != null)
                {
                    AddDockItem(TabControls.UserDocsPage, selectedItem, string.Format("{0}: {1}", Uniconta.ClientTools.Localization.lookup("Documents"), selectedItem.InvoiceNum));
                }
                break;

            case "CreateOrder":
                if (selectedItem != null)
                {
                    CWOrderFromInvoice cwOrderInvoice = new CWOrderFromInvoice(api);
#if !SILVERLIGHT
                    cwOrderInvoice.DialogTableId = 2000000032;
#endif
                    cwOrderInvoice.Closed += async delegate
                    {
                        if (cwOrderInvoice.DialogResult == true)
                        {
                            var  orderApi       = new OrderAPI(api);
                            var  inversign      = cwOrderInvoice.InverSign;
                            var  account        = cwOrderInvoice.Account;
                            var  copyDelAddress = cwOrderInvoice.copyDeliveryAddress;
                            var  reCalPrices    = cwOrderInvoice.reCalculatePrices;
                            Type t;
                            if (cwOrderInvoice.Offer == true)
                            {
                                t = typeof(DebtorOfferClient);
                            }
                            else
                            {
                                t = typeof(DebtorOrderClient);
                            }
                            var dcOrder = this.CreateGridObject(t) as DCOrder;
                            dcOrder._DeliveryDate = cwOrderInvoice.DeliveryDate;
                            var result = await orderApi.CreateOrderFromInvoice(selectedItem, dcOrder, account, inversign, CopyDeliveryAddress : copyDelAddress, RecalculatePrices : reCalPrices);

                            if (result != ErrorCodes.Succes)
                            {
                                UtilDisplay.ShowErrorCode(result);
                            }
                            else
                            {
                                ShowOrderLines(dcOrder);
                            }
                        }
                    };
                    cwOrderInvoice.Show();
                }
                break;

#if !SILVERLIGHT
            case "GenerateOioXml":
                if (selectedItem != null)
                {
                    GenerateOIOXmlForAll(new[] { selectedItem });
                }
                break;

            case "GenerateMarkedOioXml":
                selectedInvoiceUBL = dgInvoicesGrid.SelectedItems?.Cast <DebtorInvoiceClient>();
                if (selectedInvoiceUBL != null)
                {
                    GenerateOIOXmlForAll(selectedInvoiceUBL, true);
                }
                break;

            case "GenerateAllOioXml":
                GenerateOIOXmlForAll(dgInvoicesGrid.GetVisibleRows() as IEnumerable <DebtorInvoiceClient>);
                break;

            case "SendUBL":
                selectedInvoiceUBL = dgInvoicesGrid.SelectedItems?.Cast <DebtorInvoiceClient>();
                if (selectedInvoiceUBL != null)
                {
                    SendUBL(selectedInvoiceUBL);
                }
                break;

            case "SendAsOutlook":
                if (selectedItem != null)
                {
                    OpenOutLook(selectedItem);
                }
                break;
#endif
            case "RefreshGrid":
                InitQuery();
                break;

            case "PostedBy":
                if (selectedItem != null)
                {
                    JournalPosted(selectedItem);
                }
                break;

            case "PreviousAddresses":
                if (selectedItem?.Debtor != null)
                {
                    AddDockItem(TabControls.DCPreviousAddressPage, selectedItem.Debtor, string.Format("{0}: {1}", Uniconta.ClientTools.Localization.lookup("PreviousAddresses"), selectedItem.Debtor._Name));
                }
                break;

#if !SILVERLIGHT
            case "DocSendLog":
                if (selectedItem != null)
                {
                    AddDockItem(TabControls.DocsSendLogGridPage, dgInvoicesGrid.syncEntity);
                }
                break;
#endif
            default:
                gridRibbon_BaseActions(ActionType);
                break;
            }
        }
示例#24
0
        private void localMenu_OnItemClicked(string ActionType)
        {
            var    dgCreditorOrdersGrid = this.dgCreditorOrdersGrid;
            var    selectedItem         = dgCreditorOrdersGrid.SelectedItem as CreditorOrderClient;
            string salesHeader          = string.Empty;

            if (selectedItem != null)
            {
                salesHeader = string.Format("{0}:{1}", Uniconta.ClientTools.Localization.lookup("Orders"), selectedItem._OrderNumber, true);
            }
            switch (ActionType)
            {
            case "AddRow":
                if (dgCreditorOrdersGrid.masterRecords != null)
                {
                    object[] arr = new object[2] {
                        api, dgCreditorOrdersGrid.masterRecord
                    };
                    AddDockItem(TabControls.CreditorOrdersPage2, arr, Uniconta.ClientTools.Localization.lookup("Orders"), "Add_16x16.png");
                }
                else
                {
                    AddDockItem(TabControls.CreditorOrdersPage2, api, Uniconta.ClientTools.Localization.lookup("Orders"), "Add_16x16.png");
                }
                break;

            case "EditRow":
                if (selectedItem == null)
                {
                    return;
                }
                if (dgCreditorOrdersGrid.masterRecords != null)
                {
                    object[] arr = new object[2] {
                        selectedItem, dgCreditorOrdersGrid.masterRecord
                    };
                    AddDockItem(TabControls.CreditorOrdersPage2, arr, salesHeader);
                }
                else
                {
                    AddDockItem(TabControls.CreditorOrdersPage2, selectedItem, salesHeader);
                }
                break;

            case "OrderLine":
                if (selectedItem == null)
                {
                    return;
                }
                var olheader = string.Format("{0}:{1},{2}", Uniconta.ClientTools.Localization.lookup("PurchaseLines"), selectedItem._OrderNumber, selectedItem._DCAccount);
                AddDockItem(TabControls.CreditorOrderLines, dgCreditorOrdersGrid.syncEntity, olheader);
                break;

            case "AddNote":
                if (selectedItem != null)
                {
                    string noteHeader = string.Format("{0} : {1}", Uniconta.ClientTools.Localization.lookup("UserNotesInfo"), selectedItem.Account);
                    AddDockItem(TabControls.UserNotesPage, dgCreditorOrdersGrid.syncEntity, noteHeader);
                }
                break;

            case "AddDoc":
                if (selectedItem != null)
                {
                    string docHeader = string.Format("{0} : {1}", Uniconta.ClientTools.Localization.lookup("Documents"), selectedItem.Account);
                    AddDockItem(TabControls.UserDocsPage, dgCreditorOrdersGrid.syncEntity, docHeader);
                }
                break;

            case "Contacts":
                if (selectedItem != null)
                {
                    AddDockItem(TabControls.ContactPage, selectedItem);
                }
                break;

            case "UpdateRequisition":
                if (selectedItem != null)
                {
                    OrderConfirmation(selectedItem, CompanyLayoutType.Requisition);
                }
                break;

            case "UpdatePurchaseOrder":
                if (selectedItem != null)
                {
                    OrderConfirmation(selectedItem, CompanyLayoutType.PurchaseOrder);
                }
                break;

            case "UpdateDeliveryNote":
                if (selectedItem != null)
                {
                    OrderConfirmation(selectedItem, CompanyLayoutType.PurchasePacknote);
                }
                break;

            case "EditCreditor":
                if (selectedItem != null)
                {
                    AddDockItem(TabControls.CreditorAccountPage2, new object[] { selectedItem.Creditor, true });
                }
                break;

            case "CreateOrder":
                if (selectedItem != null)
                {
                    CWOrderFromOrder cwOrderFromOrder = new CWOrderFromOrder(api);
#if !SILVERLIGHT
                    cwOrderFromOrder.DialogTableId = 2000000027;
#endif
                    cwOrderFromOrder.Closed += async delegate
                    {
                        if (cwOrderFromOrder.DialogResult == true)
                        {
                            var perSupplier = cwOrderFromOrder.orderPerPurchaseAccount;
                            if (!perSupplier && string.IsNullOrEmpty(cwOrderFromOrder.Account))
                            {
                                return;
                            }
                            busyIndicator.BusyContent = Uniconta.ClientTools.Localization.lookup("SendingWait");
                            busyIndicator.IsBusy      = true;
                            var orderApi       = new OrderAPI(api);
                            var inversign      = cwOrderFromOrder.InverSign;
                            var account        = cwOrderFromOrder.Account;
                            var copyAttachment = cwOrderFromOrder.copyAttachment;
                            var dcOrder        = cwOrderFromOrder.dcOrder;
                            dcOrder._DeliveryDate = cwOrderFromOrder.DeliveryDate;
                            var copyDelAddress = cwOrderFromOrder.copyDeliveryAddress;
                            var reCalPrice     = cwOrderFromOrder.reCalculatePrice;
                            var result         = await orderApi.CreateOrderFromOrder(selectedItem, dcOrder, account, inversign, CopyAttachments : copyAttachment, CopyDeliveryAddress : copyDelAddress, RecalculatePrices : reCalPrice, OrderPerPurchaseAccount : perSupplier);

                            busyIndicator.IsBusy = false;
                            if (result != ErrorCodes.Succes)
                            {
                                UtilDisplay.ShowErrorCode(result);
                            }
                            else
                            {
                                ShowOrderLines(2, dcOrder, this, dgCreditorOrdersGrid);
                            }
                        }
                    };
                    cwOrderFromOrder.Show();
                }
                break;

            case "RefVoucher":
                if (selectedItem == null)
                {
                    return;
                }
                var _refferedVouchers = new List <int>();
                if (selectedItem._DocumentRef != 0)
                {
                    _refferedVouchers.Add(selectedItem._DocumentRef);
                }

                VoucherOpen = true;
                AddDockItem(TabControls.AttachVoucherGridPage, new object[] { _refferedVouchers }, true);
                break;

            case "ViewVoucher":
                if (selectedItem != null)
                {
                    ViewVoucher(TabControls.VouchersPage3, dgCreditorOrdersGrid.syncEntity);
                }
                break;

            case "DragDrop":
            case "ImportVoucher":
                if (selectedItem != null)
                {
                    AddVoucher(selectedItem, ActionType);
                }
                break;

            case "RemoveVoucher":
                if (selectedItem != null)
                {
                    RemoveVoucher(selectedItem);
                }
                break;

            case "EditAll":
                if (dgCreditorOrdersGrid.Visibility == Visibility.Visible)
                {
                    EditAll();
                }
                break;

            case "AddLine":
                dgCreditorOrdersGrid.AddRow();
                break;

            case "CopyRow":
                dgCreditorOrdersGrid.CopyRow();
                break;

            case "DeleteRow":
                dgCreditorOrdersGrid.DeleteRow();
                break;

            case "UndoDelete":
                dgCreditorOrdersGrid.UndoDeleteRow();
                break;

            case "SaveGrid":
                Save();
                break;

            case "PurchaseCharges":
                if (selectedItem == null)
                {
                    return;
                }
                var header = string.Format("{0}: {1}, {2}", Uniconta.ClientTools.Localization.lookup("PurchaseCharges"), selectedItem._OrderNumber, selectedItem._DCAccount);
                AddDockItem(TabControls.CreditorOrderCostLinePage, dgCreditorOrdersGrid.syncEntity, header);
                break;

            case "CreateInvoice":
                if (selectedItem != null)
                {
                    if (Utility.HasControlRights("GenerateInvoice", api.CompanyEntity))
                    {
                        GenerateInvoice(selectedItem);
                    }
                    else
                    {
                        UtilDisplay.ShowControlAccessMsg("GenerateInvoice");
                    }
                }
                break;

            case "RefreshGrid":
                TestCreditorReload(true, dgCreditorOrdersGrid.ItemsSource as IEnumerable <CreditorOrder>);
                break;

            case "ReadOIOUBL":
#if !SILVERLIGHT
                var orderOIOCW = new CWOrderOIOUBLImport();
                orderOIOCW.Closing += delegate
                {
                    if (orderOIOCW.DialogResult != true)
                    {
                        return;
                    }

                    ReadOIOUBL(orderOIOCW.OneOrMultiple);
                };
                orderOIOCW.Show();


                gridRibbon_BaseActions("RefreshGrid");
#endif
                break;

            case "ApproveOrder":
                if (selectedItem != null && api.CompanyEntity.ApprovePurchaseOrders)
                {
                    Utility.ApproveOrder(api, selectedItem);
                }
                break;

            default:
                gridRibbon_BaseActions(ActionType);
                break;
            }
        }
        private void localMenu_OnItemClicked(string ActionType)
        {
            DebtorOfferLineClient row;
            var selectedItem = dgDebtorOfferLineGrid.SelectedItem as DebtorOfferLineClient;

            switch (ActionType)
            {
            case "AddRow":
                row = dgDebtorOfferLineGrid.AddRow() as DebtorOfferLineClient;
                if (row != null)
                {
                    row._ExchangeRate = this.exchangeRate;
                }
                break;

            case "CopyRow":
                if (selectedItem != null)
                {
                    row = dgDebtorOfferLineGrid.CopyRow() as DebtorOfferLineClient;
                    row._ExchangeRate  = this.exchangeRate;
                    row._CostPriceLine = selectedItem._CostPriceLine;
                }
                break;

            case "SaveGrid":
                saveGrid();
                break;

            case "DeleteRow":
                dgDebtorOfferLineGrid.DeleteRow();
                break;

            case "InsertSubTotal":
                row          = dgDebtorOfferLineGrid.AddRow() as DebtorOfferLineClient;
                row.Subtotal = true;
                break;

            case "StockLines":
                if (selectedItem?._Item != null)
                {
                    AddDockItem(TabControls.DebtorInvoiceLines, selectedItem, string.Format("{0}: {1}", Uniconta.ClientTools.Localization.lookup("InvTransactions"), selectedItem._Item));
                }
                break;

            case "UnfoldBOM":
                if (selectedItem != null)
                {
                    CwUsePriceFromBOM cw = new CwUsePriceFromBOM();
#if !SILVERLIGHT
                    cw.DialogTableId = 2000000046;
#endif
                    cw.Closing += delegate
                    {
                        if (cw.DialogResult == true)
                        {
                            UnfoldBOM(selectedItem, cw.UsePricesFromBOM);
                        }
                    };
                    cw.Show();
                }
                break;

            case "Storage":
                ViewStorage();
                break;

            case "AddItems":
                if (this.items == null)
                {
                    return;
                }
                object[] paramArray = new object[3] {
                    new InvItemSalesCacheFilter(this.items), dgDebtorOfferLineGrid.TableTypeUser, Order
                };
                AddDockItem(TabControls.AddMultipleInventoryItem, paramArray, true,
                            string.Format(Uniconta.ClientTools.Localization.lookup("AddOBJ"), Uniconta.ClientTools.Localization.lookup("InventoryItems")), null, floatingLoc: Utility.GetDefaultLocation());
                break;

            case "EditOrder":
                AddDockItem(TabControls.DebtorOfferPage2, Order, string.Format("{0}:{1}", Uniconta.ClientTools.Localization.lookup("Offers"), Order._OrderNumber));
                break;

            case "AddVariants":
                var itm = selectedItem?.InvItem;
                if (itm?._StandardVariant != null)
                {
                    var paramItem = new object[] { selectedItem, Order };
                    dgDebtorOfferLineGrid.SetLoadedRow(selectedItem);
                    AddDockItem(TabControls.ItemVariantAddPage, paramItem, true,
                                string.Format(Uniconta.ClientTools.Localization.lookup("AddOBJ"), Uniconta.ClientTools.Localization.lookup("Variants")), null, floatingLoc: Utility.GetDefaultLocation());
                }
                break;

            case "CreateProduction":
                if (selectedItem != null)
                {
                    CreateProductionOrder(selectedItem);
                }
                break;

            case "CreateFromInvoice":
                try
                {
                    CWCreateOrderFromQuickInvoice createOrderCW = new CWCreateOrderFromQuickInvoice(api, Order.Account, false, Order);
                    createOrderCW.Closing += delegate
                    {
                        if (createOrderCW.DialogResult == true)
                        {
                            var orderApi          = new OrderAPI(api);
                            var checkIfCreditNote = createOrderCW.chkIfCreditNote.IsChecked.HasValue ? createOrderCW.chkIfCreditNote.IsChecked.Value : false;
                            var debtorInvoice     = createOrderCW.dgCreateOrderGrid.SelectedItem as DebtorInvoiceClient;
                            dgDebtorOfferLineGrid.PasteRows(createOrderCW.debtorOfferLines);
                        }
                    };
                    createOrderCW.Show();
                }
                catch (Exception ex)
                {
                    UnicontaMessageBox.Show(ex);
                }
                break;

            case "PrintOffer":
                if (Order != null)
                {
                    GenerateOffer();
                }
                break;

            case "DebtorOrderLines":
                if (selectedItem?.InvItem != null)
                {
                    AddDockItem(TabControls.DebtorOrderLineReport, selectedItem, string.Format("{0}: {1}", Uniconta.ClientTools.Localization.lookup("OrdersLine"), selectedItem._Item));
                }
                break;

            case "DebtorOfferLines":
                if (selectedItem?.InvItem != null)
                {
                    AddDockItem(TabControls.DebtorOfferLineReport, selectedItem, string.Format("{0}: {1}", Uniconta.ClientTools.Localization.lookup("OfferLine"), selectedItem._Item));
                }
                break;

            case "PurchaseOrderLines":
                if (selectedItem?.InvItem != null)
                {
                    AddDockItem(TabControls.PurchaseLines, selectedItem, string.Format("{0}: {1}", Uniconta.ClientTools.Localization.lookup("PurchaseLines"), selectedItem._Item));
                }
                break;

            case "ProductionOrderLines":
                if (selectedItem?.InvItem != null)
                {
                    AddDockItem(TabControls.ProductionOrderLineReport, selectedItem, string.Format("{0}: {1}", Uniconta.ClientTools.Localization.lookup("ProductionLines"), selectedItem._Item));
                }
                break;

            case "RefreshGrid":
                RefreshGrid();
                break;

            case "ViewPhoto":
                if (selectedItem?.InvItem != null && selectedItem?.Item != null)
                {
                    AddDockItem(TabControls.UserDocsPage, selectedItem.InvItem, string.Format("{0}: {1}", Uniconta.ClientTools.Localization.lookup("Documents"), selectedItem?.InvItem?._Name));
                }
                break;

            case "ViewNotes":
                if (selectedItem?.InvItem != null && selectedItem?.Item != null)
                {
                    AddDockItem(TabControls.UserNotesPage, selectedItem.InvItem, string.Format("{0}: {1}", Uniconta.ClientTools.Localization.lookup("Notes"), selectedItem?.InvItem?._Name));
                }
                break;

            default:
                gridRibbon_BaseActions(ActionType);
                break;
            }
            RecalculateAmount();
        }
        private void localMenu_OnItemClicked(string ActionType)
        {
            var selectedItem = dgProjectOrderGrid.SelectedItem as ProjectOrderClient;

            switch (ActionType)
            {
            case "InvTransactions":
                if (selectedItem != null)
                {
                    AddDockItem(TabControls.DebtorInvoiceLines, dgProjectOrderGrid.syncEntity, string.Format("{0}: {1}", Uniconta.ClientTools.Localization.lookup("ProjectOrder"), selectedItem._OrderNumber));
                }
                break;

            case "Trans":
                if (selectedItem != null)
                {
                    AddDockItem(TabControls.PostedTransactions, selectedItem, string.Format("{0}: {1}", Uniconta.ClientTools.Localization.lookup("Transactions"), selectedItem._Voucher));
                }
                break;

            case "AddDoc":
                if (selectedItem != null)
                {
                    AddDockItem(TabControls.UserDocsPage, selectedItem, string.Format("{0}: {1}", Uniconta.ClientTools.Localization.lookup("Documents"), selectedItem._Voucher));
                }
                break;

            case "CreateOrder":
                if (selectedItem != null)
                {
                    CWOrderFromInvoice cwOrderInvoice = new CWOrderFromInvoice(api);
                    cwOrderInvoice.DialogTableId = 2000000032;
                    cwOrderInvoice.Closed       += async delegate
                    {
                        if (cwOrderInvoice.DialogResult == true)
                        {
                            var  orderApi       = new OrderAPI(api);
                            var  inversign      = cwOrderInvoice.InverSign;
                            var  account        = cwOrderInvoice.Account;
                            var  copyDelAddress = cwOrderInvoice.copyDeliveryAddress;
                            var  reCalPrices    = cwOrderInvoice.reCalculatePrices;
                            Type t;
                            if (cwOrderInvoice.Offer == true)
                            {
                                t = typeof(DebtorOfferClient);
                            }
                            else
                            {
                                t = typeof(DebtorOrderClient);
                            }
                            var dcOrder = this.CreateGridObject(t) as DCOrder;
                            var result  = await orderApi.CreateOrderFromInvoice(selectedItem, dcOrder, account, inversign, CopyDeliveryAddress : copyDelAddress, RecalculatePrices : reCalPrices);

                            if (result != ErrorCodes.Succes)
                            {
                                UtilDisplay.ShowErrorCode(result);
                            }
                            else
                            {
                                ShowOrderLines(dcOrder);
                            }
                        }
                    };
                    cwOrderInvoice.Show();
                }
                break;

            case "RefreshGrid":
                InitQuery();
                break;

            case "PostedBy":
                if (selectedItem != null)
                {
                    JournalPosted(selectedItem);
                }
                break;

            default:
                gridRibbon_BaseActions(ActionType);
                break;
            }
        }
示例#27
0
        private void localMenu_OnItemClicked(string ActionType)
        {
            ProjectInvoiceProposalLineClient row;
            ProjectInvoiceProposalClient     ord = this.Order;
            var selectedItem = dgProjInvProposedLineGrid.SelectedItem as ProjectInvoiceProposalLineClient;

            switch (ActionType)
            {
            case "AddRow":
                addingRow         = true;
                row               = dgProjInvProposedLineGrid.AddRow() as ProjectInvoiceProposalLineClient;
                row._ExchangeRate = this.exchangeRate;
                break;

            case "CopyRow":
                if (selectedItem != null)
                {
                    row = dgProjInvProposedLineGrid.CopyRow() as ProjectInvoiceProposalLineClient;
                    row._ExchangeRate  = this.exchangeRate;
                    row._CostPriceLine = selectedItem._CostPriceLine;
                    row._QtyDelivered  = 0;
                    row._QtyInvoiced   = 0;
                }
                break;

            case "SaveGrid":
                saveGridLocal();
                break;

            case "DeleteRow":
                dgProjInvProposedLineGrid.DeleteRow();
                break;

            case "ShowInvoice":
            case "CreateInvoice":
                if (ord != null)
                {
                    if (Utility.HasControlRights("GenerateInvoice", api.CompanyEntity))
                    {
                        GenerateInvoice(ord, ActionType == "ShowInvoice" ? true : false);
                    }
                    else
                    {
                        UtilDisplay.ShowControlAccessMsg("GenerateInvoice");
                    }
                }
                break;

            case "InsertSubTotal":
                row = dgProjInvProposedLineGrid.AddRow() as ProjectInvoiceProposalLineClient;
                if (row != null)
                {
                    row.Subtotal = true;
                }
                break;

            case "AddItems":
                if (this.items != null)
                {
                    object[] paramArray = new object[3] {
                        new InvItemSalesCacheFilter(this.items), dgProjInvProposedLineGrid.TableTypeUser, Order
                    };
                    AddDockItem(TabControls.AddMultipleInventoryItem, paramArray, true,
                                string.Format(Uniconta.ClientTools.Localization.lookup("AddOBJ"), Uniconta.ClientTools.Localization.lookup("InventoryItems")), null, floatingLoc: Utility.GetDefaultLocation());
                }
                break;

            case "EditOrder":
                if (ord != null)
                {
                    AddDockItem(TabControls.ProjInvProposalPage2, ord, string.Format("{0}: {1}", Uniconta.ClientTools.Localization.lookup("Orders"), ord._OrderNumber));
                }
                break;

            case "ProjectTransaction":
                if (ord != null)
                {
                    saveGridLocal();
                    AddDockItem(TabControls.ProjectInvoiceProjectLinePage, ord, string.Format("{0}: {1} ({2})", Uniconta.ClientTools.Localization.lookup("ProjectAdjustments"), ord._OrderNumber, ord._Project));
                }
                break;

            case "RegenerateOrderFromProject":
                if (ord != null)
                {
                    AddDockItem(TabControls.RegenerateOrderFromProjectPage, ord, string.Format("{0}: {1}", Uniconta.ClientTools.Localization.lookup("RegenerateOrder"), ord._OrderNumber));
                }
                break;

            case "AddVariants":
                var itm = selectedItem?.InvItem;
                if (itm?._StandardVariant != null)
                {
                    var paramItem = new object[] { selectedItem, ord };
                    dgProjInvProposedLineGrid.SetLoadedRow(selectedItem);
                    AddDockItem(TabControls.ItemVariantAddPage, paramItem, true,
                                string.Format(Uniconta.ClientTools.Localization.lookup("AddOBJ"), Uniconta.ClientTools.Localization.lookup("Variants")), null, floatingLoc: Utility.GetDefaultLocation());
                }
                break;

            case "CreateFromInvoice":
                try
                {
                    CWCreateOrderFromQuickInvoice createOrderCW = new CWCreateOrderFromQuickInvoice(api, ord.Account, true, ord);
                    createOrderCW.Closing += delegate
                    {
                        if (createOrderCW.DialogResult == true)
                        {
                            var orderApi          = new OrderAPI(api);
                            var checkIfCreditNote = createOrderCW.chkIfCreditNote.IsChecked.HasValue ? createOrderCW.chkIfCreditNote.IsChecked.Value : false;
                            var debtorInvoice     = createOrderCW.dgCreateOrderGrid.SelectedItem as DebtorInvoiceClient;
                            dgProjInvProposedLineGrid.PasteRows(createOrderCW.DCOrderLines);
                        }
                    };
                    createOrderCW.Show();
                }
                catch (Exception ex)
                {
                    UnicontaMessageBox.Show(ex);
                }
                break;

            case "RefreshGrid":
                RefreshGrid();
                break;

            default:
                gridRibbon_BaseActions(ActionType);
                break;
            }
            RecalculateAmount();
        }
        private void localMenu_OnItemClicked(string ActionType)
        {
            var    dgDebtorOrdersGrid = this.dgDebtorOrdersGrid;
            var    selectedItem       = dgDebtorOrdersGrid.SelectedItem as DebtorOrderClient;
            string salesHeader        = string.Empty;

            if (selectedItem != null)
            {
                salesHeader = string.Format("{0}:{1}", Uniconta.ClientTools.Localization.lookup("Orders"), selectedItem._OrderNumber);
            }
            switch (ActionType)
            {
            case "AddRow":
                if (dgDebtorOrdersGrid.masterRecords != null)
                {
                    object[] arr = new object[2] {
                        api, dgDebtorOrdersGrid.masterRecord
                    };
                    AddDockItem(TabControls.DebtorOrdersPage2, arr, Uniconta.ClientTools.Localization.lookup("Orders"), "Add_16x16.png");
                }
                else
                {
                    AddDockItem(TabControls.DebtorOrdersPage2, api, Uniconta.ClientTools.Localization.lookup("Orders"), "Add_16x16.png");
                }
                break;

            case "EditRow":
                if (selectedItem == null)
                {
                    return;
                }
                if (dgDebtorOrdersGrid.masterRecords != null)
                {
                    object[] arr = new object[2] {
                        selectedItem, dgDebtorOrdersGrid.masterRecord
                    };
                    AddDockItem(TabControls.DebtorOrdersPage2, arr, salesHeader);
                }
                else
                {
                    AddDockItem(TabControls.DebtorOrdersPage2, selectedItem, salesHeader);
                }
                break;

            case "OrderLine":
                if (selectedItem == null)
                {
                    return;
                }
                var olheader = string.Format("{0}:{1},{2}", Uniconta.ClientTools.Localization.lookup("OrdersLine"), selectedItem._OrderNumber, selectedItem.Name);
                AddDockItem(TabControls.DebtorOrderLines, dgDebtorOrdersGrid.syncEntity, olheader);
                break;

            case "Invoices":
                AddDockItem(TabControls.Invoices, selectedItem, salesHeader);
                break;

            case "AddNote":
                if (selectedItem != null)
                {
                    string header = string.Format("{0} : {1}", Uniconta.ClientTools.Localization.lookup("UserNotesInfo"), selectedItem._OrderNumber);
                    AddDockItem(TabControls.UserNotesPage, dgDebtorOrdersGrid.syncEntity, header);
                }
                break;

            case "AddDoc":
                if (selectedItem != null)
                {
                    string header = string.Format("{0} : {1}", Uniconta.ClientTools.Localization.lookup("Documents"), selectedItem._OrderNumber);
                    AddDockItem(TabControls.UserDocsPage, dgDebtorOrdersGrid.syncEntity, header);
                }
                break;

            case "Contacts":
                if (selectedItem == null)
                {
                    return;
                }
                AddDockItem(TabControls.ContactPage, selectedItem);
                break;

            case "OrderConfirmation":
                if (selectedItem != null)
                {
                    OrderConfirmation(selectedItem, CompanyLayoutType.OrderConfirmation);
                }
                break;

            case "PackNote":
                if (selectedItem != null)
                {
                    OrderConfirmation(selectedItem, CompanyLayoutType.Packnote);
                }
                break;

            case "PickList":
                if (selectedItem != null)
                {
                    PickingListReport(selectedItem);
                }
                break;

            case "EditDebtor":
                if (selectedItem?._DCAccount != null)
                {
                    jumpToDebtor(selectedItem);
                }
                break;

            case "CreateOrder":
                if (selectedItem != null)
                {
                    CWOrderFromOrder cwOrderFromOrder = new CWOrderFromOrder(api);
#if !SILVERLIGHT
                    cwOrderFromOrder.DialogTableId = 2000000020;
#endif
                    cwOrderFromOrder.Closed += async delegate
                    {
                        if (cwOrderFromOrder.DialogResult == true)
                        {
                            var perSupplier = cwOrderFromOrder.orderPerPurchaseAccount;
                            if (!perSupplier && string.IsNullOrEmpty(cwOrderFromOrder.Account))
                            {
                                return;
                            }
                            busyIndicator.BusyContent = Uniconta.ClientTools.Localization.lookup("SendingWait");
                            busyIndicator.IsBusy      = true;
                            var orderApi       = new OrderAPI(api);
                            var inversign      = cwOrderFromOrder.InverSign;
                            var account        = cwOrderFromOrder.Account;
                            var copyAttachment = cwOrderFromOrder.copyAttachment;
                            var dcOrder        = cwOrderFromOrder.dcOrder;
                            dcOrder._DeliveryDate = cwOrderFromOrder.DeliveryDate;
                            var copyDelAddress   = cwOrderFromOrder.copyDeliveryAddress;
                            var reCalPrice       = cwOrderFromOrder.reCalculatePrice;
                            var onlyItemsWthSupp = cwOrderFromOrder.onlyItemsWithSupplier;
                            var result           = await orderApi.CreateOrderFromOrder(selectedItem, dcOrder, account, inversign, CopyAttachments : copyAttachment, CopyDeliveryAddress : copyDelAddress, RecalculatePrices : reCalPrice, OrderPerPurchaseAccount : perSupplier, OnlyItemsWithSupplier : onlyItemsWthSupp);

                            busyIndicator.IsBusy = false;
                            if (result != ErrorCodes.Succes)
                            {
                                UtilDisplay.ShowErrorCode(result);
                            }
                            else
                            {
                                CreditorOrders.ShowOrderLines(1, dcOrder, this, dgDebtorOrdersGrid);
                            }
                        }
                    };
                    cwOrderFromOrder.Show();
                }
                break;

            case "EditAll":
                if (dgDebtorOrdersGrid.Visibility == Visibility.Visible)
                {
                    EditAll();
                }
                break;

            case "AddLine":
                dgDebtorOrdersGrid.AddRow();
                break;

            case "CopyRow":
                dgDebtorOrdersGrid.CopyRow();
                break;

            case "DeleteRow":
                dgDebtorOrdersGrid.DeleteRow();
                break;

            case "UndoDelete":
                dgDebtorOrdersGrid.UndoDeleteRow();
                break;

            case "SaveGrid":
                Save();
                break;

            case "CreateInvoice":
                if (selectedItem != null)
                {
                    if (Utility.HasControlRights("GenerateInvoice", api.CompanyEntity))
                    {
                        GenerateInvoice(selectedItem);
                    }
                    else
                    {
                        UtilDisplay.ShowControlAccessMsg("GenerateInvoice");
                    }
                }
                break;

            case "ProjectTransaction":
                if (selectedItem?._Project != null)
                {
                    AddDockItem(TabControls.DebtorOrderProjectLinePage, dgDebtorOrdersGrid.syncEntity, string.Format("{0}: {1}", Uniconta.ClientTools.Localization.lookup("ProjectAdjustments"), selectedItem._OrderNumber));
                }
                break;

            case "RefreshGrid":
                TestDebtorReload(true, dgDebtorOrdersGrid.ItemsSource as IEnumerable <DebtorOrder>);
                break;

            case "RegenerateOrderFromProject":
                if (selectedItem != null)
                {
                    AddDockItem(TabControls.RegenerateOrderFromProjectPage, dgDebtorOrdersGrid.syncEntity, string.Format("{0}: {1}", Uniconta.ClientTools.Localization.lookup("RegenerateOrder"), selectedItem._OrderNumber));
                }
                break;

            case "ApproveOrder":
                if (selectedItem != null && api.CompanyEntity.ApproveSalesOrders)
                {
                    Utility.ApproveOrder(api, selectedItem);
                }
                break;

            default:
                gridRibbon_BaseActions(ActionType);
                break;
            }
        }
示例#29
0
        private void localMenu_OnItemClicked(string ActionType)
        {
            var    selectedItem = dgInvoicesGrid.SelectedItem as DebtorInvoiceLocal;
            string salesHeader  = string.Empty;

            if (selectedItem != null)
            {
                salesHeader = string.Format("{0}: {1}", Uniconta.ClientTools.Localization.lookup("Orders"), selectedItem._OrderNumber);
            }
            switch (ActionType)
            {
            case "InvoiceLine":
                if (selectedItem != null)
                {
                    AddDockItem(TabControls.DebtorInvoiceLines, dgInvoicesGrid.syncEntity, string.Format("{0}: {1}", Uniconta.ClientTools.Localization.lookup("InvoiceNumber"), selectedItem._InvoiceNumber));
                }
                break;

            case "ShowInvoice":
                if (dgInvoicesGrid.SelectedItem == null || dgInvoicesGrid.SelectedItems == null)
                {
                    return;
                }

                var selectedItems = dgInvoicesGrid.SelectedItems.Cast <DebtorInvoiceLocal>();
                ShowInvoice(selectedItems);

                break;

            case "ShowPackNote":
                if (dgInvoicesGrid.SelectedItem == null || dgInvoicesGrid.SelectedItems == null)
                {
                    return;
                }

                var items = dgInvoicesGrid.SelectedItems.Cast <DebtorInvoiceLocal>();
                ShowInvoiceForPackNote(items);
                break;

            case "Trans":
                if (selectedItem != null)
                {
                    AddDockItem(TabControls.PostedTransactions, selectedItem, string.Format("{0}: {1}", Uniconta.ClientTools.Localization.lookup("Transactions"), selectedItem._InvoiceNumber));
                }
                break;

            case "SendInvoice":
                if (dgInvoicesGrid.SelectedItem == null || dgInvoicesGrid.SelectedItems == null)
                {
                    return;
                }
                var selectedInvoiceEmails = dgInvoicesGrid.SelectedItems.Cast <DebtorInvoiceLocal>();
                SendInvoice(selectedInvoiceEmails);
                break;

            case "AddDoc":
                if (selectedItem != null)
                {
                    AddDockItem(TabControls.UserDocsPage, selectedItem, string.Format("{0}: {1}", Uniconta.ClientTools.Localization.lookup("Documents"), selectedItem._InvoiceNumber));
                }
                break;

            case "CreateOrder":
                if (selectedItem != null)
                {
                    CWOrderFromInvoice cwOrderInvoice = new CWOrderFromInvoice(api);
#if !SILVERLIGHT
                    cwOrderInvoice.DialogTableId = 2000000032;
#endif
                    cwOrderInvoice.Closed += async delegate
                    {
                        if (cwOrderInvoice.DialogResult == true)
                        {
                            var  orderApi       = new OrderAPI(api);
                            var  inversign      = cwOrderInvoice.InverSign;
                            var  account        = cwOrderInvoice.Account;
                            var  copyDelAddress = cwOrderInvoice.copyDeliveryAddress;
                            var  reCalPrices    = cwOrderInvoice.reCalculatePrices;
                            Type t;
                            if (cwOrderInvoice.Offer == true)
                            {
                                t = typeof(DebtorOfferClient);
                            }
                            else
                            {
                                t = typeof(DebtorOrderClient);
                            }
                            var dcOrder = this.CreateGridObject(t) as DCOrder;
                            var result  = await orderApi.CreateOrderFromInvoice(selectedItem, dcOrder, account, inversign, CopyDeliveryAddress : copyDelAddress, RecalculatePrices : reCalPrices);

                            if (result != ErrorCodes.Succes)
                            {
                                UtilDisplay.ShowErrorCode(result);
                            }
                            else
                            {
                                ShowOrderLines(dcOrder);
                            }
                        }
                    };
                    cwOrderInvoice.Show();
                }
                break;

#if !SILVERLIGHT
            case "GenerateOioXml":
                if (selectedItem != null)
                {
                    GenerateOIOXmlForAll(new List <DebtorInvoiceLocal>()
                    {
                        selectedItem
                    });
                }
                break;

            case "GenerateMarkedOioXml":
                var selected = dgInvoicesGrid.SelectedItems;
                if (selected != null)
                {
                    GenerateOIOXmlForAll(selected, true);
                }
                break;

            case "GenerateAllOioXml":
                var filteredRows = dgInvoicesGrid.GetVisibleRows();
                GenerateOIOXmlForAll(filteredRows);
                break;
#endif
            case "RefreshGrid":
                InitQuery();
                break;

            case "PostedBy":
                if (selectedItem != null)
                {
                    JournalPosted(selectedItem);
                }
                break;

            case "PreviousAddresses":
                if (selectedItem != null && selectedItem?.Debtor != null)
                {
                    AddDockItem(TabControls.DCPreviousAddressPage, selectedItem.Debtor, string.Format("{0}: {1}", Uniconta.ClientTools.Localization.lookup("PreviousAddresses"), selectedItem.Debtor._Name));
                }
                break;

            default:
                gridRibbon_BaseActions(ActionType);
                break;
            }
        }
示例#30
0
        public ActionResult OrderApiPlaceGuestOrder(EbayOrderApiPlaceGuestOrderModel data)
        {
            PurchaseOrderSummary summary = OrderAPI.PlaceGuestOrder(data.checkoutSessionId);

            return(Json(summary));
        }