internal CurrentUser(IEnumerable <Recording> list, string PID, string PWD_hash, int UID, IPSKcore service) { _TargetService = service; this.PID = PID; this.PWD_hash = PWD_hash; this.UID = UID; //for (int i = 0; i < list.Count; i++) // recordings.Add(new Info(list[i], this)); foreach (var t in list) { recordings.Add(new Info(t, this)); } recordings.CollectionChanged += Recordings_CollectionChanged; }
private void Obj_Disposed(IPSKcore obj) { _ServiceCollection.Remove(obj); }
public Info(IPSKcore service) { this.service = service; }
public async Task TryLoginAsync(UserNotFoundReceipt e, IPSKcore service) { using (APPDbContext db = new APPDbContext()) { bool b_UserVertifyEvent = false; bool b_UserPwdVertifyFailEvent = false; bool b_UserNotFoundEvent = false; await Task.Run(() => { string pwd_hash_aes = AssetsController.EncryptwithAppaesobj(PWD_hash); var iuserlist = from t in db.Users where t.pid == PID select t; if (iuserlist.Count() == 0) { switch (e) { case UserNotFoundReceipt.Create: User dbuser = new User() { pid = PID, pwd = pwd_hash_aes }; db.Entry(dbuser).State = Microsoft.EntityFrameworkCore.EntityState.Added; db.SaveChangesAsync(); break; case UserNotFoundReceipt.None: b_UserNotFoundEvent = true; return; } } else { var vertifyuser = iuserlist.ToList()[0]; if (vertifyuser.pid != PID || vertifyuser.pwd != pwd_hash_aes) { b_UserPwdVertifyFailEvent = true; } } int UID = (from t in db.Users where PID == t.pid && pwd_hash_aes == t.pwd select t).ToList()[0].ID; var rlist = from t in db.Recordings where t.uid == UID select t; service.Regist(new CurrentUser(rlist, PID, PWD_hash, UID, service)); b_UserVertifyEvent = true; }); if (b_UserPwdVertifyFailEvent) { UserPwdVertifyFailEvent?.Invoke(this); } if (b_UserVertifyEvent) { UserVertifyEvent?.Invoke(this); } if (b_UserNotFoundEvent) { UserNotFoundEvent?.Invoke(this); } } }