Example #1
0
        public async Task <List <AssetDto> > GetAssetExportAsync(AssetExportQuery query)
        {
            query = query.ReformatQuery();
            System.Diagnostics.Debug.WriteLine(query.StartRow);
            var assets = await _repository.GetAssetExportAsync(query.Search, query.Hostname, query.StartRow, query.StartCol, query.EndRow, query.EndCol);

            return(_mapper.Map <List <AssetDto> >(assets));
        }
        public async Task <ActionResult <List <ExportAssetDto> > > Get([FromQuery] AssetExportQuery query)
        {
            var assets = await _assetService.GetAssetExportAsync(query);

            var response = new List <ExportAssetDto>();

            if (assets.Count() != 0)
            {
                foreach (AssetDto asset in assets)
                {
                    var export = _mapper.Map <ExportAssetDto>(asset);

                    //this is if it's an offline storage
                    if (asset.Rack.RackAddress.Equals("AO"))
                    {
                        export.rack          = "";
                        export.rack_position = 0;
                        export.offline_site  = export.datacenter;
                        export.datacenter    = "";
                    }
                    else
                    {
                        export.offline_site = "";
                    }
                    if (asset.ChassisId != null && asset.ChassisId != Guid.Empty)
                    {
                        var chassis = await _assetService.GetAssetAsync(asset.ChassisId ?? Guid.Empty);

                        export.chassis_number = (chassis.AssetNumber ?? 0).ToString();
                        export.chassis_slot   = (asset.ChassisSlot ?? 0).ToString();
                    }
                    else
                    {
                        export.chassis_number = ""; export.chassis_slot = "";
                    }
                    response.Add(export);
                }
            }
            return(Ok(response));
        }