public IActionResult Upsert(int?id) { PaperVM paperVM = new PaperVM() { Papers = new Papers(), ConferenceList = _unitOfWork.ConferenceName.GetAll().Select(i => new SelectListItem { Text = i.Name, Value = i.Id.ToString() }), }; if (id == null) { //this is for create return(View(paperVM)); } //this is for edit paperVM.Papers = _unitOfWork.Papers.Get(id.GetValueOrDefault()); if (paperVM.Papers == null) { return(NotFound()); } return(View(paperVM)); }
public IActionResult Upsert(PaperVM paperVM) { if (ModelState.IsValid) { if (paperVM.Papers.Id == 0) { _unitOfWork.Papers.Add(paperVM.Papers); } else { _unitOfWork.Papers.Update(paperVM.Papers); } _unitOfWork.Save(); return(RedirectToAction(nameof(Index))); } else { paperVM.ConferenceList = _unitOfWork.ConferenceName.GetAll().Select(i => new SelectListItem { Text = i.Name, Value = i.Id.ToString() }); if (paperVM.Papers.Id != 0) { paperVM.Papers = _unitOfWork.Papers.Get(paperVM.Papers.Id); } } return(View(paperVM)); }
public ActionResult LoadPaperForm(int paperId) { IPaperFacade paperFacade = FacadeFactory.Instance.Create <IPaperFacade>(); PaperVM paperVM = null; if (paperId != -1) { var paperDTOResult = paperFacade.GetPaperById(paperId); if (paperDTOResult.IsValid()) { paperVM = new PaperVM(); paperVM.PaperId = paperDTOResult.Data.PaperId; paperVM.Name = paperDTOResult.Data.Name; paperVM.Description = paperDTOResult.Data.Description; paperVM.Duration = paperDTOResult.Data.Duration; } else { return(new RedirectResult("Error/")); } } else { paperVM = new PaperVM(); paperVM.PaperId = -1; paperVM.Name = ""; paperVM.Description = ""; paperVM.Duration = 1; } return(PartialView(paperVM)); }
public async Task <IActionResult> SubmitPaper(PaperVM papersVM) { if (ModelState.IsValid) { Papers newPaper = new Papers { ID = papersVM.ID, Date = papersVM.Date, Draft = papersVM.Draft, //HashTags = newTagList, Paper = papersVM.Paper, ShrederId = papersVM.ShrederId, Title = papersVM.Title }; var replaceNewPaper = await _paperRepo.Create(newPaper); var getHashes = papersVM.HashTags.ToString(); getHashes = getHashes.Replace("#", string.Empty).Trim(); var convert = JsonConvert.DeserializeObject <List <HashTags> >(getHashes); List <HashTags> newTagList = new List <HashTags>(); foreach (var tag in convert) { if (!tag.HashTag.Equals(" ")) { var newtag = await _hashTagsRepo.Create(tag); newTagList.Add(newtag); } } ICollection <PaperHashes> newPaperHashList = new List <PaperHashes>(); foreach (var item in newTagList) { PaperHashes newPaperHash = new PaperHashes { HashTagId = item.ID, PaperId = replaceNewPaper.ID }; var paperHashes = await _paperHashesRepo.Create(newPaperHash); newPaperHashList.Add(paperHashes); } return(PartialView("_PaperSubmitted")); } return(View(papersVM)); }
public ActionResult SavePaper(PaperVM paper) { if (ModelState.IsValid) { IPaperFacade paperFacade = FacadeFactory.Instance.Create <IPaperFacade>(); IPaperDTO paperDTO = DTOFactory.Instance.Create <IPaperDTO>(); paperDTO.PaperId = paper.PaperId; paperDTO.Name = paper.Name; paperDTO.Description = paper.Description; paperDTO.Duration = paper.Duration; //paperDTO.QuestionCount = paper.QuestionCount; var saveResult = paperFacade.SavePaper(paperDTO); if (saveResult.IsValid()) { return(new JsonResult() { JsonRequestBehavior = JsonRequestBehavior.AllowGet, Data = new { msg = "Saved", paperId = paperDTO.PaperId } }); } else { if (saveResult.HasFailed()) { ModelState.AddModelError("Name", saveResult.Message); return(PartialView("LoadPaperForm", paper)); } else { return(new RedirectResult("Error/")); } } } else { return(PartialView("LoadPaperForm", paper)); } }
public async Task <IActionResult> EditPaper(int id) { var paper = await _paperRepo.Read(id); if (paper != null) { var paperHashes = await _paperHashesRepo.ReadAll(); //var test = paperHashes.Join(HashTags; PaperVM papersVM = new PaperVM { ID = paper.ID, Date = paper.Date, Draft = paper.Draft, Paper = paper.Paper, ShrederId = paper.ShrederId, Title = paper.Title }; if (paperHashes != null) { var getPaperHashes = await _paperHashesRepo.ReadAll(); var getHashes = await _hashTagsRepo.ReadAll(); var found = getHashes.Join(getPaperHashes, hashTag => hashTag.ID, paperHashes => paperHashes.HashTagId, (paperHashes, hashTag) => new { HashTag = paperHashes.HashTag, PaperId = hashTag.PaperId }) .Where(x => x.PaperId == id).ToList(); StringBuilder stbuilder = new StringBuilder(); foreach (var item in found) { stbuilder.Append("#" + item.HashTag + " "); } papersVM.HashTags = stbuilder.ToString(); } return(View(papersVM)); } return(View()); }
public async Task <IActionResult> EditPaper(PaperVM papers) { if (ModelState.IsValid) { var checkPaperHashes = await _paperHashesRepo.ReadAll(); var checkHashes = await _hashTagsRepo.ReadAll(); var found = checkHashes.Join(checkPaperHashes, hashTag => hashTag.ID, paperHashes => paperHashes.HashTagId, (paperHashes, hashTag) => new PaperHashes { HashTagId = paperHashes.ID, PaperId = hashTag.PaperId }) .Where(x => x.PaperId == papers.ID).ToList(); var getHashes = papers.HashTags.ToString(); getHashes = getHashes.Replace("#", string.Empty); var convert = JsonConvert.DeserializeObject <List <HashTags> >(getHashes); List <HashTags> newTagList = new List <HashTags>(); foreach (var tag in convert) { var newtag = await _hashTagsRepo.Create(tag); newTagList.Add(newtag); } ICollection <PaperHashes> newPaperHashList = new List <PaperHashes>(); foreach (var item in newTagList) { PaperHashes newPaperHash = new PaperHashes { HashTagId = item.ID, PaperId = papers.ID }; var paperHashes = await _paperHashesRepo.Create(newPaperHash); newPaperHashList.Add(paperHashes); } foreach (var relation in found) { var check = newPaperHashList.FirstOrDefault(x => x.HashTagId == relation.HashTagId); if (check == null) { await _paperHashesRepo.Delete(relation); } } Papers newPaper = new Papers { ID = papers.ID, Date = papers.Date, Draft = papers.Draft, //HashTags = newTagList, Paper = papers.Paper, ShrederId = papers.ShrederId, Title = papers.Title }; await _paperRepo.Update(newPaper); return(Content("Page successfully updated!")); } return(View()); }