User.cs 2.68 KB
using MoyaAdminLib;
using MoyaAdminUI.MoyaAPI;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Web.Script.Serialization;

namespace MoyaAdminLib
{
    public class User
    {
        public User(Eventuser user)
        {
            APIreference = user;
        }
        public User()
        {
            APIreference = new Eventuser();
        }
        private Eventuser APIreference;
        public Eventuser APIReference
        {
            get { return APIreference; }
        }
        /// <summary>
        /// Event user id
        /// </summary>
        public int EventUserId
        {
            get { return APIreference.eventuserId; }
        }
        /// <summary>
        /// User global id. Usual you want event user id!
        /// </summary>
        public int UserId
        {
            get { return APIreference.userId; }
        }

        public string Nick
        {
            get { return APIreference.nick; }
        }

        public string Lastname
        {
            get { return APIreference.lastname; }
        }

        public string Firstname
        {
            get { return APIreference.firstname; }
        }

        public string Login
        {
            get { return APIreference.login; }
        }

        public string Birthday
        { 
            get {return APIreference.birthday;}
        }
        //MALE FEMALE UNDEFINED
        public string Gender
        {
            get {return APIreference.gender;}
        }
        public string Email;
            

        public string PhoneNumber
        {
                get {return APIreference.phoneNumber;}
        }
        public string StreetAddress
        {
            get { return APIreference.streetAddress; }
        }

        public string ZipCode
        {
            get { return APIreference.zipCode; }
        }

        public string postOffice
        {
            get { return APIreference.postOffice; }
        }


        public override string ToString()
        {
            return this.Firstname + " " + Lastname;
        }


        public static List<User> Cache = new List<User>();

        public static void LoadAll()
        {
            User.Cache.Clear();
            RestClient client = new RestClient();
            string json = client.MakeRequest("user/eventusers");
            var ser = new JavaScriptSerializer();
            EventUsers users = ser.Deserialize<EventUsers>(json);
            if (users != null)
            {
                foreach (Eventuser u in users.eventusers)
                {
                    User.Cache.Add(new User(u));
                }
            }

        }
    }
}