public ModelValid(ModelValid modelValid) { if (modelValid.ValidResults != null) { ValidResults = modelValid.ValidResults; } }
public ModelValid IsValid(ArticleDto dto, bool checkFormFile = true) { ModelValid modelValid = new ModelValid(); if (checkFormFile) { if (dto.FormFile == null) { modelValid.Valid = false; modelValid.Errors.Add("در صورت انتشار مقاله , باید عکس مقاله را وارد کنید"); } } if (!dto.TimeToRead.HasValue || dto.TimeToRead.Value == 0) { modelValid.Valid = false; modelValid.Errors.Add("در صورت انتشار مقاله , باید فیلد 'زمان مطالعه' را وارد کنید"); } if (!dto.CategoryId.HasValue) { modelValid.Valid = false; modelValid.Errors.Add("در صورت انتشار مقاله , باید فیلد 'دسته بندی' را وارد کنید"); } if (String.IsNullOrWhiteSpace(dto.Content)) { modelValid.Valid = false; modelValid.Errors.Add("در صورت انتشار مقاله , باید فیلد 'محتوا' را وارد کنید"); } if (String.IsNullOrWhiteSpace(dto.Description)) { modelValid.Valid = false; modelValid.Errors.Add("در صورت انتشار مقاله , باید فیلد 'توضیح کوتاه' را وارد کنید"); } return(modelValid); }
public async Task <IActionResult> Edit(ArticleDto article) { Article editArticle = await _articleRep.FindByIDAsync(article.Id); if (editArticle == null) { return(View("Error")); } if (!ModelState.IsValid) { ViewBag.Categories = new SelectList(_unitOfWork.GetRepository <Category>().FindAll(), "Id", "Title"); return(View(article)); } ModelValid model = new ModelValid(); if (article.IsPublish) { if (editArticle.Image != null) { model = article.IsValid(article, false); } else { model = article.IsValid(article); } } if (!model.Valid) { foreach (var item in model.Errors) { ModelState.AddModelError("", item); } ViewBag.Categories = new SelectList(_unitOfWork.GetRepository <Category>().FindAll(), "Id", "Title"); return(View(article)); } if (article.FormFile != null) { if (editArticle.Image != null) { await _fileWorker.RemoveFileAsync(editArticle.Image, "Files"); } editArticle.Image = await _fileWorker.SaveFileAsync(article.FormFile, "Files"); } if (article.IsPublish) { editArticle.PublishDate = DateTime.Now; } editArticle.IsPublish = article.IsPublish; editArticle.Tags = article.Tags; editArticle.TimeToRead = article.TimeToRead; editArticle.Title = article.Title; editArticle.CategoryId = article.CategoryId; editArticle.Content = article.Content; editArticle.Description = article.Description; _articleRep.Update(editArticle); await _unitOfWork.Commit(); return(Redirect("/admin/articles")); }
public async Task <IActionResult> Create(ArticleDto article) { if (!ModelState.IsValid) { ViewBag.Categories = new SelectList(_unitOfWork.GetRepository <Category>().FindAll(), "Id", "Title"); //article.FormFile return(View(article)); } ModelValid model = new ModelValid(); if (article.IsPublish) { model = article.IsValid(article); } if (!model.Valid) { foreach (var item in model.Errors) { ModelState.AddModelError("", item); } ViewBag.Categories = new SelectList(_unitOfWork.GetRepository <Category>().FindAll(), "Id", "Title"); return(View(article)); } Article createArticle = new Article { CategoryId = article.CategoryId, Content = article.Content, Tags = article.Tags, Description = article.Description, TimeToRead = article.TimeToRead, IsPublish = article.IsPublish, Title = article.Title, View = 0, }; if (article.FormFile != null) { createArticle.Image = await _fileWorker.SaveFileAsync(article.FormFile, "Files"); } if (article.IsPublish) { createArticle.PublishDate = DateTime.Now; await SendArticleNewEmail(article); } await _articleRep.CreateAsync(createArticle); await _unitOfWork.Commit(); Popup.PopupModel = new Popup("افزودن مقاله", $"افزودن مقاله با عنوان {article.Title} با موفقیت انجام شد", IconType.Success); return(Redirect("/admin/articles")); }
public IHttpActionResult Post([FromBody] object value) { ICollection <ValidationResult> ValidationResults = null; ModelValid modelValid = null; PreAvisoBlo preAvisoBlo = new PreAvisoBlo(); try { bool blnRetono = true; PreAvisoDTO obj = new PreAvisoDTO(); if (value != null) { obj = JsonConvert.DeserializeObject <PreAvisoDTO>(value.ToString()); } else { Request.CreateResponse(HttpStatusCode.NotFound); } Sinaf.VOL.DTOs.PreAviso _preAviso = AutoMapperManager.Instance.Mapper.Map <PreAvisoDTO, Sinaf.VOL.DTOs.PreAviso>(obj); blnRetono = preAvisoBlo.IncluirRecebimento(_preAviso, value.ToString()); if (blnRetono) { modelValid = new ModelValid(obj, true); modelValid.DoValidation(); if (modelValid.IsValid) { preAvisoBlo.GravarImportacaoAceita(); } } return(Created($"{Request.RequestUri}/", obj)); } catch (Exception ex) { ValidationResults = modelValid.ValidationResults; preAvisoBlo.ValidaDadosObrigatorios(ValidationResults); ArgumentException obj = new ArgumentException(ex.Message); return(InternalServerError(obj)); } }