public override Dictionary <string, object> ToUpdate(IMemoryCache memoryCache, out BaseModel updatedElement)
        {
            Dictionary <string, object> changes = new Dictionary <string, object>();

            BlobContent refInCache = null;

            if (Id != Guid.Empty)
            {
                refInCache = CacheHelper.GetBlobContentFromCache(memoryCache, Id);

                if (refInCache != null)
                {
                    if (Name != null && !Name.Equals(refInCache.Name))
                    {
                        changes.Add("Name", Name);
                    }
                    if (Description != null && !Description.Equals(refInCache.Description))
                    {
                        changes.Add("Description", Description);
                    }
                    if (!Sharing.Equals(refInCache.Sharing))
                    {
                        changes.Add("Sharing", Sharing);
                    }
                    if (!Type.Equals(refInCache.Type))
                    {
                        changes.Add("Type", Type);
                    }
                    if (!Subtype.Equals(refInCache.Subtype))
                    {
                        changes.Add("Subtype", Subtype);
                    }
                }
                else
                {
                    refInCache = this;

                    if (Name != null)
                    {
                        changes.Add("Name", Name);
                    }
                    if (Description != null)
                    {
                        changes.Add("Description", Description);
                    }
                    if (Sharing != null)
                    {
                        changes.Add("Sharing", Sharing);
                    }
                    if (Type != null)
                    {
                        changes.Add("Type", Type);
                    }
                    if (Subtype != null)
                    {
                        changes.Add("Subtype", Subtype);
                    }
                }
            }
            updatedElement = refInCache;
            return(changes);
        }