Esempio n. 1
0
        public ActionResult Create()
        {
            ArticleModelFactory articleModelFactory = new ArticleModelFactory();
            ArticleCreateModel  model = articleModelFactory.LoadCreate();

            return(View(model));
        }
Esempio n. 2
0
        public ActionResult Create(ArticleCreateModel request)
        {
            ArticleModelFactory articleModelFactory = new ArticleModelFactory();
            ArticleCreateModel  model = ModelState.IsValid ? articleModelFactory.ArticleCreate(request) : articleModelFactory.LoadCreate();

            return(CheckViewModel(model));
        }
Esempio n. 3
0
        public async Task <IActionResult> MyCreate(ArticleCreateModel articleCreateModel)
        {
            if (ModelState.IsValid)
            {
                if (articleCreateModel.ArticleImage != null)
                {
                    var imgId = Guid.NewGuid();
                    await DownloadFile(articleCreateModel.ArticleImage, $"{imgId}.jpg");

                    articleCreateModel.Article.ImageId = imgId;
                }
                articleCreateModel.Article.DateOfCreation = DateTime.Now;
                if (articleCreateModel.Article.IsPublish)
                {
                    articleCreateModel.Article.DateOfPublication = DateTime.Now;
                }
                articleCreateModel.Article.Id = Guid.NewGuid();
                _context.Add(articleCreateModel.Article);
                await _context.SaveChangesAsync();
                await AddAuthors(articleCreateModel.ArticleAuthors, articleCreateModel.Article.Id);

                return(RedirectToAction(nameof(Index)));
            }
            return(View(articleCreateModel));
        }
Esempio n. 4
0
        public IActionResult MyCreate()
        {
            var articleCreateModel = new ArticleCreateModel();
            var admins             = new List <SelectListItem>();

            admins.AddRange(_context.Admins.Select(admin => new SelectListItem
            {
                Value = admin.Id.ToString(),
                Text  = $"first name - {admin.FirstName}, last nane - {admin.LastName}, id - {admin.Id}"
            }).ToList());
            articleCreateModel.Admins = admins;

            var subtopics = new List <SelectListItem>();

            subtopics.AddRange(_context.SubTopics.Select(subtopic => new SelectListItem
            {
                Value = subtopic.Id.ToString(),
                Text  = $"subtopic - {subtopic.Value}, topic - {subtopic.Topic.Value}"
            }).ToList());
            articleCreateModel.SubTopics = subtopics;

            var authors = new List <SelectListItem>();

            authors.AddRange(_context.Authors.Select(author => new SelectListItem
            {
                Value = author.Id.ToString(),
                Text  = $"first name - {author.FirstName}, last name - {author.LastName} id - {author.Id}"
            }).ToList());
            articleCreateModel.Authors = authors;
            articleCreateModel.Article = new Article();

            ViewData["AdminId"]    = new SelectList(_context.Admins, "Id", "Id");
            ViewData["SubTopicId"] = new SelectList(_context.SubTopics, "Id", "Id");
            return(View(articleCreateModel));
        }
Esempio n. 5
0
        public async Task <IActionResult> CreateArticle([FromBody] ArticleCreateModel model)
        {
            var result = await _articleService.CreateArticle(_mapper.Map <ArticleDTO>(model), Request.GetToken());

            return(CreatedAtAction(nameof(GetArticleById), new
            {
                id = result.Id
            }, result));
        }
Esempio n. 6
0
        public async Task <IActionResult> CreateArticle(ArticleCreateModel model)
        {
            var command = new CreateArticleCommand(model.Content, model.Description, model.ImageUrl, model.Language,
                                                   model.Language,
                                                   model.Title, model.Type, model.AuthorId);
            var response = await _mediator.Send(command);

            return(response.ToActionResult());
        }
Esempio n. 7
0
        public ArticleCreateModel LoadCreate()
        {
            ArticleCreateModel articleCreateModel = new ArticleCreateModel();
            LanguageBusiness   languageBusiness   = new LanguageBusiness();

            IEnumerable <Language> languageList = languageBusiness.LanguageList();

            articleCreateModel.LanguageList = new SelectList(languageList, "ID", "Name");

            return(articleCreateModel);
        }
Esempio n. 8
0
        public ArticleCreateModel ArticleCreate(ArticleCreateModel request)
        {
            ArticleCreateModel articleCreateModel = new ArticleCreateModel();

            LanguageBusiness languageBusiness = new LanguageBusiness();
            ArticleBusiness  articleBusiness  = new ArticleBusiness();

            IEnumerable <Language> languageList = languageBusiness.LanguageList();

            articleCreateModel.LanguageList = new SelectList(languageList, "ID", "Name", request.LanguageID);


            bool existLanguage = languageBusiness.ExistLanguage(request.LanguageID);

            if (!existLanguage)
            {
                articleCreateModel.Alerts.AlertList.Add("Dil bulunamadı!");
                articleCreateModel.Alerts.AlertType = Model.Base.Alerts.AlertTypes.Error;

                return(articleCreateModel);
            }
            else
            {
                bool existSeoName = articleBusiness.ExistSeoName(request.SeoName);

                if (existSeoName)
                {
                    articleCreateModel.Alerts.AlertList.Add("Seo adı daha önce kullanılmış!");
                    articleCreateModel.Alerts.AlertType = Model.Base.Alerts.AlertTypes.Error;

                    return(articleCreateModel);
                }
                else
                {
                    try
                    {
                        ArticleTranslation articleTranslation = articleBusiness.CreateArticleTranslation(request.LanguageID, request.Name, request.SeoName, request.SeoKeyword, request.SeoDescription, request.ShortText, request.LongText, request.Picture, request.ArticleType);

                        articleCreateModel.Alerts.AlertList.Add("İçerik başarıyla eklendi");
                        articleCreateModel.RedirectURL      = "/Management/Article/Index";
                        articleCreateModel.Alerts.AlertType = Model.Base.Alerts.AlertTypes.Success;
                    }
                    catch (Exception ex)
                    {
                        articleCreateModel.Alerts.AlertList.Add("İçerik kaydedilemedi [ " + ex.Message + " ]");
                        articleCreateModel.Alerts.AlertType = Model.Base.Alerts.AlertTypes.Error;
                    }
                }
            }

            return(articleCreateModel);
        }
Esempio n. 9
0
        public async Task <IActionResult> AddArticle([FromBody] ArticleCreateModel articleCreateModel)
        {
            try
            {
                if (!ModelState.IsValid)
                {
                    return(BadRequest());
                }

                var article = Mapper.Map <ArticleCreateModel, Article>(articleCreateModel);
                article.UserId = 1;
                article.Status = Status.Active;
                await _articleService.AddArticle(article);

                return(Ok(ModelFactory.CreateModel(article)));
            }
            catch (Exception)
            {
                return(BadRequest());
            }
        }
        public async Task <IActionResult> CreateArticle(ArticleCreateModel model)
        {
            if (ModelState.IsValid)
            {
                string[]   tags        = model.Tags.Split(',');
                List <Tag> articleTags = new List <Tag>();
                foreach (var tag in tags)
                {
                    Tag t = await _dbContext.Tags.FirstOrDefaultAsync(x => x.Name.ToLower() == tag.Trim().ToLower());

                    articleTags.Add(t);
                }

                List <PostImage> postImages = new List <PostImage>();
                if (model.Files != null)
                {
                    foreach (var file in model.Files)
                    {
                        PostImage img = new PostImage()
                        {
                            Path = Path.Combine("/images/posts", file.FileName)
                        };
                        postImages.Add(img);
                        await _dbContext.Images.AddAsync(img);

                        await Uploader.UploadToServer(new Uploader(_hostingEnvironment).DefinePostImagePath(file), file);
                    }
                }
                Article article = new Article()
                {
                    Header       = model.Header,
                    Text         = model.Description,
                    CreationDate = DateTime.Now,
                    Faculty      = GetUserFaculty(this.GetLoggedUser(_dbContext)),
                    User         = this.GetLoggedUser(_dbContext),
                    PostImages   = postImages
                };

                List <TagPost> artTags = new List <TagPost>();
                foreach (var tag in articleTags)
                {
                    artTags.Add(new TagPost()
                    {
                        Post = article, Tag = tag
                    });
                }

                article.TagPosts = artTags;

                if (await _dbContext.Articles.AddAsync(article) != null)
                {
                    if (await _dbContext.SaveChangesAsync() > 0)
                    {
                        ArticleViewModel viewModel = new ArticleViewModel(article);
                        if (article.User.UserType == "Student")
                        {
                            viewModel.StudentGroup = GetUserGroup(article.User.Email, _dbContext);
                        }
                        return(Json(viewModel));
                    }
                }
                else
                {
                    return(Json("Error adding new article"));
                }
            }
            else
            {
                return(Json("Wrong model"));
            }
            return(Ok());
        }
Esempio n. 11
0
 public ArticleDetailModel CreateArticle([FromBody] ArticleCreateModel article)
 {
     return(_articleService.AddArticle(article));
 }