示例#1
0
        public bool Contains(DXUser user, string fileName)
        {
            string uid = GetEnsureUID(user);

            return(collection
                   .Find(item => item.FileName == fileName && item.OwnerUID == uid)
                   .Count() > 0);
        }
示例#2
0
        public static IEnumerable <RecentItem> GetFiles(DXUser user)
        {
            string uid = GetEnsureUID(user);

            return(db.collection
                   .Find(item => item.OwnerUID == uid)
                   .OrderByDescending(item => item.LastedTime));
        }
示例#3
0
文件: UserDB.cs 项目: sunfom/DeXign
        public static void SetUser(DXUser user)
        {
            var user2 = new DXUser2(
                user.UID,
                user.UserName,
                user.Email);

            db.SetUserImpl(user2);
        }
示例#4
0
        private void Remove(DXUser user, string fileName)
        {
            string uid = GetEnsureUID(user);

            if (Contains(user, fileName))
            {
                collection.Delete(
                    item => item.FileName == fileName &&
                    item.OwnerUID == uid);
            }
        }
示例#5
0
        private void ShowMainWindow(DXUser user)
        {
            GlobalModel.Instance.User = user;
            UserDB.SetUser(user);

            this.Hide();

            var window = new MainWindow();

            window.Closed += Window_Closed;
            window.Show();
        }
示例#6
0
        public void Update(DXUser user, string fileName)
        {
            if (!Contains(user, fileName))
            {
                return;
            }

            RecentItem item = collection
                              .FindOne(r => r.FileName == fileName);

            item.LastedTime = DateTime.Now;

            collection.Update(item);
        }
示例#7
0
 private void Add(DXUser user, string fileName)
 {
     if (!Contains(user, fileName))
     {
         collection.Insert(
             new RecentItem(fileName)
         {
             OwnerUID = GetEnsureUID(user)
         });
     }
     else
     {
         Update(user, fileName);
     }
 }
示例#8
0
        public static async Task <bool> Login(string email, string password)
        {
            MessageBuss.Send("BeginLoading", null);

            LoginResponse res = await DXAPI.Login(email, password, UserRole.Client);

            if (res.Status == APIResponseStatus.Success && res.Result == LoginResult.Success)
            {
                DXNetwork.User = new DXUser(res.UID, res.UserName, email);
                MessageBuss.Send("LoginStateChanged", (res.UID, res.UserName, email));
                MessageBuss.Send("EndLoading", null);

                return(true);
            }

            DXNetwork.User = null;
            MessageBuss.Send("LoginStateChanged", null);
            MessageBuss.Send("EndLoading", null);

            return(false);
        }
示例#9
0
        public async void Login()
        {
            string email    = emailBox.Text;
            string password = passwordBox.Password;

            BeginLoading();

            LoginResponse response = await DXAPI.Login(email, password, UserRole.DeXign);

            EndLoading();

            if (response.Status == APIResponseStatus.Success)
            {
                switch (response.Result)
                {
                case LoginResult.Success:
                    var user = new DXUser(
                        response.UID,
                        response.UserName,
                        email);

                    ShowMainWindow(user);
                    break;

                case LoginResult.Pending:
                    SetMessage("이메일 인증을 진행중입니다. 이메일을 확인해주세요.", 5000);
                    break;

                default:
                    SetMessage("이메일 또는 비밀번호를 다시 확인하세요.", 2000);

                    passwordBox.Clear();
                    passwordBox.Focus();
                    break;
                }
            }
        }
示例#10
0
文件: App.xaml.cs 项目: sunfom/DeXign
        private async Task <bool> IsValidated(DXUser user)
        {
            var result = await DXAPI.Validate(user.UID);

            return(result.Status == APIResponseStatus.Success);
        }
示例#11
0
 public static void SetUser(DXUser user)
 {
     DXDatastore.User = user;
 }
示例#12
0
 private static string GetEnsureUID(DXUser user)
 {
     return(user?.UID ?? "Anonymous");
 }
示例#13
0
 public static void RemoveFile(DXUser user, string fileName)
 {
     db.Remove(user, fileName);
 }
示例#14
0
 public static void AddFile(DXUser user, string fileName)
 {
     db.Add(user, fileName);
 }