public void AssetSearch( AssetSearch assetSearch) { assetSearch.ResponseMessage = new ResponseMessage(HttpStatusCode.InternalServerError); string message; try { var continueProcessing = false; sapConnect.MakeNonSsoConnection(); if (sapConnect.r3Connection != null && sapConnect.r3Connection.IsOpen == true) { continueProcessing = true; Log.Information("Non SSO Connection established successfully."); } else { message = "Non SSo Connection returned no connection"; Log.Error(message); assetSearch.ResponseMessage = new ResponseMessage(HttpStatusCode.InternalServerError, message); } if (continueProcessing) { new bapiCalls().SapAssetSearch(sapConnect.r3Connection, assetSearch); } } catch (Exception exception) { Log.Error(exception, "Error Getting Non SSO Ticket: exception"); } }
/// <summary> /// Retrieves a list of assets matching the given criteria. This operation does not support pagination. /// </summary> /// <param name="query">Search query.</param> /// <param name="token">Optional cancellation token.</param> /// <returns>List of assets matching given criteria.</returns> public async Task <IEnumerable <Asset> > SearchAsync(AssetSearch query, CancellationToken token = default) { if (query is null) { throw new ArgumentNullException(nameof(query)); } var req = Assets.search <IEnumerable <Asset> >(query); return(await RunAsync(req, token).ConfigureAwait(false)); }
public void AsssetSearchShoudReturSearchResult() { //Arrange string searchName = "Test"; string searchScope = "Video"; string expectedResult = "TestVideo"; var assetSearch = new AssetSearch(); //Act var result = assetSearch.SearchAsset(searchName, searchScope); //Assert Assert.AreEqual(expectedResult, result); }
public List <AssetSearch> GetAllAssetsList() { List <AssetSearch> assetListSearch = new List <AssetSearch>(); try { MySql.Data.MySqlClient.MySqlConnection conn = new MySql.Data.MySqlClient.MySqlConnection(); string connectionstring = "server=127.0.0.1;uid=root;pwd=root;database=cmdb"; conn = new MySql.Data.MySqlClient.MySqlConnection(); conn.ConnectionString = connectionstring; MySqlCommand cmd = conn.CreateCommand(); conn.Open(); string query = "select * from cmdb_view"; cmd.CommandText = query; MySqlDataReader dataReader = cmd.ExecuteReader(); while (dataReader.Read()) { AssetSearch objAssetSearch = new AssetSearch(); objAssetSearch.assetId = Convert.ToInt32(dataReader[0]); objAssetSearch.assetCode = Convert.ToString(dataReader[1]); objAssetSearch.assetName = Convert.ToString(dataReader[2]); objAssetSearch.shortName = Convert.ToString(dataReader[3]); //objAssetSearch.description = Convert.ToString(dataReader[4]); objAssetSearch.serialNo = Convert.ToString(dataReader[4]); objAssetSearch.modelNo = Convert.ToString(dataReader[5]).ToString(); objAssetSearch.warrantyPeriod = Convert.ToInt32(dataReader[6]); objAssetSearch.vendorName = Convert.ToString(dataReader[7]); objAssetSearch.vendorContact = Convert.ToString(dataReader[8]); objAssetSearch.vendorEmail = Convert.ToString(dataReader[9]); objAssetSearch.createdDate = Convert.ToDateTime(dataReader[10]); // objAssetSearch.isActive = (Convert.ToString(dataReader[12])) == "" || (Convert.ToString(dataReader[12])) == "0" || (Convert.ToString(dataReader[12])) == null ? false : true; //objAssetSearch.isDeleted = (Convert.ToString(dataReader[13])) == "" || (Convert.ToString(dataReader[13])) == "0" || (Convert.ToString(dataReader[13])) == null ? false : true; objAssetSearch.isconfig = (Convert.ToString(dataReader[11])) == "" || (Convert.ToString(dataReader[11])) == "0" || (Convert.ToString(dataReader[11])) == null ? false : true; objAssetSearch.isAssigned = (Convert.ToString(dataReader[12])) == "" || (Convert.ToString(dataReader[12])) == "0" || (Convert.ToString(dataReader[12])) == null ? false : true; objAssetSearch.empId = Convert.ToString(dataReader[13]).ToString(null); objAssetSearch.empName = Convert.ToString(dataReader[14]).ToString(null); objAssetSearch.cubicalNo = Convert.ToInt32(dataReader[15] == DBNull.Value ? 0 : Convert.ToInt32(dataReader[15])); objAssetSearch.contactNo = Convert.ToString(dataReader[16]).ToString(null); objAssetSearch.emailId = Convert.ToString(dataReader[17]).ToString(null); assetListSearch.Add(objAssetSearch); } conn.Close(); } catch (Exception ex) { } return(assetListSearch); }
public async Task AssetSearchReturnsExpectedNumberOfAssetsAsync() { // Arrange var numOfAssets = 10; var query = new AssetSearch() { Limit = numOfAssets, Search = new Search() { Name = "23" } }; // Act var res = await ReadClient.Assets.SearchAsync(query); // Assert var resCount = res.Count(); Assert.True(numOfAssets == resCount, $"Expected {query.Limit} assets but got {resCount}"); }
public async Task Test_Find() { #region Arrange var tmpCostCenter = await FortnoxClient.CostCenterConnector.CreateAsync(new CostCenter() { Code = "TMP", Description = "TmpCostCenter" }); var tmpAssetType = await FortnoxClient.AssetTypesConnector.CreateAsync(new AssetType() { Description = "TmpAssetType", Type = "1", Number = TestUtils.RandomString(3), AccountAssetId = 1150, AccountDepreciationId = 7824, AccountValueLossId = 1159 }); #endregion Arrange var testKeyMark = TestUtils.RandomString(); var connector = FortnoxClient.AssetConnector; var newAsset = new Asset() { Description = testKeyMark, AcquisitionDate = new DateTime(2011, 1, 1), AcquisitionStart = new DateTime(2011, 2, 1), AcquisitionValue = 500, DepreciationFinal = new DateTime(2012, 1, 1), Department = "Some Department", Notes = "Some notes", Group = "Some Group", Room = "Some room", Placement = "Right here", CostCenter = tmpCostCenter.Code, TypeId = tmpAssetType.Id }; //Add entries for (var i = 0; i < 5; i++) { newAsset.Number = TestUtils.RandomString(); await connector.CreateAsync(newAsset); } //Apply base test filter var searchSettings = new AssetSearch(); searchSettings.Description = testKeyMark; var fullCollection = await connector.FindAsync(searchSettings); Assert.AreEqual(5, fullCollection.TotalResources); Assert.AreEqual(5, fullCollection.Entities.Count); Assert.AreEqual(1, fullCollection.TotalPages); //Apply Limit searchSettings.Limit = 2; var limitedCollection = await connector.FindAsync(searchSettings); Assert.AreEqual(5, limitedCollection.TotalResources); Assert.AreEqual(2, limitedCollection.Entities.Count); Assert.AreEqual(3, limitedCollection.TotalPages); //Delete entries foreach (var entry in fullCollection.Entities) { await connector.DeleteAsync(entry.Id); } #region Delete arranged resources await FortnoxClient.CostCenterConnector.DeleteAsync(tmpCostCenter.Code); await FortnoxClient.AssetTypesConnector.DeleteAsync(tmpAssetType.Id); #endregion Delete arranged resources }
private bool ShouldSearchAsset(AssetSearch assetToCheck) { return((_currentSearchDestinations & (int)assetToCheck) != 0); }
// POST api/searchasset public HttpResponseMessage Post( [FromBody] AssetSearch assetSearch, bool?sso = null, bool?impersonate = null) { var result = new HttpResponseMessage(HttpStatusCode.InternalServerError); try { if (assetSearch == null) { assetSearch = new AssetSearch("", "", "", null, new ResponseMessage( HttpStatusCode.BadRequest, "Asset search web service call missing BODY parameters"), null); } else { Log.Information( "Call received - parameters: {params}", JsonConvert.SerializeObject(assetSearch)); SapAccess sapAccess = null; try { sapAccess = new SapAccess(); this.Request.RegisterForDispose(sapAccess); var ssoFlag = sso ?? false; var impersonateFlag = impersonate ?? false; sapAccess .AssetSearch( assetSearch); } finally { sapAccess?.Dispose(); } } } catch (Exception exception) { Log.Error(exception, "Error inside searchasset"); assetSearch.ResponseMessage = new ResponseMessage(HttpStatusCode.InternalServerError, exception.Message); } finally { } result.Content = new StringContent( JsonConvert.SerializeObject(assetSearch), System.Text.Encoding.UTF8, "application/json"); result.StatusCode = assetSearch.ResponseMessage.responseCode; Log.Information( "Response - parameters: {params}", JsonConvert.SerializeObject(assetSearch)); return(result); }
protected AssetResult ListAssets(GridModel model, AssetSearch search) { var response = new AssetResult(); ExecuteReader("r_Asset_List", delegate(SqlCommand sqlCommand) { if (search != null) { if (!string.IsNullOrEmpty(search.Id)) { sqlCommand.Parameters.AddWithValue("@Id", search.Id); } if (search.Status != 0) { sqlCommand.Parameters.AddWithValue("@status", search.Status); } if (!string.IsNullOrEmpty(search.Name)) { sqlCommand.Parameters.AddWithValue("@name", search.Name); } if (!string.IsNullOrEmpty(search.CreateDate)) { sqlCommand.Parameters.AddWithValue("@From", DateTime.Parse(search.CreateDate)); sqlCommand.Parameters.AddWithValue("@To", DateTime.Parse(search.CreateDate).AddHours(23).AddMinutes(59)); } if (!string.IsNullOrEmpty(search.TagId)) { sqlCommand.Parameters.AddWithValue("@TagId", search.TagId); } if (model.iSortCol_0 != 0) { model.iSortCol_0--; } switch (model.SortingDirection) { case SortDirection.Undefiened: sqlCommand.Parameters.AddWithValue("@sortColumn", 4); sqlCommand.Parameters.AddWithValue("@SortDirection", 1); break; case SortDirection.Ascending: sqlCommand.Parameters.AddWithValue("@sortColumn", model.iSortCol_0); sqlCommand.Parameters.AddWithValue("@SortDirection", 0); break; case SortDirection.Descending: sqlCommand.Parameters.AddWithValue("@sortColumn", model.iSortCol_0); sqlCommand.Parameters.AddWithValue("@SortDirection", 1); break; default: break; } } var pageSize = model == null ? 10 : ((model.iDisplayLength == 0) ? 10 : model.iDisplayLength); var PageNumber = model == null ? 1 : ((model.iDisplayStart == 0) ? 1 : model.iDisplayStart) / pageSize + 1; sqlCommand.Parameters.AddWithValue("@pageSize", pageSize); sqlCommand.Parameters.AddWithValue("@PageNumber", PageNumber); }, delegate(SqlDataReader reader) { while (reader.Read()) { response.Assets.Add(new AssetListModel { Id = reader.GetInt32(0), AID = reader.GetString(1), Name = reader.GetString(2), Status = (AssetStatus)reader.GetInt32(3), TagId = reader.IsDBNull(4) ? string.Empty : reader.GetString(4), CreateDate = reader.GetDateTime(5), ImagePath = reader.IsDBNull(6)?string.Empty: reader.GetString(6), Category = reader.GetString(7), Department = reader.IsDBNull(8) ? string.Empty : reader.GetString(8), Type = reader.GetString(9), Cost = reader.GetDecimal(10), PurchaseDate = reader.IsDBNull(11) ? DateTime.MinValue : reader.GetDateTime(11), Location = reader.IsDBNull(12) ? string.Empty : reader.GetString(12) }); } if (reader.NextResult() && reader.Read()) { response.RowsCount = reader.GetInt32(0); } }); return(response); }
/// <summary> /// Asynchronously retrieve a list of assets matching the given criteria. This operation does not support /// pagination. /// </summary> /// <param name="query">Search query.</param> /// <param name="token">Optional cancellation token.</param> /// <returns>Sequence of assets matching given criteria.</returns> public async Task <IEnumerable <Asset> > SearchAsync(AssetSearch query, CancellationToken token = default) { return(await SearchAsync <Asset>(query, token).ConfigureAwait(false)); }