public IHttpActionResult EditGroupOfLinks([FromUri] int socialNetworkId, GroupOfLinksViewModel model)
 {
     try
     {
         var result = GroupsOfLinksService.EditGroupOfLinks(User.Identity.GetUserId(), socialNetworkId, model);
         return(Ok(result));
     }
     catch (Exception ex)
     {
         return(BadRequest(ex.Message));
     }
 }
Ejemplo n.º 2
0
        public int EditGroupOfLinks(string userId, int socialNetworkId, GroupOfLinksViewModel model)
        {
            if (model.Name != null && model.Name != "")
            {
                if (model.Id != 0)
                {
                    var group = GroupOfLinksRepository.Find(g => g.Id == model.Id && g.Status == Domain.Entities.StatusEnums.EntityStatus.Active);

                    if (group != null)
                    {
                        group.Name = model.Name;
                        GroupOfLinksRepository.Update(group);
                        return(group.Id);
                    }

                    throw new Exception("Can`t find the group");
                }
                else
                {
                    var existedGroups = GroupOfLinksRepository.Find(g => g.Name == model.Name &&
                                                                    g.SocialNetwork.Id == socialNetworkId &&
                                                                    g.User.Id == userId &&
                                                                    g.Status == Domain.Entities.StatusEnums.EntityStatus.Active);
                    if (existedGroups != null)
                    {
                        throw new Exception("Group with the same name already exist");
                    }

                    var sn   = SocialNetworkRepository.Find(s => s.Id == socialNetworkId && s.Status == Domain.Entities.StatusEnums.EntityStatus.Active);
                    var user = UserRepository.Find(u => u.Id == userId && u.Status == Domain.Entities.StatusEnums.EntityStatus.Active);

                    if (sn != null && user != null)
                    {
                        GroupOfLinks group = new GroupOfLinks();
                        group.DateOfCreation = DateTime.Now;
                        group.IsTemp         = false;
                        group.Name           = model.Name;
                        group.SocialNetwork  = sn;
                        group.User           = user;
                        group.Status         = Domain.Entities.StatusEnums.EntityStatus.Active;

                        GroupOfLinksRepository.Insert(group);

                        return(group.Id);
                    }

                    throw new Exception("Can`t find social network or not enought permissions");
                }
            }
            throw new Exception("Name can`t be empty");
        }
Ejemplo n.º 3
0
        public List <GroupOfLinksViewModel> GetAllGroupsOfLinks(string userId, int socialNetworkId)
        {
            var groups = GroupOfLinksRepository.FindAll(w => w.User.Id == userId && w.SocialNetwork.Id == socialNetworkId);
            var model  = new List <GroupOfLinksViewModel>();

            foreach (var group in groups)
            {
                var pGroup = new GroupOfLinksViewModel();
                pGroup.Id             = group.Id;
                pGroup.Name           = group.Name;
                pGroup.DateOfCreation = group.DateOfCreation;
                model.Add(pGroup);
            }

            return(model);
        }