public void ToStringDisplaysSystemAndIdentifier() { var value = new MdmId { SystemName = "CME", Identifier = "MFF" }; Assert.AreEqual("CME/MFF", value.ToString()); }
public WebResponse <TContract> Get(MdmId identifier, DateTime?validAt) { if (Logger.IsDebugEnabled) { Logger.DebugFormat("MdmEntityService.Get<{0}>: {1} {2}", typeof(TContract).Name, identifier, validAt); } if (identifier == null) { throw new ArgumentNullException("identifier"); } if (identifier.IsMdmId || identifier.SystemName == SourceSystemNames.Nexus) { int id; if (int.TryParse(identifier.Identifier, out id)) { return(this.Get(id, validAt)); } throw new ArgumentException("Invalid Nexus identifier: {0}.", identifier.ToString()); } return(this.AcquireEntity(identifier, validAt)); }
/// <copydocfrom cref="IMdmEntityService{T}.Get(int, DateTime?)" /> public WebResponse <TContract> Get(MdmId identifier, DateTime?validAt) { try { Logger.DebugFormat("Start: CachePolicyMdmEntityService.Get<{0}>: {1} asOf {2}", this.entityName, identifier, validAt); if (identifier == null) { throw new ArgumentNullException("identifier"); } if (identifier.IsMdmId || identifier.SystemName.ToLower() == SourceSystemNames.Nexus.ToLower()) { int id; if (int.TryParse(identifier.Identifier, out id)) { return(this.Get(id, validAt)); } else { throw new ArgumentException("Invalid Nexus identifier: {0}.", identifier.ToString()); } } Logger.DebugFormat("CachePolicyMdmEntityService.Get : Get<{0}> - {1} from cache", this.entityName, identifier); var entity = cache.Get <TContract>(identifier); if (entity != null) { var response = new WebResponse <TContract> { Code = HttpStatusCode.OK, Message = entity, IsValid = true }; response.LogResponse(); return(response); } Logger.DebugFormat("CachePolicyMdmEntityService.Get : {0} not found in cache. Invoking AcquireEntity...", identifier); return(this.AcquireEntity(identifier, () => this.service.Get(identifier, validAt))); } finally { Logger.DebugFormat("Stop: CachePolicyMdmEntityService.Get<{0}>: {1} asOf {2}", this.entityName, identifier, validAt); } }