コード例 #1
0
 /// <summary>
 /// Wrap an IcdCode object into an IcdCodeItem object
 /// </summary>
 /// <param name="fromCode">IcdCode object to wrap</param>
 /// <param name="useProvider">Data Provider that additional information on the IcdCode will be retrieved from</param>
 /// <returns>New IcdCodeItem object wrapping the original IcdCode object</returns>
 public static IcdCodeItem ToIcdCodeItem(this IcdCode fromCode, DataProviders.IAppDataProvider useProvider)
 {
     return(new IcdCodeItem()
     {
         Code = fromCode,
         Comment = String.Empty,
         Enabled = false,
         Children = fromCode.DeferredOnceChildren(useProvider)
     });
 }
コード例 #2
0
 /// <summary>
 /// Copy an IcdCode object to a new instance
 /// </summary>
 /// <param name="fromCode">Code to copy</param>
 /// <returns>A new exact copy of the original IcdCode object</returns>
 public static IcdCode Copy(this IcdCode fromCode)
 {
     return(new IcdCode()
     {
         ChildType = fromCode.ChildType,
         Code = fromCode.Code,
         CodeType = fromCode.CodeType,
         RetrievedFrom = fromCode.RetrievedFrom,
         Title = fromCode.Title
     });
 }
コード例 #3
0
 /// <summary>
 /// Get the enumerator for the children
 /// On first run, it retrieves the children; all initial runs use the previously retrieved children
 /// </summary>
 /// <returns>Enumerator for IcdCodeItem collection</returns>
 public IEnumerator <IcdCodeItem> GetEnumerator()
 {
     if (items == null)
     {
         items = (from child in dataProvider.GetChildren(parent.Code, parent.CodeType)
                  select child.ToIcdCodeItem(dataProvider))
                 .ToList();
         parent       = null;
         dataProvider = null;
     }
     return(items.GetEnumerator());
 }
コード例 #4
0
        public IcdCode Save(IcdCode icdCode)
        {
            using (var adapter = PersistenceLayer.GetDataAccessAdapter())
            {
                var entity = Mapper.Map <IcdCode, IcdCodesEntity>(icdCode);

                if (!adapter.SaveEntity(entity, true))
                {
                    throw new PersistenceFailureException();
                }

                return(Mapper.Map <IcdCodesEntity, IcdCode>(entity));
            }
        }
コード例 #5
0
 /// <summary>
 /// Initiate a new DeferredOnceChildren object with necessary data
 /// </summary>
 /// <param name="fromParent">Parent IcdCode object to get children from</param>
 /// <param name="useProvider">Data Provider to get the data from</param>
 public DeferredOnceChildren(IcdCode fromParent, DataProviders.IAppDataProvider useProvider)
 {
     items        = null;
     parent       = fromParent;
     dataProvider = useProvider;
 }
コード例 #6
0
 /// <summary>
 /// Get the Children of an IcdCode object with deferred once execution
 /// Does not execute retrieving the children until first enumeration; after, uses the first retrieved collection
 /// </summary>
 /// <param name="fromParent">Parent IcdCode to get the Children from</param>
 /// <param name="useProvider">Data Provider to get the Children from</param>
 /// <returns>Deferred Once Enumerable of IcdCodeItem objects representing the children</returns>
 public static IEnumerable <IcdCodeItem> DeferredOnceChildren(this IcdCode fromParent, DataProviders.IAppDataProvider useProvider)
 {
     return(new DeferredOnceChildren(fromParent, useProvider));
 }