Ejemplo n.º 1
0
        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));
        }
Ejemplo n.º 2
0
        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;
        }