private void ButtonAddClick(object sender, EventArgs e) { if (listViewKits.SelectedItems.Count == 0) { return; } foreach (var product in listViewKits.SelectedItems.ToArray()) { var newRequest = new RequestForQuotationRecord(-1, product, 1); newRequest.Product = product; _addedQuotationRecord.Add(newRequest); } listViewAddedItems.SetItemsArray(_addedQuotationRecord.ToArray()); }
public QuotationSupplierForm(List <Supplier> suppliers, RequestForQuotationRecord selectedItem) : this() { _suppliers = suppliers; _selectedItem = selectedItem; foreach (var price in selectedItem.SupplierPrice) { price.Supplier = _suppliers.FirstOrDefault(i => i.ItemId == price.SupplierId); } _prices.AddRange(selectedItem.SupplierPrice); if (_prices.Count > 0) { supplierListView1.SetItemsArray(_prices.Select(i => i.Supplier).ToArray()); } supplierListView.SetItemsArray(suppliers.ToArray()); }
public QuatationOrderFormNew(RequestForQuotation order, IEnumerable <Product> selectedProducts = null) : this() { if (selectedProducts != null) { foreach (var product in selectedProducts) { var newRequest = new RequestForQuotationRecord(-1, product, 1); newRequest.Product = product; _addedQuatationOrderRecords.Add(newRequest); } } _order = order; DocumentControls.AddRange(new[] { documentControl1, documentControl2, documentControl3, documentControl4, documentControl5, documentControl6, documentControl7, documentControl8, documentControl9, documentControl10 }); Task.Run(() => DoWork()) .ContinueWith(task => Completed(), TaskScheduler.FromCurrentSynchronizationContext()); }
private void _toolStripMenuItemCreateQuatation_Click(object sender, EventArgs e) { try { var initial = _directivesViewer.SelectedItem; var quatation = new RequestForQuotation { Parent = initial, ParentType = initial.SmartCoreObjectType, Title = initial.Title, OpeningDate = DateTime.Now, Author = initial.Author, Remarks = initial.Remarks, Number = initial.Number, }; GlobalObjects.CasEnvironment.NewKeeper.Save(quatation); var initialRecords = GlobalObjects.CasEnvironment.NewLoader.GetObjectList <InitialOrderRecordDTO, InitialOrderRecord>(new Filter("ParentPackageId", initial.ItemId)); var ids = initialRecords.Select(i => i.ProductId); if (ids.Count() > 0) { var product = GlobalObjects.CasEnvironment.NewLoader.GetObjectList <AccessoryDescriptionDTO, Product>(new Filter("ItemId", ids)); foreach (var addedInitialOrderRecord in initialRecords) { addedInitialOrderRecord.Product = product.FirstOrDefault(i => i.ItemId == addedInitialOrderRecord.ProductId); } } foreach (var record in initialRecords) { var newquatationRecord = new RequestForQuotationRecord(quatation.ItemId, record.Product, record.Quantity); newquatationRecord.Priority = record.Priority; newquatationRecord.Measure = record.Measure; newquatationRecord.DeferredCategory = record.DeferredCategory; newquatationRecord.CostCondition = record.CostCondition; newquatationRecord.DestinationObjectType = record.DestinationObjectType; newquatationRecord.DestinationObjectId = record.DestinationObjectId; newquatationRecord.Remarks = record.Remarks; newquatationRecord.LifeLimit = new Lifelength(record.LifeLimit); newquatationRecord.LifeLimitNotify = new Lifelength(record.LifeLimitNotify); GlobalObjects.CasEnvironment.Keeper.Save(newquatationRecord); } MessageBox.Show("Create quatation successful", "Message infomation", MessageBoxButtons.OK, MessageBoxIcon.Information); initial.Status = WorkPackageStatus.Published; initial.PublishingDate = DateTime.Now; initial.PublishedByUser = GlobalObjects.CasEnvironment.IdentityUser.ToString(); initial.PublishedById = GlobalObjects.CasEnvironment.IdentityUser.ItemId; GlobalObjects.CasEnvironment.NewKeeper.Save(initial); var form = new QuatationOrderFormNew(quatation); form.ShowDialog(); AnimatedThreadWorker.RunWorkerAsync(); } catch (Exception ex) { Program.Provider.Logger.Log("Error while saving data", ex); throw; } }
private void _toolStripMenuItemPublish_Click(object sender, EventArgs e) { if (_directivesViewer.SelectedItems.Count == 0) { return; } if (_directivesViewer.SelectedItems[0] is RequestForQuotation) { var editForm = new CreatePurchaseOrderForm(_directivesViewer.SelectedItems[0] as RequestForQuotation); if (editForm.ShowDialog() == DialogResult.OK) { MessageBox.Show("Create purchase successful", "Message infomation", MessageBoxButtons.OK, MessageBoxIcon.Information); foreach (var rfq in _directivesViewer.SelectedItems) { if (rfq.Status == WorkPackageStatus.Published) { MessageBox.Show("Initional Order " + rfq.Title + " is already publisher.", (string)new GlobalTermsProvider()["SystemName"], MessageBoxButtons.OK, MessageBoxIcon.Exclamation, MessageBoxDefaultButton.Button1); continue; } rfq.Status = WorkPackageStatus.Published; rfq.PublishingDate = DateTime.Now; rfq.PublishedByUser = GlobalObjects.CasEnvironment.IdentityUser.ToString(); rfq.PublishedById = GlobalObjects.CasEnvironment.IdentityUser.ItemId; GlobalObjects.CasEnvironment.NewKeeper.Save(rfq as BaseEntityObject); SendQuotationOrder(rfq as RequestForQuotation); } } AnimatedThreadWorker.RunWorkerAsync(); } else if (_directivesViewer.SelectedItems[0] is InitialOrder) { var initial = _directivesViewer.SelectedItems[0] as InitialOrder; var quatation = new RequestForQuotation { Parent = initial, ParentType = initial.SmartCoreObjectType, Title = initial.Title, OpeningDate = DateTime.Now, Author = initial.Author, Remarks = initial.Remarks, Number = initial.Number, }; GlobalObjects.CasEnvironment.NewKeeper.Save(quatation); var initialRecords = GlobalObjects.CasEnvironment.NewLoader.GetObjectList <InitialOrderRecordDTO, InitialOrderRecord>(new Filter("ParentPackageId", initial.ItemId)); var ids = initialRecords.Select(i => i.ProductId); if (ids.Count() > 0) { var product = GlobalObjects.CasEnvironment.NewLoader.GetObjectList <AccessoryDescriptionDTO, Product>(new Filter("ItemId", ids)); foreach (var addedInitialOrderRecord in initialRecords) { addedInitialOrderRecord.Product = product.FirstOrDefault(i => i.ItemId == addedInitialOrderRecord.ProductId); } } foreach (var record in initialRecords) { var newquatationRecord = new RequestForQuotationRecord(quatation.ItemId, record.Product, record.Quantity); newquatationRecord.Priority = record.Priority; newquatationRecord.Measure = record.Measure; newquatationRecord.DeferredCategory = record.DeferredCategory; newquatationRecord.CostCondition = record.CostCondition; newquatationRecord.DestinationObjectType = record.DestinationObjectType; newquatationRecord.DestinationObjectId = record.DestinationObjectId; newquatationRecord.Remarks = record.Remarks; newquatationRecord.LifeLimit = new Lifelength(record.LifeLimit); newquatationRecord.LifeLimitNotify = new Lifelength(record.LifeLimitNotify); GlobalObjects.CasEnvironment.Keeper.Save(newquatationRecord); } initial.Status = WorkPackageStatus.Published; initial.PublishingDate = DateTime.Now; initial.PublishedByUser = GlobalObjects.CasEnvironment.IdentityUser.ToString(); initial.PublishedById = GlobalObjects.CasEnvironment.IdentityUser.ItemId; GlobalObjects.CasEnvironment.NewKeeper.Save(initial); var form = new QuatationOrderFormNew(quatation); if (form.ShowDialog() == DialogResult.OK) { MessageBox.Show("Create quatation successful", "Message infomation", MessageBoxButtons.OK, MessageBoxIcon.Information); } AnimatedThreadWorker.RunWorkerAsync(); } else if (_directivesViewer.SelectedItems[0] is PurchaseOrder) { var purch = _directivesViewer.SelectedItem as PurchaseOrder; //var form = new MoveProductForm(purch); //if (form.ShowDialog() == DialogResult.OK) //{ purch.Status = WorkPackageStatus.Published; purch.PublishingDate = DateTime.Now; purch.PublishedByUser = GlobalObjects.CasEnvironment.IdentityUser.ToString(); purch.PublishedById = GlobalObjects.CasEnvironment.IdentityUser.ItemId; GlobalObjects.CasEnvironment.NewKeeper.Save(purch); SendPurchaseOrder(purch); //} AnimatedThreadWorker.RunWorkerAsync(); } }
/// <summary> /// Добавляется элемент в таблицу данных /// </summary> /// <param name="accessory">Добавлямая директива</param> /// <param name="supp"></param> /// <param name="destinationDataSet">Таблица, в которую добавляется элемент</param> private void AddItemDataset(Product accessory, Supplier supp, RequestForQuotationDataSet destinationDataSet) { RequestForQuotationRecord rec = _currentRfQ.PackageRecords.FirstOrDefault(item => item.PackageItemId == accessory.ItemId && item.PackageItemType == accessory.SmartCoreObjectType); String description = ""; #region Инициализация description if (_currentRfQ.Parent is Aircraft) { description += ((Aircraft)_currentRfQ.Parent).Model; } if (accessory.GoodsClass.IsNodeOrSubNodeOf(GoodsClass.MaintenanceMaterials) || 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; } #endregion String costCondition = ""; #region инициализация CostCondition if ((rec.CostCondition & ComponentStatus.New) != 0) { costCondition += "New"; } if ((rec.CostCondition & ComponentStatus.Serviceable) != 0) { if (costCondition != "") { costCondition += " or "; } costCondition += "Serviceable"; } if ((rec.CostCondition & ComponentStatus.Overhaul) != 0) { if (costCondition != "") { costCondition += " or "; } costCondition += "Overhaul"; } #endregion destinationDataSet.KitsTable.AddKitsTableRow(accessory.PartNumber, description, (int)rec.Quantity, costCondition, supp.Name); }