Exemple #1
0
        private void ButtonAdd_Click(object sender, EventArgs e)
        {
            var price = quatationSupplierPriceListView1.SelectedItem;

            var newRequest = new PurchaseRequestRecord(-1, price.Parent.Product, 1)
            {
                CostCondition       = (ComponentStatus)comboBoxCondition.SelectedItem,
                Exchange            = (Exchange)comboBoxType.SelectedItem,
                Product             = price.Parent.Product,
                Supplier            = price.Supplier,
                Quantity            = (double)numericUpDownQuantity.Value,
                SupplierId          = price.Supplier.ItemId,
                Price               = price,
                Cost                = (double)GetCostCreate(),
                Currency            = GetCurrencyСreate(),
                ParentInitialRecord = price.Parent.ParentInitialRecord
            };

            if (newRequest.Cost == 0)
            {
                MessageBox.Show("Supplier price for product less than zero!",
                                (string)new GlobalTermsProvider()["SystemName"],
                                MessageBoxButtons.OK,
                                MessageBoxIcon.Exclamation);
                return;
            }

            if (_addedRecord.Any(i => i.Product.ItemId == price.Parent.Product.ItemId &&
                                 i.CostCondition == (ComponentStatus)comboBoxCondition.SelectedItem &&
                                 i.Exchange == (Exchange)comboBoxType.SelectedItem &&
                                 i.SupplierId == price.SupplierId))
            {
                MessageBox.Show("Supplier price for product alredy added!",
                                (string)new GlobalTermsProvider()["SystemName"],
                                MessageBoxButtons.OK,
                                MessageBoxIcon.Exclamation);
                return;
            }

            var res = purchaseRecordListView1.GetItemsArray().Where(i =>
                                                                    i.Product.ItemId == price.Parent.Product.ItemId).ToArray().Select(i => i.Quantity).Sum();

            if (newRequest.Price.Parent.Quantity < newRequest.Quantity + res)
            {
                MessageBox.Show($"Q-ty is greathe then need for this product!",
                                (string)new GlobalTermsProvider()["SystemName"],
                                MessageBoxButtons.OK,
                                MessageBoxIcon.Exclamation);
                return;
            }

            _addedRecord.Add(newRequest);


            purchaseRecordListView1.SetItemsArray(_addedRecord.ToArray());
            numericUpDownQuantity.Value = 1;
        }
        /// <summary>
        /// Добавляется элемент в таблицу данных
        /// </summary>
        /// <param name="request"></param>
        /// <param name="destinationDataSet">Таблица, в которую добавляется элемент</param>
        private void AddItemDataset(PurchaseRequestRecord request, PurchaseOrderDataSet destinationDataSet)
        {
            //Supplier supp = request.Supplier;
            //Product accessory = request.Product;

            //String description = "";

            //if (_currentPurchaseOrder.Parent is Aircraft)
            //    description += ((Aircraft)_currentPurchaseOrder.Parent).Model;

            //if (accessory.GoodsClass.IsNodeOrSubNodeOf(GoodsClass.Maintenance) ||
            //    accessory.GoodsClass.IsNodeOrSubNodeOf(GoodsClass.Tools))
            //{
            //    //AccessoryRequired kr = (AccessoryRequired) accessory;
            //    //if (kr.ParentObject is Directive)
            //    //{
            //    //    Directive d = (Directive)kr.ParentObject;
            //    //    description += " " + d.Title +
            //    //                   " " + d.WorkType;
            //    //}
            //    //if (kr.ParentObject is DetailDirective)
            //    //{
            //    //    DetailDirective d = (DetailDirective)kr.ParentObject;
            //    //    description += " " + d.ParentDetail.PartNumber +
            //    //                   " " + d.DirectiveType;
            //    //}
            //    //if (kr.ParentObject is Detail) description += " " + ((Detail)kr.ParentObject).PartNumber;
            //    //if (kr.ParentObject is MaintenanceCheck) description += " " + ((MaintenanceCheck)kr.ParentObject).Name;
            //    //if (kr.ParentObject is NonRoutineJob) description += " " + ((NonRoutineJob)kr.ParentObject).Title;

            //    description += " kit desc: " + accessory.Description;
            //}
            //else
            //{
            //    description += " desc: " + accessory.Description;
            //}

            //destinationDataSet.PurchaseRequestTable.AddPurchaseRequestTableRow(accessory.PartNumber, description, request.Quantity,
            //                                               request.CostCondition.ToString(), supp.Name, request.Cost);
        }
Exemple #3
0
        public void SmartCoreFileTest_PurchaseRequestRecord()
        {
            var enviroment = GetEnviroment();

            var purchaseRequestRecord = new PurchaseRequestRecord
            {
                AttachedFile = new AttachedFile {
                    FileName = "AttachedFile.test"
                },
            };

            enviroment.NewKeeper.Save(purchaseRequestRecord);

            Assert.IsTrue(purchaseRequestRecord.ItemId > 0, "ItemId должен быть больше 0");

            var forCheck = enviroment.NewLoader.GetObject <PurchaseRequestRecordDTO, PurchaseRequestRecord>(new Filter("ItemId", purchaseRequestRecord.ItemId), true);

            enviroment.NewKeeper.Delete(purchaseRequestRecord);

            Assert.IsTrue(forCheck != null, "значение не должно быть null");
            Assert.AreEqual(forCheck.Files.Count, 1, "Кол-во файлов должно быть 1");
            Assert.IsTrue(forCheck.AttachedFile != null);
            Assert.AreEqual(forCheck.AttachedFile.FileName, "AttachedFile.test");
        }