コード例 #1
0
        public void Edit(EditArticle command)
        {
            var article = _articleRepository.Get(command.Id);

            article.Edit(command.Title, command.Image, command.ShortDescription, command.Content, command.ArticleCategoryId);
            _articleRepository.Save();
        }
コード例 #2
0
        public ActionResult Edit(EditArticle editArticle, string[] names)
        {
            if (!ModelState.IsValid)
            {
                return(View(editArticle));
            }

            var article = _articleService.Get(editArticle.Id);

            _mapper.Map(editArticle, article);

            if (names != null)
            {
                article.Tags.Clear();
                _articleService.GetArticlesWithTags(article, names);
            }
            else
            {
                article.Tags = _articleService.GetTags(article.Id).ToList();
            }

            _articleService.Update(article);

            return(RedirectToAction("GetArticles", "Article", new { area = "" }));
        }
コード例 #3
0
        public ActionResult Create(EditArticle model, HttpPostedFileBase uploadImage)
        {
            Article article = new Article();

            if (ModelState.IsValid)
            {
                byte[] imageData = null;

                if (uploadImage != null)
                {
                    // считываем переданный файл в массив байтов
                    using (var binaryReader = new BinaryReader(uploadImage.InputStream))
                    {
                        imageData = binaryReader.ReadBytes(uploadImage.ContentLength);
                    }
                }
                if (article != null)
                {
                    article.Picture    = imageData;
                    article.Caption    = model.Caption;
                    article.DateOrd    = DateTime.Now;
                    article.ArtTxt     = model.ArtTxt;
                    article.CategoryId = model.CategoryId;
                    article.TypeId     = model.TypeId;
                }
                db.Entry(article).State = EntityState.Added;
                db.SaveChanges();
                return(RedirectToAction("List"));
            }
            return(View(model));
        }
コード例 #4
0
        public OperationResult Edit(EditArticle command)
        {
            OperationResult operationResult = new OperationResult();
            var             Article         = _articleRepo.GetWithCategory(command.Id);

            if (Article == null)
            {
                return(operationResult.Failed(ApplicationMessage.recordNotFound));
            }
            if (_articleRepo.Exists(c => c.Title == command.Title && c.Id != command.Id))
            {
                return(operationResult.Failed(ApplicationMessage.duplicated));
            }

            var slug    = command.Slug.Slugify();
            var path    = $"{Article.ArticleCategory.Slug}/{slug}";
            var PicName = _fileUploader.Upload(command.Picture, path);

            Article.Edit(command.Title, command.ShortDescription, command.Description, PicName, command.PictureAlt, command.PictureTitle,
                         slug, command.KeyWords, command.MetaDescription, command.CanonicalAddress,
                         command.PublishDate.ToGeorgianDateTime(),
                         command.CategoryId);

            _articleRepo.Save();

            return(operationResult.Succeeded());
        }
コード例 #5
0
        public OperationResult Edit(EditArticle command)
        {
            var operation = new OperationResult();
            var article   = _articleRepository.GetWithCategory(command.CategoryId);

            if (_articleRepository == null)
            {
                return(operation.Failed(ApplicationMessages.RecordNotFound));
            }
            //if (_articleRepository.Exist(x => x.Id != command.Id))
            //{
            //    return operation.Failed(ApplicationMessages.DuplicatedRecord);
            //}

            var slug         = command.Slug.Slugify();
            var categorySlug = _articleCategoryRepository.GetSlugBy(command.CategoryId);
            var publishDate  = command.PublishDate.ToGeorgianDateTime();
            var path         = $"{"Blog"}/{article.ArticleCategory.Slug}/{slug}";
            var fileName     = _fileUploader.Upload(command.Picture, path);

            article.Edit(command.Title, fileName, command.PictureAlt, command.PictureTitle,
                         command.ShortDescription, command.Description, slug, command.Keywords, command.MetaDescription,
                         command.CanonicalAddress, command.CategoryId, publishDate);

            _articleRepository.SaveChanges();

            return(operation.Succedded());
        }
コード例 #6
0
        public void Edit(EditArticle Edit)
        {
            var Article = _articleRepo.GetArticleById(Edit.Id);

            Article.Edit(Edit.Title, Edit.ShortDescription, Edit.Image, Edit.Content, Edit.ArticleCategoryId);
            _articleRepo.Save();
        }
コード例 #7
0
        public ActionResult Edit(EditArticle model, HttpPostedFileBase uploadImage)
        {
            Article article = db.Articles.First(o => o.Id == model.Id);

            if (article != null)
            {
                byte[] imageData = null;

                if (uploadImage != null)
                {
                    // считываем переданный файл в массив байтов
                    using (var binaryReader = new BinaryReader(uploadImage.InputStream))
                    {
                        imageData = binaryReader.ReadBytes(uploadImage.ContentLength);
                    }
                    article.Picture = imageData;
                }
                article.Caption    = model.Caption;
                article.ArtTxt     = model.ArtTxt;
                article.CategoryId = model.CategoryId;
                article.TypeId     = model.TypeId;
            }
            db.Entry(article).State = EntityState.Modified;
            db.SaveChanges();
            return(RedirectToAction("List"));
        }
コード例 #8
0
        public OperationResult Edit(EditArticle command)
        {
            var operation = new OperationResult();
            var article   = _articleRepository.GetWithCategory(command.Id);

            if (article == null)
            {
                return(operation.Failed(ApplicationMessage.RecordNotFound));
            }

            if (_articleRepository.Exists(x => x.Title == command.Title && x.Id != command.Id))
            {
                return(operation.Failed(ApplicationMessage.DuplicatedRecord));
            }
            var slug        = command.Slug.Slugify();
            var publishDate = command.PublishDate.ToGeorgianDateTime();
            var path        = $"{article.Category.Slug}/{slug}";
            var pictureName = _fileUploader.Upload(command.Picture, path);

            article.Edit(command.Title, command.ShortDescription, command.Description, pictureName, command.PictureAlt,
                         command.PictureTitle, publishDate, slug, command.MetaDescription, command.Keyword, command.CanonialAddress, command.CategoryId);

            _articleRepository.SaveChanges();
            return(operation.Succedded());
        }
コード例 #9
0
 public void EditArticle(EditArticle editArticle)
 {
     this.CreatedArticle.Click();
     this.EditButton.Click();
     Type(this.Title, editArticle.Title);
     Type(this.Content, editArticle.Content);
     this.Edit.Click();
 }
コード例 #10
0
        public void Edit(EditArticle command)
        {
            _unitOfWork.BeginTran();
            var article = _articleRepository.Get(command.Id);

            article.Edit(command.Title, command.ShortDescription,
                         command.Image, command.Content, command.ArticleCategoryId);
            _unitOfWork.CommitTran();
        }
コード例 #11
0
        public ActionResult Edit(EditArticle model)
        {
            var sanitizer        = new HtmlSanitizer();
            var sanitizedContent = sanitizer.Sanitize(model.Content);

            this.service.ChangeByAdmin(model.Id, model.Title, int.Parse(model.CategoryId), sanitizedContent);

            return(RedirectToAction("Index"));
        }
コード例 #12
0
        public ActionResult Edit(int id)
        {
            EditArticle model = this.Mapper.Map <EditArticle>(this.service.GetById(id));

            model.Categories = this.articleCategoryService.All().Select(x => new SelectListItem()
            {
                Text = x.Name, Value = x.Id.ToString(), Selected = (model.CategoryId == x.Id.ToString())
            }).ToList();

            return(View(model));
        }
コード例 #13
0
 public ActionResult Edit(int articleId)
 {
     Article article = articleRepository.GetById(articleId);
     EditArticle addArticle = new EditArticle
     {
         ID = article.ID,
         Title = article.Title,
         Text = article.Text
     };
     return View(addArticle);
 }
コード例 #14
0
ファイル: MasterLanguage.cs プロジェクト: treemoons/Moons
 /// <summary>
 /// Initialing all international languages.
 /// <br/>throw exception ,if languageInfo has initialed.
 /// </summary>
 /// <param name="_json">json info</param>
 public void Initialing(JsonElement _json)
 {
     if (LanguageInfo.Count > 0)
     {
         throw new Exception("LanguageInfo has initialed.");
     }
     LanguageInfo[nameof(Master)]      = new Master(_json.GetProperty(nameof(Master)));
     LanguageInfo[nameof(Index)]       = new Index(_json.GetProperty(nameof(Index)));
     LanguageInfo[nameof(Searched)]    = new Searched(_json.GetProperty(nameof(Searched)));
     LanguageInfo[nameof(Article)]     = new Article(_json.GetProperty(nameof(Article)));
     LanguageInfo[nameof(Profile)]     = new Profile(_json.GetProperty(nameof(Profile)));
     LanguageInfo[nameof(EditArticle)] = new EditArticle(_json.GetProperty(nameof(EditArticle)));
     LanguageInfo[nameof(EditProfile)] = new EditProfile(_json.GetProperty(nameof(EditProfile)));
 }
コード例 #15
0
        public ActionResult Edit(EditArticle model)
        {
            var sanitizer        = new HtmlSanitizer();
            var sanitizedContent = sanitizer.Sanitize(model.Content);

            if (!this.service.ChangeByUser(model.Id, model.Title, int.Parse(model.CategoryId), sanitizedContent, this.User.Identity.GetUserId()))
            {
                Response.Status     = "403 Forbidden";
                Response.StatusCode = 403;

                return(null);
            }

            return(RedirectToAction("Index"));
        }
コード例 #16
0
 public ActionResult Edit(EditArticle model)
 {
     if (ModelState.IsValid)
     {
         Article article = articleRepository.GetById(model.ID);
         article.Title = model.Title;
         article.Text  = model.Text;
         articleRepository.Update(article);
         articleRepository.SaveChanges();
     }
     else
     {
         return(View(model));
     }
     return(RedirectToAction("About"));
 }
コード例 #17
0
        public async Task <IActionResult> Edit(int id, EditArticle form)
        {
            if (id != form.Id)
            {
                return(NotFound());
            }

            if (ModelState.IsValid)
            {
                try
                {
                    var article = await _context.Entries.FirstOrDefaultAsync(e => e.Id == id);

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

                    article.HeadLine  = form.HeadLine;
                    article.Paragraph = form.Paragraph;
                    article.Slug      = GenerateSlug(form.HeadLine);
                    article.Url       = form.Url;
                    article.Body      = form.Body;

                    if (form.Img != null)
                    {
                        article.Img = _imageProcessing.ProcessFormImage(form.Img);
                    }

                    var entry = _context.Entry(article);
                    entry.State = EntityState.Modified;

                    await _context.SaveChangesAsync();
                }
                catch (Exception)
                {
                    throw;
                }

                return(RedirectToAction(nameof(GetEntries)));
            }

            return(RedirectToAction(nameof(GetEntries)));
        }
コード例 #18
0
        public async Task <IActionResult> OnEdit(
            [FromForm] EditArticle form)
        {
            if (ModelState.IsValid)
            {
                var slug = await _entryService.UpdateEntryAsync(form);

                _cache.Remove(slug);

                return(RedirectToRoute(new
                {
                    controller = "Entries",
                    action = nameof(EntriesController.Edit),
                    id = form.Id
                }));
            }

            return(RedirectToAction(nameof(GetEntries)));
        }
コード例 #19
0
        public void EditOwnArticleFromList()
        {
            LoginPage loginuser = new LoginPage(this.driver);

            //loginuser.LoginUser("*****@*****.**", "londa101");
            loginuser.LoginUser("*****@*****.**", "P@ssw@rd");

            CreateArticle newArticle = new CreateArticle(this.driver);

            newArticle.ArticleNavigateTo();
            newArticle.ArticleCreate("Article Test THREE", "Content Nury Test");

            ArticlesDashboard dash           = new ArticlesDashboard(this.driver);
            EditArticle       newEditArticle = new EditArticle(this.driver);

            dash.ViewArticleByTitle("Article Test THREE");
            newEditArticle.ArticleEdit("Article Test Nury3", "This is the text of article Nury3");
            dash.AssertArticleDetailsDashboard("Article Test Nury3", "This is the text of article Nury3", "--author");
            loginuser.LogOffButton.Click();
        }
コード例 #20
0
        public void ArticleViewEditButtonDashboard()
        {
            LoginPage loginuser = new LoginPage(this.driver);

            loginuser.LoginUser("*****@*****.**", "P@ssw@rd");
            loginuser.AssertLoginUser();

            CreateArticle newArticle = new CreateArticle(this.driver);

            newArticle.ArticleNavigateTo(  );
            newArticle.ArticleCreate("qwertyEdit", "browser");
            ArticlesDashboard dash = new ArticlesDashboard(this.driver);

            dash.ViewArticleByTitle("qwertyEdit");

            EditArticle editArticle = new EditArticle(this.driver);

            editArticle.ArticleEdit("qwerty Update", "browser Update");
            dash.AssertArticleDetailsDashboard("qwerty Update", "browser Update", "--author");
            dash.LogOut.Click();
            dash.AssertAvailableLoginButton();
        }
コード例 #21
0
        public void EditArticleFromListWithoutLogin()
        {
            LoginPage loginuser = new LoginPage(this.driver);

            // loginuser.LoginUser("*****@*****.**", "londa101");
            loginuser.LoginUser("*****@*****.**", "P@ssw@rd");

            CreateArticle newArticle = new CreateArticle(this.driver);

            newArticle.ArticleNavigateTo();
            newArticle.ArticleCreate("Edited Article Test THREE", "Content Nury Test");
            ArticlesDashboard dash = new ArticlesDashboard(this.driver);

            dash.LogOut.Click();

            EditArticle newEditArticle = new EditArticle(this.driver);

            dash.ViewArticleByTitle("Edited Article Test THREE");
            newEditArticle.AssertEditButtonDisplayed();
            newEditArticle.ArticleEditButton();

            loginuser.AssertAccountLogin();
            dash.AssertAvailableLoginButton();
        }
コード例 #22
0
        public void CheckArticleIsEdit()
        {
            var email            = "Katy" + DateTime.Now.Ticks + "@abv.bg";
            var registrationPage = new RegistrationPage(this.driver);
            var registrationUser = new RegisterUser(email, "Katy Perry", "0123456789", "0123456789");

            registrationPage.NavigateTo();

            registrationPage.FillRegistrationForm(registrationUser);

            var createdArticle = new CreateArticlePage(this.driver);

            var newArticle = new Article("Hello!", "I am new article!");

            createdArticle.CreateArticle(newArticle);
            createdArticle.LogOffButton.Click();

            var logForm   = new LoginPage(this.driver);
            var loginUser = new LoginUser(email, "0123456789");

            logForm.FillLoginForm(loginUser);

            var editArticlePage = new EditArticlePage(this.driver);
            var editArticle     = new EditArticle("Hello World!", "I am new article again!");

            editArticlePage.EditArticle(editArticle);

            editArticlePage.AssertArticleTitleIsEdit("Hello World!");
            editArticlePage.AssertArticleContentIsEdit("I am new article again!");

            var existingArticle = new DeleteArticlePage(this.driver);

            existingArticle.NavigateTo();

            existingArticle.CheckForExistingArticle(newArticle);
        }
コード例 #23
0
 public void OnGet(long id)
 {
     Command           = _articleApplication.GetDetails(id);
     ArticleCategories = new SelectList(_articleCategoryApplication.GetArticleCategories(), "Id", "Name");
 }
コード例 #24
0
 public void OnGet(long id)
 {
     EditArticle = _articleApplication.GetForEdit(id);
     Categories  = new SelectList(_articleCategoryApplication.GetArticleCategory(), "Id", "Name");
 }
コード例 #25
0
        public async Task <string> UpdateEntryAsync(EditArticle form)
        {
            var article = await _entryRepository
                          .FindBy(e => e.Id == form.Id)
                          .Include(e => e.EntryToTopics)
                          .FirstOrDefaultAsync();

            var tracker = new EditTracker <Entry>();

            if (article == default)
            {
                throw new AppException(ExceptionType.ARTICLE_NOT_FOUND);
            }

            try
            {
                article.LastModified = DateTime.Now;
                tracker.Track(e => e.LastModified);

                if (article.HeadLine != form.HeadLine)
                {
                    article.HeadLine = form.HeadLine;
                    article.Slug     = GenerateSlug(form.HeadLine);
                    tracker.Track(e => e.HeadLine);
                    tracker.Track(e => e.Slug);
                }

                if (article.Paragraph != form.Paragraph)
                {
                    article.Paragraph = form.Paragraph;
                    tracker.Track(e => e.Paragraph);
                }

                if (article.Url != form.Url)
                {
                    article.Url = form.Url;
                    tracker.Track(e => e.Url);
                }

                if (article.Body != form.Body)
                {
                    article.Body = form.Body;
                    tracker.Track(e => e.Body);
                }

                if (form.Img != null)
                {
                    article.Img = _imageProcessingService.ProcessFormImage(form.Img);
                    tracker.Track(e => e.Img);
                }

                if (form.Caption != null)
                {
                    article.Caption = form.Caption;
                    tracker.Track(e => e.Caption);
                }

                _entryRepository.Update(article, tracker);
                await _unitOfWork.Commit();
            }
            catch (Exception ex)
            {
                throw new AppException(ExceptionType.ARTICLE_UPDATE_FAILED, ex);
            }

            var topicId = article.EntryToTopics.FirstOrDefault(et => et.IsPrimary)?.TopicId;

            if (topicId == default)
            {
                var existing = await _entryToTopicRepository
                               .FindByKey(article.Id, form.PrimaryTopic.Value);

                if (existing != null)
                {
                    existing.IsPrimary = true;
                    _entryToTopicRepository.Update(existing, e => e.IsPrimary);
                }
                else
                {
                    // what happens if article doesn't have a primary topic
                    // get the form primary topic and set it
                    var primaryTopic = new EntryToTopic()
                    {
                        EntryId   = article.Id,
                        TopicId   = form.PrimaryTopic.Value,
                        IsPrimary = true
                    };

                    await _entryToTopicRepository.Create(primaryTopic);
                }

                await _unitOfWork.Commit();
            }
            else if (topicId.Value != form.PrimaryTopic.Value)
            {
                using (IDbContextTransaction transaction = await _unitOfWork.BeginTransaction())
                {
                    try
                    {
                        // set new topic as primary
                        var primaryTopic = await _entryToTopicRepository
                                           .FindBy(et => et.EntryId == article.Id && et.TopicId == topicId)
                                           .FirstOrDefaultAsync();

                        primaryTopic.IsPrimary = false;

                        _entryToTopicRepository.Update(primaryTopic, e => e.IsPrimary);

                        // does this article already have this topic ?
                        var newPrimaryTopic = await _entryToTopicRepository
                                              .FindByKey(article.Id, form.PrimaryTopic.Value);

                        if (newPrimaryTopic == default)
                        {
                            await _entryToTopicRepository.Create(new EntryToTopic()
                            {
                                EntryId   = article.Id,
                                TopicId   = form.PrimaryTopic.Value,
                                IsPrimary = true
                            });
                        }
                        else
                        {
                            newPrimaryTopic.IsPrimary = true;
                            _entryToTopicRepository.Update(newPrimaryTopic, e => e.IsPrimary);
                        }

                        await _unitOfWork.Commit();

                        transaction.Commit();
                    }
                    catch (Exception ex)
                    {
                        transaction.Rollback();
                    }
                }
            }

            return(article.Slug);
        }
コード例 #26
0
        //public IActionResult OnPost(EditArticle command)
        //{
        //    var result = _articleApplication.Edit(command);
        //    return RedirectToPage("./Index");

        //}
        //public IActionResult OnPost(EditArticle command, string slug)
        //{
        //    var result = _articleApplication.Edit(command);
        //    return RedirectToPage("./Index", new { Id = slug });

        //}


        public IActionResult OnPost(EditArticle command)
        {
            var result = _articleApplication.Edit(command);

            return(RedirectToPage("./Index"));
        }
コード例 #27
0
 public IActionResult OnPost(EditArticle EditArticle)
 {
     _articleApplication.Edit(EditArticle);
     return(RedirectToPage("Index"));
 }
コード例 #28
0
 private void EditArticleAction(int articleID)
 {
     IsLoaded = false;
     EditArticle?.Invoke(this, articleID);
     Refresh();
 }
コード例 #29
0
        private void EditButton_Click(object sender, EventArgs e)
        {
            if (editId > 0)
            {
                if (EditArticle.Text != "")
                {
                    string priceString    = "0";
                    string repairString   = "0";
                    string quantityString = "1";

                    if (EditPrice.Text != "")
                    {
                        if (EditPrice.Text != "." && EditPrice.Text != ",")
                        {
                            priceString = EditPrice.Text.ToString();
                        }
                    }
                    if (EditRepair.Text != "")
                    {
                        if (EditRepair.Text != "." && EditRepair.Text != ",")
                        {
                            repairString = EditRepair.Text.ToString();
                        }
                    }
                    if (EditQwantity.Text != "")
                    {
                        if (EditQwantity.Text != "." && EditQwantity.Text != ",")
                        {
                            quantityString = EditQwantity.Text.ToString();
                        }
                    }

                    for (int i = 0; i < priceString.Length; i++)
                    {
                        if (priceString[i] == ',')
                        {
                            string priStr1 = priceString.Substring(0, i);
                            string priStr2 = priceString.Substring(i + 1);
                            priceString = priStr1 + '.' + priStr2;
                        }
                    }
                    for (int i = 0; i < repairString.Length; i++)
                    {
                        if (repairString[i] == ',')
                        {
                            string repStr1 = repairString.Substring(0, i);
                            string repStr2 = repairString.Substring(i + 1);
                            repairString = repStr1 + '.' + repStr2;
                        }
                    }
                    int paymant = 1;
                    if (EditcomboBox.Text == "В Брой")
                    {
                        paymant = 1;
                    }
                    else if (EditcomboBox.Text == "POS")
                    {
                        paymant = 2;
                    }

                    var entity = techzone.Incomes.FirstOrDefault(X => X.Id == editId);
                    entity.Article  = EditArticle.Text;
                    entity.Quantity = int.Parse(quantityString);
                    entity.Price    = decimal.Parse(priceString);
                    entity.Repair   = decimal.Parse(repairString);
                    entity.TypeId   = paymant;



                    if (DialogResult.Yes == MessageBox.Show("Сигурни ли сте че искате да редактирате този запис ?", "Потвърждение", MessageBoxButtons.YesNo, MessageBoxIcon.Warning))
                    {
                        techzone.SaveChanges();
                        makeReference();

                        EditArticle.Text  = "";
                        EditQwantity.Text = "";
                        EditPrice.Text    = "";
                        EditRepair.Text   = "";
                        editId            = 0;

                        MessageBox.Show("Редактирахте успешно Записа");
                    }
                }

                else
                {
                    EditArticle.Select();
                }
            }
            else
            {
                MessageBox.Show("Моля изберете ред");
            }
        }