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); }
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"); }