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); }
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(); }