public Task <OperationStatus> UpdateFeaturedContents(IEnumerable <AdminEntityDetails> contents, long userId, int?categoryId) { OperationStatus status = null; try { // TODO: To find a better way of updating and deleting the featured contents. if (_userRepository.IsSiteAdmin(userId)) { IEnumerable <FeaturedContents> results; if (categoryId.HasValue) { results = _featuredContentsRepository.GetItems(fc => fc.CategoryID == categoryId, null, false); } else { results = _featuredContentsRepository.GetItems(fc => int.Equals(fc.CategoryID, categoryId), null, false); } if (results != null && results.Any()) { foreach (var item in results) { _featuredContentsRepository.Delete(item); } } if (contents != null && contents.Any()) { foreach (var item in contents) { var content = new FeaturedContents() { CategoryID = categoryId, ContentID = item.EntityID, SortOrder = item.SortOrder, UpdatedByID = userId, UpdatedDatetime = DateTime.UtcNow }; _featuredContentsRepository.Add(content); } } _featuredContentsRepository.SaveChanges(); } else { status = OperationStatus.CreateFailureStatus(Resources.UserNotSiteAdminError); } } catch (Exception exception) { status = OperationStatus.CreateFailureStatus(exception); } status = status ?? OperationStatus.CreateSuccessStatus(); return(Task.FromResult(status)); }
public async Task<OperationStatus> UpdateFeaturedContents(IEnumerable<AdminEntityDetails> contents, long userId, int? categoryId) { OperationStatus status = null; try { // TODO: To find a better way of updating and deleting the featured contents. if (_userRepository.IsSiteAdmin(userId)) { IEnumerable<FeaturedContents> results; if (categoryId.HasValue) { results = _featuredContentsRepository.GetItems(fc => fc.CategoryID == categoryId, null, false); } else { results = _featuredContentsRepository.GetItems(fc => int.Equals(fc.CategoryID, categoryId), null, false); } if (results != null && results.Any()) { foreach (var item in results) { _featuredContentsRepository.Delete(item); } } if (contents != null && contents.Any()) { foreach (var item in contents) { var content = new FeaturedContents() { CategoryID = categoryId, ContentID = item.EntityID, SortOrder = item.SortOrder, UpdatedByID = userId, UpdatedDatetime = DateTime.UtcNow }; _featuredContentsRepository.Add(content); } } _featuredContentsRepository.SaveChanges(); } else { status = OperationStatus.CreateFailureStatus(Resources.UserNotSiteAdminError); } } catch (Exception exception) { status = OperationStatus.CreateFailureStatus(exception); } status = status ?? OperationStatus.CreateSuccessStatus(); return status; }