示例#1
0
        public static void AddCreative(Creative creative, string tags)
        {
            var entity = new CreativeNetworkEntities();
            if (tags != null)
            {
                string[] tagList = tags.Split(new Char[] { ' ', ',' });

                foreach (var item in tagList.Distinct())
                {
                    if (string.IsNullOrEmpty(item) || item.Length > 50) continue;
                    var tag = new Tag
                    {
                        Name = item,
                    };
                    tag.Name = tag.Name.TrimEnd().ToLower();
                    if (entity.Tag.FirstOrDefault(a => a.Name == tag.Name) != null)
                    {
                        tag = entity.Tag.FirstOrDefault(a => a.Name == tag.Name);
                    }
                    else
                    {
                        entity.Tag.Add(tag);
                    }
                    creative.Tag.Add(tag);
                    var ers = entity.GetValidationErrors();
                    entity.SaveChanges();
                }
            }
            entity.Creative.Add(creative);
            var s = entity.GetValidationErrors();
            entity.SaveChanges();
        }
        private static void _addToLuceneIndex(Creative creative, IndexWriter writer)
        {
            // remove older index entry
            var searchQuery = new TermQuery(new Term("Id", creative.Id.ToString()));
            writer.DeleteDocuments(searchQuery);

            // add new index entry
            var doc = new Document();

            // add lucene fields mapped to db fields
            doc.Add(new Field("Id", creative.Id.ToString(), Field.Store.YES, Field.Index.NOT_ANALYZED));
            doc.Add(new Field("Title", creative.Title, Field.Store.YES, Field.Index.ANALYZED));
            doc.Add(new Field("Description", creative.ShortDescription, Field.Store.YES, Field.Index.ANALYZED));

            // add entry to index
            writer.AddDocument(doc);
        }
示例#3
0
        public static void Rate(User user, Creative creative, int rating)
        {
            var entity = new CreativeNetworkEntities();

            var creativeLikes = entity.CreativeLikes.FirstOrDefault(a => a.UserId == user.Id && a.CreativeId == creative.Id);
            if (creativeLikes != null)
            {
                if (creativeLikes.Rating == rating)
                {
                    entity.CreativeLikes.Remove(creativeLikes);
                    entity.SaveChanges();
                    return;
                }
                else
                {
                    entity.CreativeLikes.Remove(creativeLikes);
                }
            }

            var newRate = new CreativeLikes()
            {
                UserId = user.Id,
                CreativeId = creative.Id,
                Rating = rating,
            };
            entity.CreativeLikes.Add(newRate);

            entity.SaveChanges();
        }