示例#1
0
        private ConvertedAssetsDto BuildAssets(string rawCsv, int tenantId)
        {
            string[] csvRawLines = ProcessCsvLines(rawCsv);
            string[] csvHeader   = ProcessCsvHeader(csvRawLines[0]);

            string[]               csvLines = RemoveBlankLines(csvRawLines);
            List <Lookup>          lookups  = new List <Lookup>();
            IList <Asset>          assets   = new List <Asset>();
            IList <List <string> > errors   = new List <List <string> >();

            for (int i = 1; i < csvLines.Length; i++)
            {
                ConvertedAsset convertedAsset = ProcessLineToAsset(csvHeader, csvLines[i], tenantId, i);
                if (!string.IsNullOrWhiteSpace(convertedAsset.Asset.Model) &&
                    !string.IsNullOrWhiteSpace(convertedAsset.Asset.SerialNumber))
                {
                    assets.Add(convertedAsset.Asset);
                    errors.Add(convertedAsset.Errors);
                    convertedAsset.Asset.TenantId         = tenantId;
                    convertedAsset.Asset.AssetMakeId      = convertedAsset.Asset.AssetMake.LookupId;
                    convertedAsset.Asset.CategoryId       = convertedAsset.Asset.Category.LookupId;
                    convertedAsset.Asset.WarrantyPeriodId = convertedAsset.Asset.WarrantyPeriod.LookupId;
                    LoadLookupsForAsset(convertedAsset.Asset, lookups);
                }
            }

            ConvertedAssetsDto response = new ConvertedAssetsDto
            {
                Errors = errors.ToList(),
                Assets = assets.ToList()
            };

            return(response);
        }
示例#2
0
        private ConvertedAssetsDto BuildAssetsClearLookups(string rawCsv, int tenantId)
        {
            ConvertedAssetsDto bulkUpload = BuildAssets(rawCsv, tenantId);

            //foreach(Asset asset in bulkUpload.Assets)
            //{
            //    ClearLookups(asset);
            //}
            return(bulkUpload);
        }
示例#3
0
        public int ProcessCommit(string batchId, TenantViewModel tenant)
        {
            int        bulkImportId = int.Parse(batchId);
            BulkImport bulkImport   = BulkImportRepository.Single(x => x.BulkImportId == bulkImportId);

            ConvertedAssetsDto convertedAssets = BuildAssetsClearLookups(bulkImport.ImportText, tenant.TenantId);

            CommitImport(convertedAssets.Assets);
            return(convertedAssets.Assets.Count());
        }
        private ConvertedAssetsDto BuildAssets(string rawCsv, int tenantId)
        {
            string[] csvRawLines = ProcessCsvLines(rawCsv);
            string[] csvHeader = ProcessCsvHeader(csvRawLines[0]);

            string[] csvLines = RemoveBlankLines(csvRawLines);
            List<Lookup> lookups = new List<Lookup>();
            IList<Asset> assets = new List<Asset>();
            IList<List<string>> errors = new List<List<string>>();
            for (int i = 1; i < csvLines.Length; i++)
            {
                ConvertedAsset convertedAsset = ProcessLineToAsset(csvHeader, csvLines[i], tenantId, i);
                if (!string.IsNullOrWhiteSpace(convertedAsset.Asset.Model)
                    && !string.IsNullOrWhiteSpace(convertedAsset.Asset.SerialNumber))
                {
                    assets.Add(convertedAsset.Asset);
                    errors.Add(convertedAsset.Errors);
                    convertedAsset.Asset.TenantId = tenantId;
                    convertedAsset.Asset.AssetMakeId = convertedAsset.Asset.AssetMake.LookupId;
                    convertedAsset.Asset.CategoryId = convertedAsset.Asset.Category.LookupId;
                    convertedAsset.Asset.WarrantyPeriodId = convertedAsset.Asset.WarrantyPeriod.LookupId;
                    LoadLookupsForAsset(convertedAsset.Asset, lookups);
                }
            }

            ConvertedAssetsDto response = new ConvertedAssetsDto
            {
                Errors = errors.ToList(),
                Assets = assets.ToList()
            };
            return response;
        }