protected virtual DataSet GenerateDataSet() { var dataset = new StoreInventoryFileDataSet(); AddAdditionalDataToDataSet(dataset); AddComponentDataToDataSet(dataset); return(dataset); }
/// <summary> /// Добавление дополнительной информации /// </summary> /// <param name="storeInventoryDateSet"></param> private void AddAdditionalDataToDataSet(StoreInventoryFileDataSet storeInventoryDateSet) { 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"); storeInventoryDateSet.AdditionalDataTAble.AddAdditionalDataTAbleRow(_reportTitle, _operatorLogotype, _filterSelection, _dateAsOf, reportFooter, reportFooterPrepared, reportFooterLink, _formName); }
private void AddComponentDataToDataSet(StoreInventoryFileDataSet dataset) { foreach (var component in _reportedComponents) { var partNumber = component.PartNumber; var serialNumber = component.SerialNumber; var idNumber = component.IdNumber; var description = component.Description; var goodClass = component.GoodsClass.ToString(); var state = component.State.ToString(); var status = component.ComponentStatus.ToString(); 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 > 0 ? "Yes" : "No"; var workType = ""; var isPool = component.IsPOOL ? "Yes" : "No"; var isDangerous = component.IsDangerous ? "Yes" : "No"; var remarks = component.Remarks; var location = component.Location.ToString(); var locationType = component.Location?.LocationsType?.ToString(); var lifeLimit = Lifelength.Null; var interval = Lifelength.Null; var lastPerformanceString = ""; var next = ""; var remain = Lifelength.Null; var warrrantly = Lifelength.Null; var ata = component.ATAChapter.ToString(); if (component.ComponentDirectives.Count > 0) { var dd = component.ComponentDirectives.Last(); workType = dd.DirectiveType.ToString(); if (dd.Threshold.FirstPerformanceSinceNew != null && !dd.Threshold.FirstPerformanceSinceNew.IsNullOrZero()) { lifeLimit = dd.Threshold.FirstPerformanceSinceNew; } if (dd.LastPerformance != null) { lastPerformanceString = SmartCore.Auxiliary.Convert.GetDateFormat(dd.LastPerformance.RecordDate); } if (dd.Threshold.RepeatInterval != null && !dd.Threshold.RepeatInterval.IsNullOrZero()) { interval = dd.Threshold.RepeatInterval; } next = dd.NextPerformanceDate != null?SmartCore.Auxiliary.Convert.GetDateFormat(dd.NextPerformanceDate.Value) : ""; remain = dd.Remains; warrrantly = dd.Warranty; } dataset.ComponentDataTable.AddComponentDataTableRow(partNumber, serialNumber, idNumber, description, goodClass, state, status, quantityIn.ToString(), current.ToString(), shouldBeOnStockString, workType, lifeLimit.ToString(), interval.ToString(), lastPerformanceString, next.ToString(), remain.ToString(), warrrantly.ToString(), isPool, isDangerous, remarks, location, locationType, ata); } }