private void AddComponentsDataToDataSet(AvailableComponentsDataSet dataset) { foreach (var component in _reportedComponents) { var partNumber = component.PartNumber; var description = component.Description; var goodClass = component.GoodsClass.ToString(); var remarks = component.Remarks; bool isComponent = component.GoodsClass.IsNodeOrSubNodeOf(new IDictionaryTreeItem[] { GoodsClass.ComponentsAndParts, GoodsClass.ProductionAuxiliaryEquipment }); var quantityIn = isComponent && component.ItemId > 0 ? 1 : component.QuantityIn; var current = isComponent && component.ItemId > 0 ? 1 : component.Quantity; var shouldBeOnStockString = component.ShouldBeOnStock; var needWP = component.NeedWpQuantity; var reserve = current - needWP; var ata = component.ATAChapter.ToString(); var location = component.Location.ToString(); var locationType = component.Location?.LocationsType?.ToString(); dataset.ComponentsDataTable.AddComponentsDataTableRow(partNumber, description, goodClass, $"{quantityIn:0.##}" + (component.Measure != null ? " " + component.Measure + "(s)" : ""), shouldBeOnStockString.ToString(), current.ToString(), needWP.ToString(), reserve.ToString(), remarks, ata, locationType, location); } }
protected virtual DataSet GenerateDataSet() { var dataset = new AvailableComponentsDataSet(); AddAdditionalDataToDataSet(dataset); AddComponentsDataToDataSet(dataset); return(dataset); }
/// <summary> /// Добавление дополнительной информации /// </summary> /// <param name="availableComponentsDateSet"></param> private void AddAdditionalDataToDataSet(AvailableComponentsDataSet availableComponentsDateSet) { var reportFooter = new GlobalTermsProvider()["ReportFooter"].ToString(); var reportFooterPrepared = new GlobalTermsProvider()["ReportFooterPrepared"].ToString(); var reportFooterLink = new GlobalTermsProvider()["ProductWebsite"].ToString(); _dateAsOf = DateTime.Today.ToString("dd MM yyyy"); var aircraft = GlobalObjects.AircraftsCore.GetAircraftById(_reportedWorkPackage.ParentId); var wpTitle = _reportedWorkPackage.Title; var date = _reportedWorkPackage.OpeningDate.ToString("dd MM yyyy"); availableComponentsDateSet.AdditionalDataTAble.AddAdditionalDataTAbleRow(_reportTitle, _operatorLogotype, _filterSelection, _dateAsOf, reportFooter, reportFooterPrepared, reportFooterLink, aircraft.ToString(), wpTitle, date); }