Esempio n. 1
0
        public async Task <IActionResult> PutFollows([FromRoute] int id, [FromBody] Follows follows)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            if (id != follows.UserID)
            {
                return(BadRequest());
            }

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

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

            return(NoContent());
        }
Esempio n. 2
0
        public IHttpActionResult Follow(FollowsDto dto)
        {
            var     followerId  = User.Identity.GetUserId();
            var     followingId = dto.FollowingId;
            Follows follows;

            if (_context.Follows.Any(f => f.FollowerId == followerId &&
                                     f.FollowingId == followingId))
            {
                follows = new Follows
                {
                    FollowerId  = followerId,
                    FollowingId = followingId
                };

                _context.Entry(follows).State = EntityState.Deleted;
            }
            else
            {
                follows = new Follows
                {
                    FollowerId  = followerId,
                    FollowingId = followingId
                };

                _context.Follows.Add(follows);
            }

            _context.SaveChanges();

            return(Ok());
        }
Esempio n. 3
0
            public async Task <Unit> Handle(Command request, CancellationToken cancellationToken)
            {
                var newFollow = new Follows
                {
                    UserId     = request.UserId,
                    FollowerId = request.FollowUserId
                };

                _context.Follows.Add(newFollow);

                var user = await _context.Users.FirstOrDefaultAsync(u => u.Id == request.UserId);

                user.CountFollowers++;

                var follower = await _context.Users.FirstOrDefaultAsync(u => u.Id == request.FollowUserId);

                follower.CountFollowing++;


                var success = await _context.SaveChangesAsync() > 0;

                if (success)
                {
                    return(Unit.Value);
                }
                throw new Exception("Problem saving changes in follows table");
            }
        public ActionResult Create([Bind(Include = "EmployeeId")] string EmployeeId)
        {
            //受信できてるか
            if (EmployeeId == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }

            //フォロー先IDが有効か
            if (db.Users.Find(EmployeeId) == null)
            {
                return(HttpNotFound());
            }

            //ログインユーザー取得
            string UserId = User.Identity.GetUserId();

            Follows follow = new Follows()
            {
                EmployeeId = UserId,
                FollowId   = EmployeeId
            };

            //Contextに新しいオブジェクト追加
            db.Follows.Add(follow);
            //実際のDBに反映
            db.SaveChanges();
            // TempDataにフラッシュメッセージを入れておく。
            TempData["flush"] = String.Format("{0}さんをフォローしました。", db.Users.Find(EmployeeId).EmployeeName);
            //indexにRedirect(ページ遷移)
            return(RedirectToAction("Index"));
        }
Esempio n. 5
0
 /// <summary>
 /// Creates an Instance of the TwitchAPI Class.
 /// </summary>
 /// <param name="logger">Instance Of Logger, otherwise no logging is used,  </param>
 /// <param name="rateLimiter">Instance Of RateLimiter, otherwise no ratelimiter is used. </param>
 public TwitchAPI(ILogger <TwitchAPI> logger = null, IRateLimiter rateLimiter = null)
 {
     _logger         = logger;
     _http           = new HttpClient(new TwitchLibCustomHttpMessageHandler(new HttpClientHandler(), _logger));
     _rateLimiter    = rateLimiter ?? BypassLimiter.CreateLimiterBypassInstance();
     Auth            = new Auth(this);
     Blocks          = new Blocks(this);
     Badges          = new Badges(this);
     Bits            = new Bits(this);
     ChannelFeeds    = new ChannelFeeds(this);
     Channels        = new Channels(this);
     Chat            = new Chat(this);
     Clips           = new Clips(this);
     Collections     = new Collections(this);
     Communities     = new Communities(this);
     Follows         = new Follows(this);
     Games           = new Games(this);
     Ingests         = new Ingests(this);
     Root            = new Root(this);
     Search          = new Search(this);
     Streams         = new Streams(this);
     Subscriptions   = new Subscriptions(this);
     Teams           = new Teams(this);
     ThirdParty      = new ThirdParty(this);
     Undocumented    = new Undocumented(this);
     Users           = new Users(this);
     Videos          = new Videos(this);
     Webhooks        = new Webhooks(this);
     Debugging       = new Debugging();
     Settings        = new ApiSettings(this);
     _jsonSerializer = new TwitchLibJsonSerializer();
 }
Esempio n. 6
0
        private async void CheckUnreadFollowsMethod()
        {
            if (null == _notify)
            {
                return;
            }

            FollowsVisible = Visibility.Collapsed;

            var result = await _notify.CheckFollowsAsync(LoginUser.Current.Token, "notifications/unread_follows", true);

            ContentsLoading = false;

            if (result == null)
            {
                return;
            }

            if (result.Error != null)
            {
                ToasteIndicator.Instance.Show(String.Empty, result.Error.Message, null, 3);

                Debug.WriteLine(Regex.Unescape(result.Error.Message));

                return;
            }

            Follows.Clear();
            foreach (var item in result.Result.GetItems().Select(item => item as NotifyItem))
            {
                Follows.Add(item);
            }

            FollowsVisible = Follows.Count > 0 ? Visibility.Visible : Visibility.Collapsed;
        }
Esempio n. 7
0
        public void RemoveFollow(int followerId, int followedId)
        {
            var follow = Follows.SingleOrDefault(f => f.FollowedId == followedId && f.FollowerId == followerId);

            if (follow != null)
            {
                Follows.Remove(follow);
                SaveChanges();
            }
        }
Esempio n. 8
0
        private static void FollowUser(string[] splitMessage)
        {
            var follows = new Follows()
            {
                User   = splitMessage[0],
                Follow = splitMessage[2],
            };

            listFollows.Add(follows);
        }
Esempio n. 9
0
        /// <summary>FollowedUsersResponse constructor</summary>
        /// <param name="apiResponse">Returned api response in string form.</param>
        public FollowedUsersResponse(string apiResponse)
        {
            JObject json = JObject.Parse(apiResponse);

            foreach (JToken followedUser in json.SelectToken("follows"))
            {
                Follows.Add(new Follow(followedUser.ToString()));
            }
            TotalFollowCount = int.Parse(json.SelectToken("_total").ToString());
        }
Esempio n. 10
0
        /*
         * Description:Adds a follower to Follows table
         * Params:Object Follow
         * Output:None
         */
        public void AddFollowsRecord(FollowRequest followrequest)
        {
            Follows follows = new Follows();
            Guid    obj     = Guid.NewGuid();

            follows.id_follows  = obj.ToString();
            follows.id_followee = _context.athletes.Where(a => a.username == followrequest.username).Select(u => u.id).SingleOrDefault();
            follows.id_athlete  = _context.onlineusers.Where(ou => ou.token == followrequest.token).Select(a => a.id_athlete_fk).SingleOrDefault();
            _context.follows.Add(follows);
            _context.SaveChanges();
        }
 public bool addNewFollow(Follows f)
 {
     try
     {
         _followsRepository.Add(f);
         return(true);
     }
     catch
     {
         return(false);
     }
 }
Esempio n. 12
0
        public async Task <IActionResult> PostFollows([FromBody] Follows follows)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            _context.Follows.Add(follows);
            await _context.SaveChangesAsync();

            return(CreatedAtAction("GetFollows", new { id = follows.UserID }, follows));
        }
Esempio n. 13
0
        public IActionResult Update(string id, Follows followsIn)
        {
            var follows = _followsService.Get(id);

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

            _followsService.Update(id, followsIn);

            return(NoContent());
        }
Esempio n. 14
0
        /// <summary>
        /// Método para fazer a verificação e inserção do terminal
        /// </summary>
        /// <param name="terminal"></param>
        /// <returns></returns>
        public bool AddTerminalToFollow(Terminal terminal)
        {
            string value = terminal.Value;

            if (!FollowList.ContainsKey(value))
            {
                FollowList.Add(value, true);
                Follows.Add(terminal);

                return(true);
            }
            return(false);
        }
Esempio n. 15
0
        public static void DodajFollowDoBloga(string userName, string blogID)
        {
            Follows follow = new Follows();

            follow.UsersUser_ID = zwrocIdUzytkownikaPoUsername(userName);
            follow.BlogsBlog_ID = Int32.Parse(blogID);
            bazadanych.FollowsSet.Add(follow);

            var blog = zwrocBlogPoId(Int32.Parse(blogID));

            blog.followCount++;

            bazadanych.SaveChanges();
        }
Esempio n. 16
0
        public async void CancelFollow(object par)
        {
            if (!SettingHelper.Account.Logined && !await Utils.ShowLoginDialog())
            {
                Utils.ShowMessageToast("请先登录后再操作");
                return;
            }
            var item = par as FollowSeasonModel;

            try
            {
                var api     = followAPI.CancelFollowSeason(item.season_id.ToString());
                var results = await api.Request();

                if (results.status)
                {
                    var data = await results.GetJson <ApiResultModel <JObject> >();

                    if (data.success)
                    {
                        Follows.Remove(item);
                        if (Follows.Count == 0)
                        {
                            Nothing = true;
                        }
                        if (!string.IsNullOrEmpty(data.result["toast"]?.ToString()))
                        {
                            Utils.ShowMessageToast(data.result["toast"].ToString());
                        }
                        else
                        {
                            Utils.ShowMessageToast("操作成功");
                        }
                    }
                    else
                    {
                        Utils.ShowMessageToast(data.message);
                    }
                }
                else
                {
                    Utils.ShowMessageToast(results.message);
                }
            }
            catch (Exception ex)
            {
                var handel = HandelError <object>(ex);
                Utils.ShowMessageToast(handel.message);
            }
        }
Esempio n. 17
0
        public object GetUserFeed(int userId, int p, int n)
        {
            var feed = Follows
                       .Where(f => f.FollowerId == userId)
                       .Select(f => Posts.Where(pt => pt.AuthorId == f.FollowedId).ToList())
                       .SelectMany(pt => pt)
                       .OrderByDescending(pt => pt.Published)
                       .ToList()
                       .Select(pt => GetFormattedPost(pt))
                       .ToList();

            return(n < feed.Count - p ?
                   feed.GetRange(p, n) :
                   (feed.Count - p > 0 ?
                    feed.GetRange(p, feed.Count - p) :
                    new List <object> ()));
        }
Esempio n. 18
0
        public void SeedFollows()
        {
            Follows follows1 = new Follows
            {
                UserId          = "User1",
                FollowedUserIds = new List <string>
                {
                    "User2"
                }
            };

            Follows follows2 = new Follows
            {
                UserId          = "User2",
                FollowedUserIds = new List <string>
                {
                    "User4", "User5"
                }
            };

            Follows follows3 = new Follows
            {
                UserId          = "User3",
                FollowedUserIds = new List <string>()
            };

            Follows follows4 = new Follows
            {
                UserId          = "User4",
                FollowedUserIds = new List <string>()
            };

            Follows follows5 = new Follows
            {
                UserId          = "User5",
                FollowedUserIds = new List <string>()
            };

            List <Follows> followses = new List <Follows>
            {
                follows1, follows2, follows3, follows4, follows5
            };

            _follows.InsertMany(followses);
        }
Esempio n. 19
0
        public Follow AddFollow(int followerId, int followedId)
        {
            var follow = Follows.SingleOrDefault(f => f.FollowerId == followerId && f.FollowedId == followedId);

            if (follow != null)
            {
                return(follow);
            }
            var follower = GetUserById(followerId);
            var followed = GetUserById(followedId);

            follow          = new Follow();
            follow.Follower = follower;
            follow.Followed = followed;
            Follows.Add(follow);
            SaveChanges();
            return(follow);
        }
Esempio n. 20
0
        public void Delete()
        {
            ICollection <Post> temp  = AuthorPosts;
            List <Post>        temp2 = new List <Post>();

            // Supprime les posts du membre
            foreach (Post post in AuthorPosts)
            {
                if (post.IsParent)
                {
                    temp2.AddRange(post.Thread.Posts);
                    post.Delete();
                }
            }
            Model.Posts.RemoveRange(temp);
            Model.Posts.RemoveRange(temp2);
            AuthorPosts.Clear();
            if (Role == Role.Professor)
            {
                List <Course> temp3 = new List <Course>();
                foreach (Course course in Model.Courses)
                { // Supprime le professeur du cours
                    if (course.Professor.Equals(this))
                    {
                        temp3.Add(course);
                        course.Delete();
                    }
                }
                Model.Courses.RemoveRange(temp3);
            }
            Follows.Clear();
            Model.Subscriptions.RemoveRange(this.Subscription);
            foreach (Competition compet in Model.Competitions)
            { // Supprime le membre dans les competitions
                if (compet.Participants.Contains(this))
                {
                    compet.Participants.Remove(this);
                }
            }
            // Supprime le membre lui-même
            Model.Members.Remove(this);
        }
Esempio n. 21
0
        public IHttpActionResult Follow(FollowsDto dto)
        {
            var followerId = User.Identity.GetUserId();

            if (_context.Follows.Any(a => a.ArtistId == dto.ArtistId && a.FollowerId == followerId))
            {
                return(BadRequest("The attendance already exists"));
            }

            var follow = new Follows
            {
                ArtistId   = dto.ArtistId,
                FollowerId = followerId
            };

            _context.Follows.Add(follow);
            _context.SaveChanges();

            return(Ok());
        }
Esempio n. 22
0
        private async Task SetSeasonStatus(FollowSeasonModel item, int status)
        {
            if (!SettingHelper.Account.Logined && !await Utils.ShowLoginDialog())
            {
                Utils.ShowMessageToast("请先登录后再操作");
                return;
            }
            try
            {
                var api     = followAPI.SetSeasonStatus(item.season_id.ToString(), status);
                var results = await api.Request();

                if (results.status)
                {
                    var data = await results.GetJson <ApiResultModel <JObject> >();

                    if (data.success)
                    {
                        Follows.Remove(item);
                        if (Follows.Count == 0)
                        {
                            Nothing = true;
                        }
                        Utils.ShowMessageToast("操作成功");
                    }
                    else
                    {
                        Utils.ShowMessageToast(data.message);
                    }
                }
                else
                {
                    Utils.ShowMessageToast(results.message);
                }
            }
            catch (Exception ex)
            {
                var handel = HandelError <object>(ex);
                Utils.ShowMessageToast(handel.message);
            }
        }
        public ActionResult Delete([Bind(Include = "EmployeeId")] string EmployeeId)
        {
            if (EmployeeId == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            //ログインしているユーザーID取得
            string UserId = User.Identity.GetUserId();

            //フォロ-先一覧取得
            List <Follows> follows = db.Follows
                                     .Where(r => r.EmployeeId == UserId)
                                     .ToList();

            if (follows == null)
            {
                return(HttpNotFound());
            }

            //解除したいフォロー先従業員の行取得
            Follows follow = follows.Find(f => f.FollowId == EmployeeId);

            if (follow == null)
            {
                return(HttpNotFound());
            }

            // 行削除
            db.Follows.Remove(follow);
            db.SaveChanges();

            //解除先従業員名取得
            string deleteName = db.Users.Find(follow.FollowId).EmployeeName;

            TempData["flush"] = String.Format("{0}さんのフォローを解除しました。", deleteName);

            return(RedirectToAction("Index", "Follows"));
        }
Esempio n. 24
0
        public ActionResult AddFollow(long userId)
        {
            Follows f = new Follows();

            f.followeType  = 1;
            f.followTime   = DateTime.Now;
            f.followUserId = userId;
            f.userId       = loginUser.userId;
            if (_followsService.addNewFollow(f))
            {
                User user = _userService.getUserById(userId);
                user.userFans = user.userFans + 1;
                //活跃度+1
                user.userVitality = user.userVitality + 1;
                _userService.updateUser(user);
                JsonResult["boo_success"] = true;
                return(Json(JsonResult));
            }
            else
            {
                JsonResult["boo_success"] = false;
                return(Json(JsonResult));
            }
        }
Esempio n. 25
0
        public async Task <FollowLists> GetFollowLists()
        {
            var f = new FollowLists();

            f.isGood = true;
            if (currentFollows == null)
            {
                var tempF = await HelixAPI.GetFollows(ConfigMgnr.I.User);

                if (!tempF.IsOk)
                {
                    f.isGood = false;
                    return(f);
                }
                currentFollows = tempF;
            }

            f.online  = new List <Follow>();
            f.offline = new List <Follow>();

            foreach (var item in currentFollows.Follow)
            {
                if (currentStreams != null && currentStreams.Stream.Exists(x => x.Channel.Equals(item.Name)))
                {
                    f.online.Add(item);
                }
                else
                {
                    f.offline.Add(item);
                }
            }

            f.online  = f.online.OrderBy(x => x.Name).ToList();
            f.offline = f.offline.OrderBy(x => x.Name).ToList();
            return(f);
        }
Esempio n. 26
0
 public bool IsFollowing(int artistId)
 {
     return(Follows.Select(x => x.Artist?.Id).Contains(artistId));
 }
Esempio n. 27
0
 public int GetFollowerCount(int id)
 {
     return(Follows.Where(f => f.FollowedId == id).Count());
 }
Esempio n. 28
0
 public ICollection <int> GetFolloweds(int id)
 {
     return(Follows.Where(f => f.FollowerId == id).Select(f => f.FollowedId).ToList());
 }
Esempio n. 29
0
        // GET: /Posts/IncreaseFollower
        public string IncreaseFollower(int followerID)
        {
            // Check Follow exists
            string userEmail = HttpContext.Session.GetString(SessionKey);

            var users = _context.Users
                        .Where(m => m.Email == userEmail)
                        .ToList <Users>();

            int userID = users[0].Id;

            var follows = _context.Follows
                          .Where(m => m.FollowingUser == userID && m.FollowedUser == followerID)
                          .ToList <Follows>();

            // Increase Follower and Following
            if (follows.Count == 0)
            {
                // Update following
                int followingCount = (int)users[0].FollowingCount + 1;
                users[0].FollowingCount = followingCount;
                _context.Update(users[0]);

                //Update follower
                var followedUsers = _context.Users
                                    .Where(m => m.Id == followerID)
                                    .ToList <Users>();

                followedUsers[0].FollowersCount = followedUsers[0].FollowersCount + 1;
                _context.Update(followedUsers[0]);

                //Insert record into Follows table
                var followRecord = new Follows();
                followRecord.FollowingUser = userID;
                followRecord.FollowedUser  = followerID;
                _context.Add(followRecord);

                // commit changes
                _context.SaveChanges();

                return(JsonConvert.SerializeObject(new { result = "true", FollowingCount = followingCount }));
            }
            // Decrease Follower and Following
            else
            {
                // Update following
                int followingCount = (int)users[0].FollowingCount - 1;
                users[0].FollowingCount = followingCount;
                _context.Update(users[0]);

                //Update follower
                var followedUsers = _context.Users
                                    .Where(m => m.Id == followerID)
                                    .ToList <Users>();

                followedUsers[0].FollowersCount = followedUsers[0].FollowersCount - 1;
                _context.Update(followedUsers[0]);

                //Insert record into Follows table
                _context.Remove(follows[0]);

                // commit changes
                _context.SaveChanges();

                return(JsonConvert.SerializeObject(new { result = "false", FollowingCount = followingCount }));
            }
        }
Esempio n. 30
0
        public void CalcularAFD(ArrayList ER)
        {
            Stack <Nodo> Simbolos         = new Stack <Nodo>();
            List <Nodo>  ExpresionRegular = new List <Nodo>();
            ArrayList    ST   = new ArrayList();
            int          cont = 1;

            for (int x = 0; x < ER.Count; x++)
            {
                if (ER[x].ToString() != "·" && ER[x].ToString() != "(" && ER[x].ToString() != "|" && ER[x].ToString() != ")" && ER[x].ToString() != "*" && ER[x].ToString() != "+" && ER[x].ToString() != "?")
                {
                    Follows Siguiente = new Follows();
                    Siguiente.Indice  = cont;
                    Siguiente.Simbolo = ER[x].ToString();
                    LSiguientes.Add(Siguiente);
                    Nodo N = new Nodo();
                    N.simbolo = ER[x].ToString();
                    N.First.Add(cont);
                    N.Last.Add(cont);
                    N.Nulo = false;
                    cont++;
                    ExpresionRegular.Add(N);
                    if ((!ST.Contains(ER[x])) && ER[x].ToString() != "#")
                    {
                        ST.Add(ER[x]);
                    }
                }
                else
                {
                    Nodo N = new Nodo();
                    N.simbolo = ER[x].ToString();
                    ExpresionRegular.Add(N);
                }
            }
            for (int x = 0; x < ER.Count; x++)
            {
                if (ER[x].ToString() != "·" && ER[x].ToString() != "(" && ER[x].ToString() != "|" && ER[x].ToString() != ")" && ER[x].ToString() != "*" && ER[x].ToString() != "+" && ER[x].ToString() != "?")
                {
                    Simbolos.Push(ExpresionRegular[x]);
                }
                else
                {
                    CalcularNuevoNodo(ER[x].ToString(), ref Simbolos);
                }
            }
            MostrarFollows();

            //Tabla final
            Queue <string> ConjuntosNuevos  = new Queue <string>();
            List <string>  ConjuntosExisten = new List <string>();

            string[]   conjuntos = new string[ST.Count + 1];
            string     Inicio    = "";
            Nodo       N2        = Simbolos.Pop();
            List <int> First     = N2.First;

            for (int x = 0; x < First.Count; x++)
            {
                Inicio += First[x] + ",";
            }
            Inicio       = Inicio.TrimEnd(',');
            conjuntos[0] = Inicio;
            ConjuntosNuevos.Enqueue(Inicio);
            ConjuntosExisten.Add(Inicio);
            ST.Sort();
            while (ConjuntosNuevos.Count != 0)
            {
                if (ConjuntosNuevos.Count != 0)
                {
                    conjuntos[0] = ConjuntosNuevos.Dequeue();
                }
                for (int x = 0; x < ST.Count; x++)
                {
                    for (int y = 0; y < LSiguientes.Count; y++)
                    {
                        if (ST[x].ToString() == LSiguientes[y].Simbolo && conjuntos[0].Contains(LSiguientes[y].Indice.ToString()))
                        {
                            for (int z = 0; z < LSiguientes[y].Follow.Count; z++)
                            {
                                if (conjuntos[x + 1] == null || conjuntos[x + 1] == "")
                                {
                                    conjuntos[x + 1] += LSiguientes[y].Follow[z].ToString();
                                }
                                else if (!conjuntos[x + 1].Contains(LSiguientes[y].Follow[z].ToString()))
                                {
                                    conjuntos[x + 1] += "," + LSiguientes[y].Follow[z].ToString();
                                }
                            }
                            conjuntos[x + 1] = conjuntos[x + 1].TrimEnd(',');
                            if (conjuntos[0] != conjuntos[x + 1] && !ConjuntosExisten.Contains(conjuntos[x + 1]))
                            {
                                ConjuntosNuevos.Enqueue(conjuntos[x + 1]);
                                ConjuntosExisten.Add(conjuntos[x + 1]);
                            }
                        }
                    }
                }
                Tabla.Add(conjuntos);
                conjuntos = new string[ST.Count + 1];
            }
            MostrarTabla(ST, ConjuntosExisten);
        }