Exemple #1
0
        public PostFactory(
            IDateService dateService,
            IUserContext userContext,
            IPostRepository postRepository,
            ITagRepository tagRepository,
            ITagFactory tagFactory,
            IWebsiteInfo websiteInfo
            )
        {
            dateService.CheckArgumentIsNull();
            _dateService = dateService;

            userContext.CheckArgumentIsNull();
            _userContext = userContext;

            postRepository.CheckArgumentIsNull();
            _postRepository = postRepository;

            tagRepository.CheckArgumentIsNull(nameof(tagRepository));
            _tagRepository = tagRepository;

            tagFactory.CheckArgumentIsNull(nameof(tagFactory));
            _tagFactory = tagFactory;

            websiteInfo.CheckArgumentIsNull(nameof(websiteInfo));
            _websiteInfo = websiteInfo;
        }
Exemple #2
0
 public MetaDataFactory(IPathTransformer pathTransformer
                        , ITagFactory tagFactory
                        )
 {
     this.pathTransformer = pathTransformer;
     this.tagFactory      = tagFactory;
 }
 private void AddTag(string name, ITagFactory factory)
 {
     if (REGISTERED_TAGS.ContainsKey(name))
     {
         throw TagException.DuplicateTag(name, REGISTERED_TAGS.Keys.ToArray());
     }
     REGISTERED_TAGS.Add(factory.Name, factory);
 }
Exemple #4
0
        public static async Task <List <Tag> > CreateTagsAsync(this ITagFactory tagFactory, IEnumerable <string> englishNames)
        {
            var tags = new List <Tag>();

            foreach (var name in englishNames)
            {
                tags.Add(await tagFactory.CreateTagAsync(name));
            }
            return(tags);
        }
Exemple #5
0
 public SpiralLayouter(Point center, ITagFactory tagFactory)
 {
     if (center.X < 0 || center.Y < 0)
     {
         throw new ArgumentException($"Center point must have positive coordinates. Actual is {center}");
     }
     this.center     = center;
     this.tagFactory = tagFactory;
     spiral          = GenerateSpiral(center);
 }
Exemple #6
0
        public HFile(IDatabase database, IFileHasher hasher, ITagFactory tagFactory, HFileState state)
        {
            _state = state;

            _database   = database;
            _hasher     = hasher;
            _tagFactory = tagFactory;

            _hash   = new Lazy <FileHash>(() => _hasher.GetHash(_state));
            _stream = new Lazy <Stream>(() => File.OpenRead(Location));
        }
Exemple #7
0
        public static SpiralLayouter GetRandomLayouter(int canvasSideLength, ITagFactory factory)
        {
            var halfLength   = canvasSideLength / 2;
            var fourthLength = canvasSideLength / 4;
            var center       = new Point(halfLength, halfLength);
            var size         = new Size(fourthLength, fourthLength);

            return(new SpiralLayouter(
                       GetRandomPoint(DrawingExtensions.CreateRectangleWithCenter(center, size)),
                       factory));
        }
Exemple #8
0
 public WebApiDataService(IJournalEntryFactory journalEntryFactory, IDoseFactory doseFactory, INutritionalInfoFactory nutritionalInfoFactory, ITagFactory tagFactory)
 {
     this.client = new HttpClient();
     client.DefaultRequestHeaders.Add("apikey", "2367b17e3d83bcf1b93dab840aa24d62");
     client.DefaultRequestHeaders.Accept.Add(new System.Net.Http.Headers.MediaTypeWithQualityHeaderValue("application/json"));
     System.Net.ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12 | SecurityProtocolType.Tls11 | SecurityProtocolType.Tls;
     client.BaseAddress          = new Uri($"{Resources.ApiBackendUrl}/");
     this.journalEntryFactory    = journalEntryFactory;
     this.doseFactory            = doseFactory;
     this.nutritionalInfoFactory = nutritionalInfoFactory;
     this.tagFactory             = tagFactory;
 }
        public TemplateParser(ITagFactory tagFactory, IReflector reflector, IFilterRunner filterRunner)
        {
            if (tagFactory == null)
                throw new ArgumentNullException("tagFactory", "tagFactory may not be null");
            this.tagFactory = tagFactory;

            if (reflector == null)
                throw new ArgumentNullException("reflector");
            this.reflector = reflector;

            if (filterRunner == null)
                throw new ArgumentNullException("filterRunner");
            this.filterRunner = filterRunner;
        }
        public static ImpressionEngine Create(string templatePath, IPropertyBag bag, ITemplateCache templateCache)
        {
            // create container and register it, in itself
            IContainer container = new Container();

            container.Register <IContainer>(delegate { return(container); });

            // singleton objects, only create once
            IReflector    reflector    = null;
            IFilterRunner filterRunner = null;
            ITagFactory   tagFactory   = null;

            container.Register <ITemplateCache>(delegate { return(templateCache); });
            container.Register <IReflector>(delegate { if (reflector == null)
                                                       {
                                                           reflector = new Reflector();
                                                       }
                                                       return(reflector); });
            container.Register <IFilterRunner>(delegate { if (filterRunner == null)
                                                          {
                                                              filterRunner = new FilterRunner();
                                                          }
                                                          return(filterRunner); });
            container.Register <ITagFactory>(delegate { if (tagFactory == null)
                                                        {
                                                            tagFactory = container.Resolve <TagFactory>();
                                                        }
                                                        return(tagFactory); });

            // instance scoped, create new each time
            container.Register <ITemplateParser, TemplateParser>();

            ImpressionEngine ie = container.Resolve <ImpressionEngine>();

            if (!string.IsNullOrEmpty(templatePath))
            {
                ie.LoadTemplate(templatePath, true);
            }

            if (bag != null)
            {
                ie.LoadBag(bag);
            }

            return(ie);
        }
Exemple #11
0
        public TagBuilder()
        {
            Assembly asm = Assembly.GetExecutingAssembly();

            foreach (Type t in asm.GetTypes())
            {
                object[] attrs = t.GetCustomAttributes(typeof(TagFactoryForAttribute), false);
                if (attrs.Length == 0)
                {
                    continue;
                }

                ConstructorInfo[] ctors   = t.GetConstructors();
                ITagFactory       factory = ctors[0].Invoke(new object[] { }) as ITagFactory;
                foreach (TagFactoryForAttribute attr in attrs)
                {
                    m_factories[attr.EventType] = factory;
                }
            }
        }
        public TemplateParser(ITagFactory tagFactory, IReflector reflector, IFilterRunner filterRunner)
        {
            if (tagFactory == null)
            {
                throw new ArgumentNullException("tagFactory", "tagFactory may not be null");
            }
            this.tagFactory = tagFactory;

            if (reflector == null)
            {
                throw new ArgumentNullException("reflector");
            }
            this.reflector = reflector;

            if (filterRunner == null)
            {
                throw new ArgumentNullException("filterRunner");
            }
            this.filterRunner = filterRunner;
        }
Exemple #13
0
		public virtual void SyncVotes(User user, string[] tagNames, Dictionary<string, Tag> allTags, ITagFactory tagFactory, ITagUsageFactory<T> tagUsageFactory,
			bool onlyAdd = false) {

			var newTags = tagNames.Where(t => !allTags.ContainsKey(t));

			foreach (var tag in newTags) {
				var newTag = tagFactory.CreateTag(tag);
				allTags.Add(newTag.Name, newTag);
			}

			tagNames = tagNames.Select(t => allTags[t].ActualTag.Name).Distinct().ToArray();
			var tagUsagesDiff = CollectionHelper.Diff(Usages, tagNames, (t1, t2) => t1.Tag.Name.Equals(t2, StringComparison.InvariantCultureIgnoreCase));

			foreach (var newUsageName in tagUsagesDiff.Added) {
				var tag = allTags[newUsageName];
				var newUsage = tagUsageFactory.CreateTagUsage(tag);
				Usages.Add(newUsage);
				newUsage.CreateVote(user);
			}

			if (!onlyAdd) {
				foreach (var removedTag in tagUsagesDiff.Removed) {

					removedTag.RemoveVote(user);

					if (removedTag.Count <= 0)
						Usages.Remove(removedTag);

				}				
			}

			foreach (var updated in tagUsagesDiff.Unchanged) {

				updated.CreateVote(user);

			}

		}
Exemple #14
0
 public TagExtractor(ITagFactory tagFactory)
 {
     _tagFactory = tagFactory;
 }
Exemple #15
0
 /// <summary>
 /// 變更要處理的ITag
 /// </summary>
 /// <param name="tag">tag名稱</param>
 public void ChangeTag(string tag)
 {
     ITag = ITagFactory.CreateITag(tag);
 }
Exemple #16
0
 public static void RegisterTagFactory(ITagFactory tagFactory)
 {
     Tags[tagFactory.TagName] = new Tuple <ITagFactory, Type>(tagFactory, null);
 }
Exemple #17
0
 public TagService(IRepository <Tag> tag, ITagFactory tagFactory)
 {
     _tag        = tag ?? throw new ArgumentNullException(nameof(tag));
     _tagFactory = tagFactory ?? throw new ArgumentNullException(nameof(tagFactory));
 }
Exemple #18
0
 public HFileFactory(IDatabase database, IFileHasher hasher, ITagFactory tagFactory)
 {
     _database   = database;
     _hasher     = hasher;
     _tagFactory = tagFactory;
 }
 public void Register(ITagFactory factory)
 {
     AddTag(factory.Name, factory);
 }
Exemple #20
0
 public TagRespository(IDatabase database, ITagFactory tagFactory)
 {
     _database   = database;
     _tagFactory = tagFactory;
 }