예제 #1
0
        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));
        }
예제 #2
0
        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));
        }
예제 #3
0
        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));
        }
예제 #4
0
        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));
        }
예제 #5
0
        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));
            }
        }
예제 #6
0
        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());
        }
예제 #7
0
        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());
        }