public override void Add(Game item, string cultureCode) { AssignIdIfEmpty(item); if (item.Genres == null) { item.Genres = item.NameGenres != null?_genreRepository.LoadDomainEntities(item.NameGenres) : _genreRepository.Get(genre => genre.Locals.Any(z => z.Name == "Other")).ToList(); } item.PlatformTypes = item.NamePlatformTypes != null?_platformRepository.LoadDomainEntities(item.NamePlatformTypes) : null; if (item.Publisher != null) { item.Publisher = _publisherRepository.GetItemById(item.Publisher.Id); } if (!item.Locals.Any()) { item.Locals = new List <GameLocal>() { new GameLocal() { Culture = new Culture() { Code = cultureCode }, Description = item.Description } }; } _gameRepository.Add(item); UnitOfWork.Save(); Logger.Write(Operation.Insert, item); }
public virtual void Update(TDomain item, string cultureCode) { _genericRepository.Update(item); UnitOfWork.Save(); var updatedItem = _genericRepository.GetItemById(item.Id); Logger.Write(Operation.Update, item, updatedItem); }
public override void Add(User user, string cultureCode) { AssignIdIfEmpty(user); if (user.IdRoles != null) { user.Roles = user.IdRoles.Select(x => new Role() { RoleEnum = (RoleEnum)Enum.Parse(typeof(RoleEnum), x) }); } if (user.Publisher != null) { user.Publisher = _publisherRepository.GetItemById(user.Publisher.Id); } _userRepository.Add(user); UnitOfWork.Save(); }
private void AddChildren(Comment node, IDictionary <string, List <Comment> > source) { if (node.ParentCommentId != null) { node.ParentComment = _commentRepository.GetItemById(node.ParentCommentId); } if (source.ContainsKey(node.Id)) { node.Comments = source[node.Id]; foreach (var x in node.Comments) { AddChildren(x, source); } } else { node.Comments = new List <Comment>(); } }
public void AddViewToGame(string key, string cultureCode) { var game = _gameRepository.First(x => x.Key == key); if (game != null) { if (game.IsSqlEntity == false) { Add(game, cultureCode); game = _gameRepository.First(x => x.Key == key); } var gameInfo = _gameInfoRepository.GetItemById(game.Id); gameInfo.CountOfViews++; gameInfo.Game = null; _gameInfoRepository.Update(gameInfo); UnitOfWork.Save(); var updatedGame = _gameRepository.GetItemById(game.Id); Logger.Write(Operation.Update, game, updatedGame); } }
public virtual TDomain GetItemById(string id) { var domain = SqlDataRepository.GetItemById(id) ?? MongoDataRepository.GetItemById(id); return(domain); }