Ejemplo n.º 1
0
        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());
        }
Ejemplo n.º 2
0
        /// <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);
        }
Ejemplo n.º 3
0
        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");
        }