void onmsg(MsgCode msg) { if (msg == MsgCode.Null) { return; } if (msg == MsgCode.User_Login) { // is user logined var user = FC.Get <User> (MsgCode.User_Login_Get); if (user != default(User)) { return; } var users = FC.QueryUser(); var retlen = 0; if (users.Length == 1) { Msg_User_Login login = new Msg_User_Login(); login.user = users[0]; login.password = "******"; FC.Send <Msg_User_Login> (MsgCode.User_Login, login, ref retlen); } } this.msg.Show(msg.ToString()); }
/// <summary> /// open file for read or write permission /// </summary> /// <param name="path"></param> /// <returns></returns> public bool open(string path) { file = path; if (!IsAdministrator()) { status = Language("admin"); return(false); } // is driver installed if (!FC.installed) { status = Language("driver_no_install"); return(false); } // is driver load if (!FC.isopen) { status = Language("driver_no_run"); return(false); } if (FC.WorkRoot == null) { status = Language("no_work_dir"); return(false); } // get file info fileInfo = FC.getFilePM(path); if (fileInfo.Equals(default(Msg_File))) { return(false); } userName = fileInfo.user.user + " " + fileInfo.user.group; // get current user user = FC.Get <User> (MsgCode.User_Login_Get); hasPM = user == fileInfo.user; pmItems = new PMItem[6]; uint code = 1; for (int i = 0; i < pmItems.Length; i++, code <<= 1) { pmItems[i] = new PMItem { vm = this, name = p.Resources.ResourceManager.GetString("pm_name_" + i.ToString()), enable = (fileInfo.pmCode & (PermissionCode)code) != PermissionCode.Invalid, code = (PermissionCode)(code), }; } status = ""; return(true); }
public void refresh() { status = ""; islogin = false; bool need_admin = false; if (!IsAdministrator()) { status = Language("admin"); return; } // is driver installed if (!FC.installed) { status = Language("driver_no_install"); this.page = null; return; } // is driver load if (!FC.isopen) { status = Language("driver_no_run"); this.page = null; return; } //if (FC.onMsging == null) { FC.onMsging += } if (!FC.hasAdmin) { Show <AdminCreate> (new AdminCreateViewModel() { vm = this }); return; } if (FC.WorkRoot == null) { status = Language("no_work_dir"); need_admin = true; } // is user already login User user = FC.Get <User> (MsgCode.User_Login_Get); if (!user.Equals(default(User))) { loginUser = user; islogin = true; Show <UserViewPage> (new UserViewModel(this, user)); return; } // query all user userVms.Clear(); users = FC.QueryUser(); if (users != null) { for (int i = 0; i < users.Length; i++) { if (!need_admin) { userVms.Add(new UserViewModel(this, users[i])); } else if (users[i].isAdmin()) { userVms.Add(new UserViewModel(this, users[i])); } } // is only one user if (users.Length == 1) { Show <UserLoginPage> (userVms[0]); } else { ShowAllUser(); } return; } this.page = null; status = Language("no_user"); }