示例#1
0
        async private void CreateProductionReport(ProductionOrderClient productionOrder)
        {
            var companyClient = Utility.GetCompanyClientUserInstance(api.CompanyEntity);
            var getLogo       = await UtilDisplay.GetLogo(api);

            var productionOrderLines = await api.Query <ProductionOrderLineClient>(productionOrder);

            if (productionOrderLines != null && productionOrderLines.Length > 0)
            {
                var productionReportSource = new ProductionStandardReportClient(companyClient, productionOrder, productionOrderLines, getLogo, Uniconta.ClientTools.Localization.lookup("ProductionOrder"));
                var standardReportSrc      = new IProductionStandardReport[] { productionReportSource };
                var standardPrint          = new StandardPrintReport(api, standardReportSrc, (int)StandardReports.ProductionOrder);
                await standardPrint.InitializePrint();

                if (standardPrint?.Report != null)
                {
                    AddDockItem(TabControls.StandardPrintReportPage, new object[] { new DevExpress.XtraReports.UI.XtraReport[] { standardPrint.Report } },
                                string.Format("{0}: {1}", Uniconta.ClientTools.Localization.lookup("PrintPreview"), productionOrder.ProductionNumber));
                }
            }
            else
            {
                UnicontaMessageBox.Show(Uniconta.ClientTools.Localization.lookup("NoLinesFound"), Uniconta.ClientTools.Localization.lookup("Warning"), MessageBoxButton.OK);
            }
        }
        void InitPage(CrudAPI crudapi, UnicontaBaseEntity master, UnicontaBaseEntity debtorOrder = null)
        {
            BusyIndicator = busyIndicator;
            layoutControl = layoutItems;
            cmbDim1.api   = cmbDim2.api = cmbDim3.api = cmbDim4.api = cmbDim5.api = leGroup.api = leProject.api = lePrCategory.api = leEmployee.api
                                                                                                                                         = leProdItem.api = leGroup.api = leAccount.api = cmbWarehouse.api = cmbLocation.api = prTasklookupeditor.api = crudapi;

#if SILVERLIGHT
            leRelatedOrder.api = api;
#else
            leRelatedOrder.CrudApi = api;
#endif

            if (editrow == null)
            {
                frmRibbon.DisableButtons("Delete");
                liCreatedTime.Visibility = Visibility.Collapsed;
                editrow          = CreateNew() as ProductionOrderClient;
                editrow._Created = DateTime.MinValue;
                if (master != null)
                {
                    editrow.SetMaster(master);
                    editrow.SetMaster(debtorOrder);
                    editrow._EndDiscountPct = 0;
                    editrow._Storage        = crudapi.CompanyEntity._PurchaseLineStorage;
                }
            }

            rowId   = editrow.RowId;
            prodQty = editrow._ProdQty;

            layoutItems.DataContext  = editrow;
            frmRibbon.OnItemClicked += frmRibbon_OnItemClicked;
            StartLoadCache();
        }
        private void GoToLines(ProductionOrderClient productionOrder)
        {
            var olheader = string.Format("{0}: {1}, {2}", Uniconta.ClientTools.Localization.lookup("ProductionLines"), productionOrder._OrderNumber, productionOrder._DCAccount);

            AddDockItem(TabControls.ProductionOrderLines, productionOrder, olheader);
            dockCtrl?.JustClosePanel(this.ParentControl);
        }
        void CreateOrderLines(ProductionOrderClient productionOrder)
        {
            CWProductionOrderLine dialog = new CWProductionOrderLine(productionOrder, api, rowId == 0);

#if !SILVERLIGHT
            dialog.DialogTableId = 2000000077;
#endif
            dialog.Closed += async delegate
            {
                if (dialog.DialogResult == true)
                {
                    var result = await Save();

                    if (result)
                    {
                        if (dialog.DeliveryDate != DateTime.MinValue)
                        {
                            productionOrder._DeliveryDate = dialog.DeliveryDate;
                        }
                        UpdateLines(productionOrder, (StorageRegister)dialog.Storage, dialog.Force, true, dialog.ProductionTime);
                    }
                }
            };
            dialog.Show();
        }
示例#5
0
        void CreateOrderLines(ProductionOrderClient productionOrder)
        {
            CWProductionOrderLine dialog = new CWProductionOrderLine(api);

            dialog.Closing += async delegate
            {
                if (dialog.DialogResult == true)
                {
                    var prodAPI = new ProductionAPI(api);
                    var result  = await prodAPI.CreateProductionLines(productionOrder, (StorageRegister)dialog.storage);

                    UtilDisplay.ShowErrorCode(result);
                    //else
                    //    CreditorOrders.ShowOrderLines(4, productionOrder, this, dgProductionOrders);
                }
            };
            dialog.Show();
        }
示例#6
0
        async void MarkedOrderLine(ProductionOrderClient selectedItem)
        {
            busyIndicator.IsBusy = true;
            var      orderLineMarked = new DebtorOrderLineClient();
            OrderAPI orderApi        = new OrderAPI(api);
            var      res             = await orderApi.GetMarkedOrderLine(selectedItem, orderLineMarked);

            busyIndicator.IsBusy = false;
            if (res == ErrorCodes.Succes)
            {
                object[] paramArr = new object[] { api, orderLineMarked };
                AddDockItem(TabControls.OrderLineMarkedPage, paramArr, string.Format("{0}: {1}", Uniconta.ClientTools.Localization.lookup("OrderLine"), orderLineMarked._OrderNumber));
            }
            else
            {
                UtilDisplay.ShowErrorCode(res);
            }
        }
        void CreateOrderLines(ProductionOrderClient productionOrder)
        {
            CWProductionOrderLine dialog = new CWProductionOrderLine(productionOrder, api, false, null);

#if !SILVERLIGHT
            dialog.DialogTableId = 2000000078;
#endif
            dialog.Closing += async delegate
            {
                if (dialog.DialogResult == true)
                {
                    var prodAPI = new ProductionAPI(api);
                    var result  = await prodAPI.CreateProductionLines(productionOrder, (StorageRegister)dialog.Storage, dialog.Force, dialog.ProductionTime);

                    UtilDisplay.ShowErrorCode(result);
                    //else
                    //    CreditorOrders.ShowOrderLines(4, productionOrder, this, dgProductionOrders);
                }
            };
            dialog.Show();
        }
示例#8
0
        private void CreateProdcution(ProductionPostedClient fromProductionPosted)
        {
            var prodOrder = new ProductionOrderClient()
            {
                _ProdItem = fromProductionPosted._Item, _ProdQty = fromProductionPosted._Qty
            };
            var cwProductionOrderLine = new CWProductionOrderLine(prodOrder, api, true, Uniconta.ClientTools.Localization.lookup("ProductionOrder"));

#if !SILVERLIGHT
            cwProductionOrderLine.DialogTableId = 2000000079;
#endif
            cwProductionOrderLine.Closed += async delegate
            {
                if (cwProductionOrderLine.DialogResult == true)
                {
                    prodOrder._DeliveryDate = cwProductionOrderLine.DeliveryDate;
                    var prodApi = new ProductionAPI(api);
                    var result  = await prodApi.CreateProductionFromProduction(fromProductionPosted, prodOrder, cwProductionOrderLine.quantity, (StorageRegister)cwProductionOrderLine.Storage);

                    if (result != ErrorCodes.Succes)
                    {
                        Uniconta.ClientTools.Util.UtilDisplay.ShowErrorCode(result);
                    }
                    else
                    {
#if !SILVERLIGHT
                        if (UnicontaMessageBox.Show(string.Format(Uniconta.ClientTools.Localization.lookup("GoTo"), Uniconta.ClientTools.Localization.lookup("ProductionLines")),
                                                    Uniconta.ClientTools.Localization.lookup("Message"), MessageBoxButton.YesNo) == MessageBoxResult.Yes)
#elif SILVERLIGHT
                        if (UnicontaMessageBox.Show(string.Format(Uniconta.ClientTools.Localization.lookup("GoTo"), Uniconta.ClientTools.Localization.lookup("ProductionLines")),
                                                    Uniconta.ClientTools.Localization.lookup("Message"), MessageBoxButton.OKCancel) == MessageBoxResult.OK)
#endif
                        { AddDockItem(TabControls.ProductionOrderLines, prodOrder); }
                    }
                }
            };
            cwProductionOrderLine.Show();
        }
        async void UpdateLines(ProductionOrderClient productionOrder, StorageRegister Storage, bool OverwriteLines, bool goToLines, int prodTime = 0)
        {
            var prodAPI = new ProductionAPI(api);
            var result  = await prodAPI.CreateProductionLines(productionOrder, Storage, OverwriteLines, prodTime);

            if (result == ErrorCodes.Succes)
            {
                prodQty = productionOrder._ProdQty;
                if (goToLines)
                {
                    GoToLines(productionOrder);
                }
            }
            else
            {
                if (productionOrder.RowId != 0)
                {
                    productionOrder.ProdQty = prodQty;
                    api.UpdateNoResponse(productionOrder);
                }
                UtilDisplay.ShowErrorCode(result);
            }
        }
示例#10
0
        public CWProductionOrderLine(ProductionOrderClient Prod, CrudAPI api, bool isQuantityVisible, string title = null)
        {
            this.DataContext = this;
            InitializeComponent();
            this.Title = title ?? Uniconta.ClientTools.Localization.lookup("ProductionLines");
#if SILVERLIGHT
            UnicontaClient.Utilities.Utility.SetThemeBehaviorOnChildWindow(this);
#endif
            isQtyVisible = isQuantityVisible;
            if (!isQuantityVisible)
            {
                rowQuantity.Height = new GridLength(0.0d);
            }
            else if (Prod != null && Prod._ProdQty != 0)
            {
                qtyEditor.Text = Prod._ProdQty.ToString();
            }

            txtCheckForce.Text = string.Format(Uniconta.ClientTools.Localization.lookup("RecreateOBJ"), Uniconta.ClientTools.Localization.lookup("ProductionLines"));
            var prodReg = AppEnums.ProductionRegister.ToString((int)api.CompanyEntity._OrderLineStorage);
            storageType.ItemsSource  = AppEnums.ProductionRegister.Values;
            storageType.SelectedItem = prodReg;
            this.Loaded += CW_Loaded;
        }