示例#1
0
        public Result Index(string token)
        {
            _logger.Debug($"friends.getRequested?&token={token}");
            var result = new Result();

            if (Helpers.CheckerTokenHelper.GetUser(token) is null)
            {
                _logger.Debug("Пользователь указал не верный токен");
                var error = new Error();
                error.Code    = 2;
                error.Message = "Неверный токен.";

                result.Data   = error;
                result.Status = false;

                return(result);
            }

            using (var db = new DatabaseContext())
            {
                var user       = db.Users.SingleOrDefault(u => u.Token == token);
                var friendsIds = new List <long>();

                foreach (var idString in user.FriendsRequested.Split(","))
                {
                    try
                    {
                        friendsIds.Add(long.Parse(idString));
                    }catch (FormatException) {}
                }

                var data = new Shared.Models.Friends.Get();
                data.Friends = new List <Shared.Models.Users.User>();
                foreach (var friendId in friendsIds)
                {
                    var friend = new Shared.Models.Users.User();
                    var f      = db.Users.Single(u => u.UserId == friendId);
                    friend.Nickname       = f.Nickname;
                    friend.Number         = f.Number;
                    friend.FirstName      = f.FirstName;
                    friend.LastName       = f.LastName;
                    friend.UserId         = f.UserId;
                    friend.PathProfilePic = f.PathProfilePic;
                    friend.LastSeen       = f.LastSeen;
                    var time = "Был в сети " + TimeSpan.FromSeconds(f.LastSeen).ToString(@"hh\:mm");
                    friend.LastSeenText = time;
                    data.Friends.Add(friend);
                }

                result.Status = true;
                result.Data   = data;
                return(result);
            }
        }
示例#2
0
        public ResponseCommand Execute(object data, User user, ILoggerService logger)
        {
            var response = new ResponseCommand();

            if (!(data is Shared.Models.Users.GetInfo))
            {
                response.Data     = 5;
                response.TypeData = "error";
                return(response);
            }

            var info = (Shared.Models.Users.GetInfo)data;

            using (var db = new ServerData())
            {
                var usr = db.Users.SingleOrDefault(u => u.UserId == info.UserId);
                if (usr is null)
                {
                    response.Data     = 10;
                    response.TypeData = "error";
                    return(response);
                }


                var usrModel = new Shared.Models.Users.User();

                usrModel.Nickname       = usr.Nickname;
                usrModel.Number         = usr.Number;
                usrModel.FirstName      = usr.FirstName;
                usrModel.LastName       = usr.LastName;
                usrModel.UserId         = usr.UserId;
                usrModel.PathProfilePic = usr.PathProfilePic;

                response.Data     = usrModel;
                response.TypeData = "usr.info";
            }

            return(response);
        }
示例#3
0
        public Result Get(long userId, string token)
        {
            var result = new Result();

            var usrRequest = Helpers.CheckerTokenHelper.GetUser(token);

            if (usrRequest is null)
            {
                var error = new Error();
                error.Code    = 2;
                error.Message = "Неверный токен.";

                result.Data   = error;
                result.Status = false;

                return(result);
            }

            if (userId == 0)
            {
                var usr = new Shared.Models.Users.User();
                usr.Nickname       = usrRequest.Nickname;
                usr.Number         = usrRequest.Number;
                usr.FirstName      = usrRequest.FirstName;
                usr.LastName       = usrRequest.LastName;
                usr.UserId         = usrRequest.UserId;
                usr.PathProfilePic = usrRequest.PathProfilePic;
                usr.LastSeen       = usrRequest.LastSeen;
                var time = "Был в сети " + TimeSpan.FromSeconds(usr.LastSeen).ToString(@"hh\:mm");
                usr.LastSeenText = time;
                result.Data      = usr;
                result.Status    = true;
                return(result);
            }


            using (var db = new DatabaseContext())
            {
                var user = db.Users.SingleOrDefault(u => u.UserId == userId);

                if (user is null)
                {
                    var error = new Error();
                    error.Code    = 10;
                    error.Message = "Пользователя с таким Id нет.";
                    result.Data   = error;
                    result.Status = false;

                    return(result);
                }

                var usr = new Shared.Models.Users.User();
                usr.Nickname       = user.Nickname;
                usr.Number         = "";
                usr.FirstName      = user.FirstName;
                usr.LastName       = user.LastName;
                usr.UserId         = userId;
                usr.PathProfilePic = user.PathProfilePic;

                result.Data   = usr;
                result.Status = true;

                return(result);
            }
        }