Example #1
0
        //public void SetManufacturer(HardwareTemplate bamTemplate)
        //{
        //    //var dataExport = _estService.GetExportData(queryBuilder);
        //    var modelDescriptions = dataExport.NewItemList.Select(x => new { ModelName = x.Audit_Prod_Desc }).Distinct();

        //    throw new NotImplementedException();
        //}

        public HardwareTemplate_Full SetModelData(HardwareTemplate_Full bamTemplate, string modelName, out bool success)
        {
            EST_BAM_ModelLookupBsm modelItem = null;

            success = false;
            foreach (var item in _eST_BAM_Models)
            {
                if (modelItem != null)
                {
                    break;
                }
                if (item.BAM_Name == modelName)
                {
                    modelItem = item; break;
                }
                var itemSplit = item.BAM_Name.ToUpper().Split(' ');
                var count     = itemSplit.Length;
                var weight    = 0;
                for (var i = 0; i < itemSplit.Length; i++)
                {
                    if (modelName.Contains(itemSplit[i]))
                    {
                        weight++;
                    }
                }
                ;
                if (weight == 0)
                {
                    continue;
                }
                if (weight == count)
                {
                    modelItem = item; break;
                }
                if ((weight + 1) == count)
                {
                    modelItem = item; break;
                }
                if ((weight + 2) == count && weight >= 3)
                {
                    modelItem = item; break;
                }
            }
            if (modelItem != null)
            {
                success = true;
            }
            else // Try to use the EsteemAltCode
            {
                foreach (var item in _eST_BAM_Models)
                {
                    if (modelItem != null)
                    {
                        break;
                    }
                    if (item.BAM_Name == modelName)
                    {
                        modelItem = item; break;
                    }
                    var itemSplit = item.Esteem_Alt_ModelString.ToUpper().Split(' ');
                    var count     = itemSplit.Length;
                    var weight    = 0;
                    for (var i = 0; i < itemSplit.Length; i++)
                    {
                        if (modelName.Contains(itemSplit[i]))
                        {
                            weight++;
                        }
                    }
                    ;
                    if (weight == 0)
                    {
                        continue;
                    }
                    if (weight == count)
                    {
                        modelItem = item; break;
                    }
                    if ((weight + 1) == count)
                    {
                        modelItem = item; break;
                    }
                    if ((weight + 2) == count && weight >= 3)
                    {
                        modelItem = item; break;
                    }
                }
            }
            if (modelItem != null)
            {
                success = true;
            }

            bamTemplate.Manufacturer = modelItem?.BAM_ManufacturerString;
            bamTemplate.Model        = modelItem?.BAM_ModelString;
            bamTemplate.Target_HardwareAssetHasCatalogItem = new Target_HardwareAssetHasCatalogItem()
            {
                // Substring ;
                Id = modelItem?.BAM_BaseId
            };
            bamTemplate.HardwareAssetType = new HardwareAssetType()
            {
                Id = string.IsNullOrEmpty(modelItem?.BAM_ModelType) ? "" :
                     !modelItem.BAM_ModelType.Contains(';') ? modelItem?.BAM_ModelType :
                     modelItem?.BAM_ModelType.Substring(0, modelItem.BAM_ModelType.IndexOf(';'))
            };
            return(bamTemplate);
        }
Example #2
0
        public void Get_All_Manufacturers()
        {
            IQueryBuilder queryBuilder = new QueryBuilder();

            queryBuilder.StartDateString = "01/01/2017";
            queryBuilder.EndDateString   = "01/01/2019";
            queryBuilder.PageCount       = 100000000;

            _bAM_ModelLookupService = new EST_BAM_ModelLookupService();

            var estManufacturers = _bAM_ModelLookupService.GetEST_Manufacturers(queryBuilder);

            Assert.IsNotNull(estManufacturers, "ReturnList is null");
            Assert.IsTrue(estManufacturers.Any(), "ReturnList doesn't contain any items");

            var bamReportingManufacturerList = _bAM_ModelLookupService.GetBAM_ManufacturerList();
            var resultList        = new List <EST_BAM_ModelLookupBsm>();
            var resultListTemp    = new List <TempModel>();
            var resultListNoMatch = new List <TempModel>();

            foreach (var model in estManufacturers)
            {
                EST_BAM_ModelLookupBsm modelItem = null;
                var modelName = model.ModelName;
                foreach (var item in bamReportingManufacturerList)
                {
                    if (modelItem != null)
                    {
                        break;
                    }
                    if (item.BAM_Name == modelName)
                    {
                        modelItem = item; break;
                    }
                    var itemSplit = item.BAM_Name.ToUpper().Split(' ');
                    var count     = itemSplit.Length;
                    var weight    = 0;
                    for (var i = 0; i < itemSplit.Length; i++)
                    {
                        if (modelName.Contains(itemSplit[i]))
                        {
                            weight++;
                        }
                    }
                    ;
                    if (weight == 0)
                    {
                        continue;
                    }
                    if (weight == count)
                    {
                        modelItem = item; break;
                    }
                    if ((weight + 1) == count)
                    {
                        modelItem = item; break;
                    }
                    if ((weight + 2) == count && weight >= 3)
                    {
                        modelItem = item; break;
                    }
                }
                if (modelItem != null)
                {
                    resultList.Add(modelItem); resultListTemp.Add(model);
                }
                else
                {
                    resultListNoMatch.Add(model);
                }
            }
            var errorStr = "\r\n";

            resultListNoMatch.ForEach(x => { errorStr += x.ModelName + "\r\n"; });
            Assert.IsTrue(false, "Match count: " + resultList.Count + " No Match count: " + resultListNoMatch.Count + errorStr);
        }