예제 #1
0
        public void EditNewNewsItem(NewsItemViewModel model, ClaimsPrincipal author)
        {
            var entity = _newsService.GetNewsItem(model.Id);

            ReplaceImg(model);
            var user = _usersService.GetUserBySystemName(author);

            entity.Header         = model.Header;
            entity.LastChangeDate = DateTime.Now;

            entity.LastChangeAuthorFio = user.FullName;
            entity.LastChangeAuthorId  = user.Id;

            entity.Description = model.Description;
            List <IFormFile> httpPostedFile  = new List <IFormFile>();
            List <IFormFile> httpCurrentFile = new List <IFormFile>();

            foreach (var file in entity.Files.ToList())
            {
                var element = model.UploadedFiles.FirstOrDefault(s => s.Name.Contains(file.Name));

                if (element != null)
                {
                    httpCurrentFile.Add(element);
                    continue;
                }

                _fileProvider.DeleteFile(file.DownloadUrl);
                _downloadService.DeleteDownload(file);
            }

            _newsService.UpdateNews(entity);

            foreach (var file in model.UploadedFiles.ToList())
            {
                if (!httpCurrentFile.Any(a => a == file))
                {
                    httpPostedFile.Add(file);
                }
            }
            //uploadFiles
            UploadFiles(httpPostedFile, entity.Id);
        }
예제 #2
0
        public void DeleteNewsItem(string id)
        {
            var item = _newsService.GetNewsItem(id);

            _newsService.DeleteNews(item);

            foreach (var file in item.Files)
            {
                _downloadService.DeleteDownload(file);
            }
        }