예제 #1
0
        public LinkDTO RequestActive(LinkDTO link, string userName)
        {
            p1p.Data.Link mdlLink = (p1p.Data.Link)P1PObjectMapper.Convert(link, typeof(p1p.Data.Link));
            p1p.Data.Link match;
            mdlLink.LastModifiedBy   = userName;
            mdlLink.DateLastModified = DateTime.Now;

            using (p1p.Data.P1PContext ctx = new p1p.Data.P1PContext())
            {
                match = ctx.Links.Single(l => link.Id == l.Id);

                if (link.Article != null && link.Article.Id > 0)
                {
                    p1p.Data.ProjectArticleXREF pax = ctx.ProjectArticleXREFs.Single(x => x.ArticleId == link.Article.Id && x.ProjectId == link.ProjectId);
                    mdlLink.ProjectArticleXREFId = pax.Id;
                }

                mdlLink.LinkStatusId  = 14;
                mdlLink.AcquiredBy    = userName;
                mdlLink.DatePublished = DateTime.Now;

                ctx.Entry(match).CurrentValues.SetValues(mdlLink);
                ctx.SaveChanges();
                return((LinkDTO)P1PObjectMapper.Convert(match, typeof(LinkDTO)));
            }
        }
예제 #2
0
        public async Task <LinkDTO> DetailAsync(Guid userId)
        {
            var link = await _context.Links
                       .AsNoTracking()
                       .Include(v => v.Contacts)
                       .SingleOrDefaultAsync(v => v.UserId == userId);

            LinkDTO dto = null;

            if (link == null)
            {
                return(dto);
            }

            dto = new LinkDTO
            {
                Id       = link.Id,
                UserId   = link.UserId,
                Contacts = link.Contacts?.Select(v => new ContactDTO
                {
                    Id     = v.Id,
                    LinkId = v.LinkId,
                    UserId = v.UserId,
                    Name   = v.Name
                }).ToList() ?? new List <ContactDTO>()
            };

            return(dto);
        }
예제 #3
0
 private void LoadLinkDTOSingle(LinkDTO dto)
 {
     lbID.Text     = dto.ID;
     tbName.Text   = dto.Name;
     tbURL.Text    = dto.Link;
     cbRun.Checked = dto.IsRun;
 }
예제 #4
0
        public LinkDTO UpdateLink(LinkDTO link, string userName)
        {
            p1p.Data.Link mdlLink = (p1p.Data.Link)P1PObjectMapper.Convert(link, typeof(p1p.Data.Link));
            p1p.Data.Link match;
            mdlLink.LastModifiedBy   = userName;
            mdlLink.DateLastModified = DateTime.Now;

            using (p1p.Data.P1PContext ctx = new p1p.Data.P1PContext())
            {
                match = ctx.Links.Single(l => link.Id == l.Id);
                if (match.LinkStatusId != 10 && link.LinkStatus.Id == 10)
                {
                    throw new Exception("You cannot set a link active through the 'UpdateLink' method.");
                }

                if (match.LinkStatusId != 14 && link.LinkStatus.Id == 14)
                {
                    throw new Exception("You cannot set a link to 'Request Active' through the 'UpdateLink' method.");
                }

                if (link.Article != null && link.Article.Id > 0)
                {
                    p1p.Data.ProjectArticleXREF pax = ctx.ProjectArticleXREFs.Single(x => x.ArticleId == link.Article.Id && x.ProjectId == link.ProjectId);
                    mdlLink.ProjectArticleXREFId = pax.Id;
                }

                ctx.Entry(match).CurrentValues.SetValues(mdlLink);
                ctx.SaveChanges();
                return((LinkDTO)P1PObjectMapper.Convert(match, typeof(LinkDTO)));
            }
        }
        public async Task <ActionResult> EditUserLink(LinkVM linkVM)
        {
            using (ChekitDB chekitDB = new ChekitDB())
            {
                LinkDTO linkDTO = await chekitDB.Links.FirstOrDefaultAsync(x => x.LinkID == linkVM.LinkID);

                linkDTO.LinkName = linkVM.LinkName;

                if (linkVM.PublicStatus == false)
                {
                    linkDTO.PublicStatus = false;
                }
                else
                {
                    linkDTO.PublicStatus = linkVM.PublicStatus;
                }
                linkDTO.LinkDescription = linkVM.LinkDescription;

                await chekitDB.SaveChangesAsync();

                TempData["OK"] = "Закладка отредактирована";

                return(RedirectToAction("LinkInfo", new { id = linkVM.LinkID }));
            }
        }
예제 #6
0
        private void InsertOrUpdateLinkDTO(LinkDTO dto)
        {
            bool isOK = FromEvents.InsertOrUpdateLinkDTO(dto);

            if (isOK)
            {
                lbID.Text   = "";
                ListLinkDTO = FromEvents.GetListLinkDTO();
                LoadLinkDTOToListView(ListLinkDTO);
            }
        }
예제 #7
0
 public void AddParsedLinksToDB(List <string> links, int iteration)
 {
     foreach (string s in links)
     {
         LinkDTO link = new LinkDTO()
         {
             Link        = s,
             IterationId = iteration
         };
         this.AddLinkToDB(link);
     }
 }
        public ActionResult PutEvent(int id, EventDTO eventDTO)
        {
            Event eventToEdit = _eventRepository.GetById(id);

            if (eventToEdit == null)
            {
                return(NotFound());
            }
            else
            {
                eventToEdit.Name           = eventDTO.Name;
                eventToEdit.Description    = eventDTO.Description;
                eventToEdit.StartDate      = eventDTO.StartDate;
                eventToEdit.EndDate        = eventDTO.EndDate;
                eventToEdit.Country        = eventDTO.Country;
                eventToEdit.Region         = eventDTO.Region;
                eventToEdit.City           = eventDTO.City;
                eventToEdit.Street         = eventDTO.Street;
                eventToEdit.StreetNr       = eventDTO.StreetNr;
                eventToEdit.ZipCode        = eventDTO.ZipCode;
                eventToEdit.HeaderImageURL = eventDTO.HeaderImageURL;

                foreach (var eventGenre in eventToEdit.EventGenres)
                {
                    Genre genreToRemove = eventGenre.Genre;
                    eventToEdit.RemoveEventGenre(genreToRemove);
                    EventGenreDTO eventGenreFromDTO = eventDTO.EventGenres.SingleOrDefault(eg => eg.GenreId == eventGenre.GenreId);
                    Genre         genreToAdd        = _genreRepository.GetById(eventGenreFromDTO.GenreId);
                    eventToEdit.AddEventGenre(genreToAdd);
                }

                foreach (var price in eventToEdit.Prices)
                {
                    PriceDTO priceFromDTO = eventDTO.Prices.SingleOrDefault(p => p.PriceId == price.PriceId);
                    price.Name        = priceFromDTO.Name;
                    price.Description = priceFromDTO.Description;
                    price.Cost        = priceFromDTO.Cost;
                }

                foreach (var link in @eventToEdit.Links)
                {
                    LinkDTO linkFromDTO = eventDTO.Links.SingleOrDefault(l => l.LinkId == link.LinkId);
                    link.Name = linkFromDTO.Name;
                    link.Url  = linkFromDTO.Url;
                }

                _eventRepository.Update(eventToEdit);
                _eventRepository.SaveChanges();
                return(Ok(eventToEdit));
            }
        }
예제 #9
0
        public IActionResult Update(int id, LinkDTO payload)
        {
            // Gelen payload içeriğini backend tarafındaki model sınıfına dönüştür
            var l = (Link)payload;

            // id eşlemesi yap
            l.Id = id;
            // durumu güncellendiye çek
            _context.Entry(l).State = EntityState.Modified;
            // ve değişiklikleri kaydedip
            _context.SaveChanges();
            // HTTP 200 döndür
            return(Ok());
        }
예제 #10
0
 private void btnSave_Click(object sender, EventArgs e)
 {
     if (!string.IsNullOrEmpty(tbName.Text) && !string.IsNullOrEmpty(tbURL.Text))
     {
         LinkDTO dto = new LinkDTO()
         {
             ID    = lbID.Text,
             Name  = tbName.Text,
             Link  = tbURL.Text,
             IsRun = cbRun.Checked
         };
         InsertOrUpdateLinkDTO(dto);
     }
 }
예제 #11
0
        public async Task <IActionResult> PostLink([FromBody] LinkDTO dto)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            var link = LinkDTO.UpdateDbObjectWithDTO(new Link(), dto);

            _context.Links.Add(link);
            await _context.SaveChangesAsync();

            return(CreatedAtAction("GetLink", new { id = link.Id }, link));
        }
예제 #12
0
        public LinkDTO ToDTO(LinkEntity entity)
        {
            LinkDTO dto = new LinkDTO();

            dto.CreateTime = entity.CreateTime;
            dto.Name       = entity.Name;
            dto.ImgUrl     = entity.ImgUrl;
            dto.Url        = entity.Url;
            dto.Id         = entity.Id;
            dto.Sort       = entity.Sort;
            dto.TypeName   = "";
            dto.Enabled    = entity.Enabled;
            return(dto);
        }
        //админ может удалить любую закладку
        public async Task <ActionResult> DeleteLink(int id)
        {
            using (ChekitDB chekitDB = new ChekitDB())
            {
                LinkDTO linkDTO = await chekitDB.Links.FindAsync(id);

                chekitDB.Links.Remove(linkDTO);

                await chekitDB.SaveChangesAsync();
            }

            TempData["OK"] = "Закладка удалена";

            return(RedirectToAction("Index"));
        }
예제 #14
0
        public void AddLinkToDB(LinkDTO linkDTO)
        {
            if (this.ContainsLink(linkDTO.Link))
            {
                return;
            }

            Link linkToAdd = new Link()
            {
                Url         = linkDTO.Link,
                IterationId = linkDTO.IterationId
            };

            this.unitOfWork.Links.Add(linkToAdd);
            this.unitOfWork.Save();
        }
예제 #15
0
        public void ShouldSaveTagsIntoDatabase()
        {
            //Arrange
            IUnitOfWork unitOfWork  = Substitute.For <IUnitOfWork>();
            LinkService linkService = new LinkService(unitOfWork);
            LinkDTO     linkInfo    = new LinkDTO
            {
                Link        = "https://en.m.wikipedia.org/wiki/Medicine",
                IterationId = 1
            };

            //Act
            linkService.AddLinkToDB(linkInfo);
            //Assert
            unitOfWork.Links.Received(1).Add(Arg.Is <Link>(w => w.Url == "https://en.m.wikipedia.org/wiki/Medicine" && w.IterationId == 1));
        }
예제 #16
0
        }                                                            //для выпадающего списка

        public LinkVM(LinkDTO row)
        {
            LinkID          = row.LinkID;
            LinkName        = row.LinkName;
            LinkAddress     = row.LinkAddress;
            LinkPicture     = row.LinkPicture;
            LinkCategoryId  = row.LinkCategoryId;
            LinkCategory    = row.LinkCategory;
            CreatedAt       = row.CreatedAt;
            LinkDescription = row.LinkDescription;
            UserAuthorId    = row.UserAuthorId;
            UserAuthor      = row.UserAuthor;
            PublicStatus    = row.PublicStatus;
            FavoriteStatus  = row.FavoriteStatus;
            LikeCount       = row.LikeCount;
        }
예제 #17
0
        public static bool InsertOrUpdateLinkDTO(LinkDTO dto)
        {
            bool result = false;

            try
            {
                using (var _db = new CrawlerModel())
                {
                    if (string.IsNullOrEmpty(dto.ID))
                    {
                        CrawlerLink link = new CrawlerLink()
                        {
                            ID           = Guid.NewGuid().ToString(),
                            Name         = dto.Name,
                            Link         = dto.Link,
                            IsRun        = dto.IsRun,
                            IsDelete     = false,
                            CreateUser   = "******",
                            CreateDate   = DateTime.Now,
                            ModifierUser = "******",
                            ModifierDate = DateTime.Now
                        };
                        _db.CrawlerLinks.Add(link);
                    }
                    else
                    {
                        var link = _db.CrawlerLinks.Where(o => o.ID == dto.ID).FirstOrDefault();
                        if (link != null)
                        {
                            link.Name         = dto.Name;
                            link.Link         = dto.Link;
                            link.IsRun        = dto.IsRun;
                            link.ModifierDate = DateTime.Now;
                        }
                    }
                    if (_db.SaveChanges() > 0)
                    {
                        result = true;
                    }
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
            return(result);
        }
        public IHttpActionResult GenerateLink(int id)
        {
            Survey survey  = db.Survey.Find(id);
            Guid   newGUID = Guid.NewGuid();
            var    surDTO  = new SurveyDTO
            {
                Id   = survey.Id,
                Name = survey.Name
            };
            var model = new LinkDTO
            {
                UID    = GuidToBase64(newGUID),
                Survey = surDTO
            };

            return(Ok(model));
        }
예제 #19
0
        private LinkDTO ToDTO(LinkEntity entity)
        {
            LinkDTO dto = new LinkDTO();

            dto.CreateTime = entity.CreateTime;
            dto.Id         = entity.Id;
            dto.Name       = entity.Name;
            dto.ImgUrl     = entity.ImgUrl;
            dto.Url        = entity.Url;
            dto.Tip        = entity.Tip;
            dto.TypeId     = entity.TypeId;
            dto.Sort       = entity.Sort;
            dto.IsEnabled  = entity.IsEnabled;
            dto.Link001    = entity.Link001;
            dto.link002    = entity.link002;
            dto.TypeName   = entity.TypeName;
            return(dto);
        }
예제 #20
0
 public void ActivateLink(LinkDTO link)
 {
     p1p.Data.Link mdlLink = (p1p.Data.Link)P1PObjectMapper.Convert(link, typeof(p1p.Data.Link));
     p1p.Data.Link match;
     using (p1p.Data.P1PContext ctx = new p1p.Data.P1PContext())
     {
         if (link.Article.Id != 0)
         {
             p1p.Data.Article article        = ctx.Articles.Single(a => a.Id == link.Article.Id);
             p1p.Data.Article updatedArticle = article;
             updatedArticle.ArticleStatusId = 4;
             ctx.Entry(article).CurrentValues.SetValues(updatedArticle);
         }
         match = ctx.Links.Single(l => link.Id == l.Id);
         ctx.Entry(match).CurrentValues.SetValues(mdlLink);
         ctx.SaveChanges();
     }
 }
예제 #21
0
        public async Task <IActionResult> GetLink([FromRoute] int id)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            var link = await _context.Links.SingleOrDefaultAsync(m => m.Id == id);

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

            var result = LinkDTO.DbObjectToDto(link);

            return(Ok(result));
        }
        //информация о закладке
        public async Task <ActionResult> LinkInfo(int id)
        {
            LinkVM linkVM;

            using (ChekitDB chekitDB = new ChekitDB())
            {
                LinkDTO linkDTO = await chekitDB.Links.FindAsync(id);

                if (linkDTO == null)
                {
                    return(View("Error"));
                }

                linkVM = new LinkVM(linkDTO);
            }

            return(View(linkVM));
        }
예제 #23
0
        public IActionResult Create(LinkDTO payload)
        {
            var l = (Link)payload;

            _context.Links.Add(l);
            _context.SaveChanges();

            /*
             *  Task örneğinde olduğu gibi istemci tarafına oluşturulan Link
             *  örneğine ait Id değerini göndermemiz lazım ki, takip eden Link bağlama,
             *  güncelleme veya silme gibi işlemler çalışabilsin.
             *  tid, istemci tarafının beklediği değişken adıdır.
             */
            return(Ok(new
            {
                tid = l.Id,
                action = "inserted"
            }));
        }
 public ActionResult <Event> PostLink(int id, LinkDTO linkDTO)
 {
     try {
         Event @event = _eventRepository.GetById(id);
         if (@event == null)
         {
             return(NotFound());
         }
         else
         {
             Link linkToAdd = new Link(linkDTO.Name, linkDTO.Url);
             @event.AddLink(linkToAdd);
             _eventRepository.SaveChanges();
             return(CreatedAtAction(nameof(GetEvent), new { id = @event.EventId }, @event));
         }
     }
     catch (Exception ex) {
         return(BadRequest(ex.Message));
     }
 }
예제 #25
0
        public async Task <ActionResult <LinkDTO> > SubmitLink(LinkDTO submission)
        {
            var link            = new LinkmirLinkModel(submission);
            int submissionCount = await link.AddOrUpdateLink(_context);

            if (submissionCount == 0)
            {
                return(BadRequest());
            }

            var toReturn = new LinkDTO
            {
                Link      = link.Link,
                ShortLink = BuildLinkmirUrl(link.ShortLink)
            };

            // return CreatedAtAction("GetLinkmirLink", new { id = linkmirLink.ShortLink }, linkmirLink);
            if (submissionCount == 1)
            {
                return(CreatedAtAction(nameof(GetLinkmirLink), new { shortlink = link.ShortLink }, toReturn));
            }
            return(Ok(toReturn));
        }
예제 #26
0
        public async Task <ActionResult <LinkDTO> > GetLinkmirLink(string shortlink, bool?redirect = false)
        {
            var link = await LinkmirLinkModel.GetLinkStats(_context, shortlink);

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

            var toReturn = new LinkDTO
            {
                ShortLink = BuildLinkmirUrl(shortlink),
                Link      = link.Link
            };

            if (redirect.GetValueOrDefault())
            {
                return(Redirect(toReturn.Link));
            }
            else
            {
                return(toReturn);
            }
        }
예제 #27
0
 public LinkDTO AddLink(LinkDTO link, string userName)
 {
     p1p.Data.Link mdlLink = (p1p.Data.Link)P1PObjectMapper.Convert(link, typeof(p1p.Data.Link));
     mdlLink.LastModifiedBy   = userName;
     mdlLink.DateLastModified = DateTime.Now;
     mdlLink.InsertDate       = DateTime.Now;
     p1p.Data.Link newLink = new p1p.Data.Link();
     using (p1p.Data.P1PContext ctx = new p1p.Data.P1PContext())
     {
         if (mdlLink.LinkStatusId == 10 || mdlLink.LinkStatusId == 14)
         {
             throw new Exception("You must use the 'Request Active' button.");
         }
         //TODO Need to verify that Article isn't being incorrectly instantiated when the link has no article
         if (link.Article != null && link.Article.Id > 0)
         {
             ProjectArticleXREF xref = ctx.ProjectArticleXREFs.Single(x => x.ProjectId == link.ProjectId && x.ArticleId == link.Article.Id);
             mdlLink.ProjectArticleXREFId = xref.Id;
         }
         newLink = ctx.Links.Add(mdlLink);
         ctx.SaveChanges();
     }
     return(Get(newLink.Id));
 }
예제 #28
0
        public async Task <IActionResult> PutLink([FromRoute] int id, [FromBody] LinkDTO dto)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            if (id != dto.Id)
            {
                return(BadRequest());
            }

            var link = await _context.Links.SingleOrDefaultAsync(x => x.Id == dto.Id);

            link = LinkDTO.UpdateDbObjectWithDTO(link, dto);

            _context.Entry(link).State = EntityState.Modified;

            try
            {
                await _context.SaveChangesAsync();
            }
            catch (DbUpdateConcurrencyException)
            {
                if (!LinkExists(id))
                {
                    return(NotFound());
                }
                else
                {
                    throw;
                }
            }

            return(NoContent());
        }
예제 #29
0
        public LinkDTO RequestActive(LinkDTO link)
        {
            string user = Membership.GetUser().UserName;

            return(repo.RequestActive(link, user));
        }
예제 #30
0
        public IEnumerable <LinkDTO> GetLinks()
        {
            var links = _context.Links;

            return(LinkDTO.DbSetToDtoList(links));
        }