Пример #1
0
 public static void FillNewsTypes(CreateNewsViewModel model)
 {
     model.NewsTypes = Enum.GetNames(typeof(NewsTypes.NewsCategory)).Select(category => new SelectListItem()
     {
         Text = category, Value = category
     });
 }
        public async Task <IActionResult> AddNews(CreateNewsViewModel model)
        {
            if (ModelState.IsValid)
            {
                string ImageUrl = "";
                if (model.Image != null)
                {
                    DropBoxManager dropBoxManager = new DropBoxManager(_configuration["DropBoxAccessToken"]);
                    ImageUrl = await dropBoxManager.Upload($"{model.CompanyName}/news", model.Image.FileName, model.Image);
                }

                News news = new News
                {
                    Text      = model.Text,
                    CompanyId = model.CompanyId,
                    Heading   = model.Heading,
                    Image     = ImageUrl,
                    Date      = DateTime.Now
                };
                _applicationContext.News.Add(news);
                await _applicationContext.SaveChangesAsync();

                return(RedirectToAction("Index", "Company", new { id = model.CompanyName }));
            }
            return(View(model));
        }
Пример #3
0
        public IActionResult Create()
        {
            CreateNewsViewModel createNewsViewModel = new CreateNewsViewModel();

            createNewsViewModel.Categories = new SelectList(_newsService.GetCategories(), "Id", "Title");
            return(View(createNewsViewModel));
        }
Пример #4
0
        private async Task <CreateNewsViewModel> getNewsModel(string Id)
        {
            var model = new CreateNewsViewModel();

            try
            {
                var newsFromCache = _cacheManager.Get <List <NewsModel> >("NewsItems").FirstOrDefault(n => n.Id == Id);

                if (newsFromCache != null)
                {
                    var json = SerializeObject(newsFromCache);
                    model = DeserializeObject <CreateNewsViewModel>(json);
                }
                else
                {
                    var responseBody = await _fileUploader.GetFileFromS3(@"News/NewsItems/" + Id + ".json");

                    model = DeserializeObject <CreateNewsViewModel>(responseBody);
                }

                var newsCategories = await GetNewsCategories();

                model.NewsCategories = newsCategories.Categories.Select(s => new SelectListItem {
                    Text = s.Name, Value = s.CategoryId.ToString()
                }).ToList();

                return(model);
            }
            catch (Exception ex)
            {
                //ignore
            }

            return(model);
        }
Пример #5
0
        public async Task <ActionResult> News(string id)
        {
            if (HttpContext.Session.GetString("Name") == null)
            {
                return(RedirectToAction("Create", "News"));
            }

            var model = new CreateNewsViewModel
            {
                Id             = Guid.NewGuid().ToString(),
                CreatedBy      = HttpContext.Session.GetString("Name"),
                CreatedDate    = DateTime.Today.ToShortDateString(),
                NewsCategories = _newsCategories.Categories.Select(s => new SelectListItem {
                    Text = s.Name, Value = s.CategoryId.ToString()
                }).ToList()
            };

            if (!string.IsNullOrEmpty(id))
            {
                model = await getNewsModel(id);
            }


            return(View(model));
        }
Пример #6
0
        public async Task <IActionResult> Create(CreateNewsViewModel model)
        {
            if (ModelState.IsValid)
            {
                var idToken = await HttpContext.GetTokenAsync("access_token");

                model.news.DatePublication   = DateTime.Now;
                model.news.estAffichePremier = false;
                model.news.ImageName         = createImage(model.news.Id, model.image);
                model.news.PublieParUserId   = User.Claims.FirstOrDefault(x => x.Type.ToString() == "sub").Value;

                try
                {
                    var result = await newsService.CreateNewstAsync(model.news, idToken);

                    return(RedirectToAction("ListeNews"));
                }
                catch (Exception ex)
                {
                    ErrorViewModel vme = new ErrorViewModel()
                    {
                        RequestId = ex.Message
                    };
                    return(View("Error", vme));
                }
            }
            return(View(model));
        }
Пример #7
0
        public async Task <IActionResult> CreateAsync(CreateNewsViewModel createNewsViewModel)
        {
            if (!ModelState.IsValid)
            {
                return(View(createNewsViewModel));
            }

            if (this.newsService.GetAll(x => x.Title == createNewsViewModel.Title).FirstOrDefault() != null)
            {
                string titleName = nameof(createNewsViewModel.Title);
                this.ModelState.AddModelError(titleName, string.Format("A news with this {0} already exists!", titleName));
                return(View(createNewsViewModel));
            }

            News newsDb = new News
            {
                Title   = createNewsViewModel.Title,
                Content = createNewsViewModel.Content,
                UserId  = this.GetCurrentUserId()
            };

            newsService.Save(newsDb);
            bool isSaved = await unitOfWork.CommitAsync();

            if (!isSaved)
            {
                TempData["ErrorMessage"] = "Ooops, something went wrong";
                return(View(createNewsViewModel));
            }

            TempData["SuccessMessage"] = "News created successfully!";
            return(RedirectToListAllActionInCurrentController());
        }
Пример #8
0
        public async Task <IActionResult> AddNews([FromBody] CreateNewsViewModel model)
        {
            var result = default(ApiResult);

            var news = new News
            {
                Description = model.Description,
                ImagePath   = model.ImagePath,
                PostDate    = model.PostDate,
                Title       = model.Title
            };

            try
            {
                await context.News.AddAsync(news);

                await context.SaveChangesAsync();

                result = ApiResult.CreateResult(ApiStatus.Ok, "News added");
            }
            catch (Exception ex)
            {
                result = ApiResult.CreateResult(ApiStatus.ApplicationError, ex.Message);

                return(this.GetActionResult(result));
            }

            return(this.GetActionResult(result));
        }
Пример #9
0
        // GET: ManageNews/Create
        public ActionResult Create()
        {
            var model = new CreateNewsViewModel();

            ManageNewsServices.FillNewsTypes(model);

            return(View(new HeaderedPageModel <CreateNewsViewModel>("Yeni Haber Oluştur", model)
            {
            }));
        }
Пример #10
0
        public async Task <IActionResult> Create()
        {
            var model = new CreateNewsViewModel()
            {
                Sources = new SelectList(await _rssSourceService.GetAllRssSourceAsync(false),
                                         "Id",
                                         "Name")
            };

            return(View(model));
        }
Пример #11
0
        public async Task <IActionResult> Create(CreateNewsViewModel input)
        {
            if (!this.ModelState.IsValid)
            {
                return(this.View(input));
            }

            var user = await this.UserManager.GetUserAsync(this.User);

            var news = await this.NewsService.CreateNews(input, user);

            return(this.RedirectToAction("GetNews"));
        }
        public ActionResult CreateNews(CreateNewsViewModel model)
        {
            _ctx.News.Add(new Models.EF.News
            {
                Description = model.Description,
                ImgUrl      = model.ImgUrl,
                RealeseDate = model.RealeseDate,
                Title       = model.Title
            });

            _ctx.SaveChanges();
            return(RedirectToAction("Index", "Home", new { area = "" }));
        }
Пример #13
0
        public ActionResult CreateNews(CreateNewsViewModel news)
        {
            if (!ModelState.IsValid)
            {
                return(View(news));
            }

            if (NewsService.Create(news.ToEntity()))
            {
                return(RedirectToAction("Index", "News"));
            }
            return(View());
        }
Пример #14
0
        public ActionResult Create(CreateNewsViewModel model)
        {
            _context.News.Add(new Models.Entity.News
            {
                Description = model.Description,
                ImageURL    = model.ImageURL,
                ReleaseDate = model.ReleaseDate,
                Title       = model.Title
            });

            _context.SaveChanges();
            return(RedirectToAction("Index", "Home"));
        }
        public IActionResult AddNews(string companyName)
        {
            Company company = _applicationContext.Companies.FirstOrDefault(c => c.Name.Equals(companyName));

            if (company == null || !IsItTheOwner(company.UserId))
            {
                return(RedirectToAction("Index", "Home"));
            }
            CreateNewsViewModel model = new CreateNewsViewModel {
                CompanyId = company.Id, CompanyName = company.Name
            };

            return(View(model));
        }
Пример #16
0
        public IActionResult Create(CreateNewsViewModel createNewsViewModel)
        {
            if (ModelState.IsValid)
            {
                News news = _mapper.Map <News>(createNewsViewModel);
                news.WriterId = _userManager.GetUserId(User);
                int newsId = _newsService.AddNews(news);

                return(RedirectToAction("Index", new { id = newsId }));
            }

            createNewsViewModel.Categories = new SelectList(_newsService.GetCategories(), "Id", "Title");
            return(View(createNewsViewModel));
        }
Пример #17
0
        public IActionResult Edit([FromRoute] int id, [FromForm] CreateNewsViewModel model)
        {
            News news = _context.news.FirstOrDefault(s => s.Id == id);

            if (news == null)
            {
                return(NotFound());
            }
            news.Title    = model.Title;
            news.Body     = model.Body;
            news.datetime = model.dateTime;
            _context.SaveChanges();

            return(RedirectToAction("index"));
        }
Пример #18
0
        public async Task <IActionResult> Insert(CreateNewsViewModel model)
        {
            if (!ModelState.IsValid)
            {
                return(Json(new
                {
                    status = 100, //you can see the datails of status code in ~/Global/statusCodes
                    errors = ModelState.Values.Where(e => e.Errors.Count > 0).ToList(),
                    message = "لطفا در وارد کردن اطلاعات دقت کنید"
                }));
            }
            var News = new tbl_News
            {
                Title        = model.Title,
                Abstract     = model.Abstract,
                Description  = model.Description,
                Photo        = model.Photo,
                IsDelete     = false,
                CreationDate = DateTime.Now
            };

            //todo sms verification
            try
            {
                await db.News.AddAsync(News);

                var result = await db.SaveChangesAsync();

                return(new JsonResult(new
                {
                    status = 200,     //you can see the datails of status code in Global/statusCode
                    error = 0,
                    message = "خبر با موفقیت اضافه شد"
                }));
            }
            catch (Exception e)
            {
                ModelState.AddModelError("", e.Message);
                return(new JsonResult(new
                {
                    status = 600, //you can see the datails of status code in ~/Global/statusCodes
                    errors = ModelState.Values.Where(e => e.Errors.Count > 0).ToList(),
                    message = "هنگام افزودن خبر مشکلی رخ داد لطفا بعدا تلاش کنید"
                }));
            }
        }
Пример #19
0
        public async Task <IActionResult> Edit(CreateNewsViewModel model)
        {
            try
            {
                if (ModelState.IsValid)
                {
                    News news = new News();
                    news = model.news;

                    var idToken = await HttpContext.GetTokenAsync("access_token");

                    if (model.PathLogo == null && news.ImageName != null)
                    {
                        deleteDirectory(news.Id.ToString());
                        news.ImageName = "";
                    }

                    if (model.image != null)
                    {
                        if (news.ImageName != null)
                        {
                            deleteFile(news.Id, news.ImageName);
                            news.ImageName = "";
                        }
                        news.ImageName = createImage(news.Id, model.image);
                    }

                    news.DatePublication = DateTime.Now;
                    news.PublieParUserId = User.Claims.FirstOrDefault(x => x.Type.ToString() == "sub").Value;

                    var result = newsService.UpdateNewsAsync(model.news, idToken);

                    return(RedirectToAction("ListeNews"));
                }
                return(View(model));
            }
            catch (Exception ex)
            {
                ErrorViewModel vme = new ErrorViewModel()
                {
                    RequestId = ex.Message
                };
                return(View("Error", vme));
            }
        }
Пример #20
0
        public IActionResult Edit([FromRoute] int id)
        {
            News news = _context.news.FirstOrDefault(s => s.Id == id);

            if (news == null)
            {
                return(NotFound());
            }

            CreateNewsViewModel model = new CreateNewsViewModel
            {
                Title    = news.Title,
                Body     = news.Body,
                dateTime = news.datetime
            };

            return(View(model));
        }
Пример #21
0
        public ActionResult CreateNews(CreateNewsViewModel model)
        {
            if (!ModelState.IsValid)
            {
                TempData["AddNewsStatus"] = "alert('標題長度限制為25字以內');";
            }
            else
            {
                var instance = Mapper.Map <CreateNewsViewModel, News>(model);
                var result   = newsService.CreateNews(instance);

                if (!result.Success)
                {
                    TempData["AddNewsStatus"] = "alert('新增失敗, 請稍後再試');";
                }
            }
            return(RedirectToAction("Index"));
        }
Пример #22
0
        public async Task <IActionResult> Create(CreateNewsViewModel model)
        {
            var imageNameToSave = Guid.NewGuid() + ".jpg";

            var role = await this.newsService.CreateNewsAsync(model.CreatedOn, model.Title, model.Text, imageNameToSave);

            using (var ms = new MemoryStream())
            {
                model.Image.CopyTo(ms);
                var uploads  = Path.Combine(this.hostingEnvironment.WebRootPath, "images");
                var filePath = Path.Combine(uploads, imageNameToSave);
                using (var fileStream = new FileStream(filePath, FileMode.Create))
                {
                    await model.Image.CopyToAsync(fileStream);
                }
            }

            return(this.RedirectToAction("Index", "News"));
        }
Пример #23
0
        public async Task <News> CreateNews(CreateNewsViewModel input, ApplicationUser user)
        {
            var uploadResult = await this.Cloudinary.UploadAsync(input.Image);

            var news = AutoMapperConfig.MapperInstance.Map <News>(input);

            news.ImageUrl = uploadResult;
            news.User     = user;
            news.UserId   = user.Id;
            news.User.News.Add(news);

            await this.NewsRepository.AddAsync(news);

            await this.NewsRepository.SaveChangesAsync();

            await this.UsersRepository.SaveChangesAsync();

            return(news);
        }
Пример #24
0
        public IActionResult Create([FromForm] CreateNewsViewModel model)
        {
            if (ModelState.IsValid)
            {
                News news = new News
                {
                    Title    = model.Title,
                    Body     = model.Body,
                    datetime = model.dateTime
                };
                _context.news.Add(news);
                _context.SaveChanges();

                return(RedirectToAction("index"));
            }


            return(View(model));
        }
Пример #25
0
        public ActionResult CreateNews(CreateNewsViewModel model, HttpPostedFileBase imageFile)
        {
            var category = context.Categories
                           .FirstOrDefault(x => x.Name.Equals(model.Category));

            var news = new News
            {
                Category = category,
                Content  = model.Content,
                Date     = DateTime.Parse(model.Date),
                Header   = model.Header
            };

            news.Image = ImageHelper.SaveImage(Server, imageFile, isNews: true);

            context.News.Add(news);

            context.SaveChanges();

            return(RedirectToAction(nameof(Index)));
        }
Пример #26
0
        public async Task <IActionResult> Aggregate(CreateNewsViewModel createNewsViewModel)
        {
            var rsssouses = await _rssSourceService.GetAllRssSourceAsync(false);

            var newInfos = new List <NewsInfoFromRssSourseDto>(); // without any duplicate

            foreach (var item in rsssouses)
            {
                if (/*item.Name.Equals("TUT.by")||*/ item.Name.Equals("Onliner") || item.Name.Equals("igromania") || item.Name.Equals("OON"))
                {
                    var newsList = await _newsService.GetNewsInfoFromRssSourse(item);

                    newInfos.AddRange(newsList);
                }
            }
            ;

            await _newsService.CreateManyNewsAsync(newInfos);

            return(RedirectToAction(nameof(Index)));
        }
Пример #27
0
        public async Task <IActionResult> CreateNews(CreateNewsViewModel model)
        {
            CreateViewModelForNews newModel = new CreateViewModelForNews();

            if (
                (model.Title != null) &&
                (model.Title != "") &&
                (model.Description != null) &&
                (model.Description != "")

                )
            {
                News news = new News()
                {
                    AuthorId    = model.AuthorId,
                    CompanyId   = model.CompanyId,
                    Title       = mark.Transform(model.Title),
                    Description = mark.Transform(model.Description),
                    Photo       = model.Photo,
                    ReleaseDate = DateTime.Now,
                    LastUpdate  = DateTime.Now
                };

                EntityEntry <News> e = await _context.News.AddAsync(news);

                _context.SaveChanges();
                News i = e.Entity;

                newModel = new CreateViewModelForNews()
                {
                    News      = i,
                    AuthorId  = i.AuthorId,
                    CompanyId = i.CompanyId,
                };
                news.Saved = true;
                _context.SaveChanges();
            }

            return(View("Create", newModel));
        }
Пример #28
0
        public async Task <IActionResult> Edit(Guid id)
        {
            try
            {
                CreateNewsViewModel model = new CreateNewsViewModel(TAILLEMAXPHOTO);
                model.news = await newsService.GetNewsAsync(id);

                if (model.news.ImageName != null)
                {
                    model.PathLogo = Path.Combine("\\", "img", "News", model.news.Id.ToString(), "Image", model.news.ImageName);
                }

                return(View(model));
            }
            catch (Exception ex)
            {
                ErrorViewModel vme = new ErrorViewModel()
                {
                    RequestId = ex.Message
                };
                return(View("Error", vme));
            }
        }
Пример #29
0
        public IActionResult Create()
        {
            var model = new CreateNewsViewModel();

            return(this.View(model));
        }
Пример #30
0
        public async Task <IActionResult> Create(CreateNewsViewModel createNewsViewModel)
        {
            var a = await _rssSourceService.GetAllRssSourceAsync(false);//

            return(RedirectToAction(nameof(Index)));
        }