示例#1
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));
        }
示例#2
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());
        }