Пример #1
0
        public async Task AddFriend(string User, string ForConfirm, string Confirmed, bool forremove = false)
        {
            try
            {
                using (IServiceScope scope = _sp.CreateScope())
                {
                    SwishDBContext dbContext = scope.ServiceProvider.GetRequiredService <SwishDBContext>();

                    if (forremove)
                    {
                        dbContext.Database.ExecuteSqlRaw("EXECUTE dbo.RemoveFriend @MyUserName={0}, @UserName={1}", Context.User.Identity.Name, User);
                        return;
                    }

                    if (ForConfirm == "true")
                    {
                        if (Confirmed == "true")
                        {
                            FriendsModel entity = dbContext.Friends.FirstOrDefault(item => item.FriendKey == (Context.User.Identity.Name + User));
                            if (entity != null)
                            {
                                entity.Confirmed = true;
                                dbContext.Friends.Update(entity);
                                dbContext.SaveChanges();
                            }
                        }
                        else
                        {
                            FriendsModel entity = dbContext.Friends.FirstOrDefault(item => item.FriendKey == (Context.User.Identity.Name + User));
                            if (entity != null)
                            {
                                entity.Confirmed = true;
                                dbContext.Friends.Remove(entity);
                                dbContext.SaveChanges();
                            }
                        }
                    }
                    else
                    {
                        FriendsModel t = new FriendsModel
                        {
                            FriendKey = User + Context.User.Identity.Name,
                            User1     = Context.User.Identity.Name,
                            User2     = User
                        };

                        dbContext.Friends.Add(t);
                        dbContext.SaveChanges();
                    }

                    await Clients.User(User).SendAsync("ReceiveNotif", ForConfirm, Context.User.Identity.Name);
                }
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex.ToString());
            }
        }
Пример #2
0
        public async Task SaveComment(int PostId, string Comment)
        {
            try
            {
                using (IServiceScope scope = _sp.CreateScope())
                {
                    SwishDBContext dbContext = scope.ServiceProvider.GetRequiredService <SwishDBContext>();
                    CommentModel   t         = new CommentModel
                    {
                        UserID  = Context.User.Identity.Name,
                        PostId  = PostId,
                        Comment = Comment,
                        CLikes  = 0,
                        Deleted = false
                    };

                    Console.WriteLine(PostId + " : " + Comment);

                    dbContext.CommentsModels.Add(t);
                    dbContext.SaveChanges();

                    await Clients.Caller.SendAsync("LikedCom", t.CommentID);
                }
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex.ToString());
            }
        }