コード例 #1
0
        async void View_OnQueryDeviceInfo(object sender, EventArgs e)
        {
            //1.查询本地科室
            List <Data.iDept> deptList = Model.QueryLocalDept();

            if (deptList.Count == 0)
            {//不存在则先从服务器获取
                deptList = await Model.QueryServerDept();

                //List<Data.iIllfieldDept> IllfieldDept = await Model.QueryServerIllfieldDept();
                //同步至本地
                Model.SaveDeptToLocal(deptList);
                deptList = Model.QueryLocalDept();
            }
            //List<Data.iIllfieldDept> IllfieldDeptList = Model.QueryLocalIllfieldDept();
            //2.显示当前病区和科室
            View.ExeShowDeptList(deptList);
            //3.查询本地设备信息
            Data.iDevice device = Model.QueryLocalDevice(iCommon.DeviceID);

            if (device != null)
            {//存在设备信息,则显示,以便修改
                List <Data.iDeviceOffice> idoList = Model.QueryLocalDeviceOffice(iCommon.DeviceID);
                //4.显示设备配置信息
                View.ExeShowDeviceInfo(device, idoList);
            }
        }
コード例 #2
0
ファイル: DeviceRegisterModel.cs プロジェクト: whuacn/CJia
 /// <summary>
 /// 保存设备到本地
 /// </summary>
 /// <param name="device"></param>
 public void SaveLocalDeviceInfo(Data.iDevice device)
 {
     using (SQLite.SQLiteConnection conn = new SQLite.SQLiteConnection(iDB.DbFile))
     {
         string SqlText           = @"Select * From [iDevice] Where [DeviceID]=?";
         SQLite.SQLiteCommand cmd = conn.CreateCommand(SqlText, device.DeviceID);
         var Result = cmd.ExecuteQuery <iDevice>();
         if (Result.Count == 1)
         {
             conn.Update(device);
         }
         else
         {
             conn.Insert(device);
         }
     }
 }
コード例 #3
0
        async void View_OnSaveDeviceInfo(object sender, Views.DeviceRegisterEventArgs e)
        {
            Data.iDevice device = new Data.iDevice();
            device.DeviceID   = iCommon.DeviceID;
            device.DeviceName = e.DeviceName;
            device.Notes      = e.Notes;
            device.Status     = e.Status;
            device.CreateDate = iCommon.DateNow;

            bool IsSaveSuccess = await Model.SaveDeviceInfo(iCommon.DeviceID, e.DeviceName, e.Notes, e.Status, e.OfficeIDs, e.OfficeNames);

            if (IsSaveSuccess)
            {
                Model.SaveLocalDeviceInfo(device);
                Model.SaveLocalDeviceOffice(iCommon.DeviceID, e.OfficeIDs, e.OfficeNames);
            }
            View.ExeShowSaveResult(IsSaveSuccess);
        }
コード例 #4
0
ファイル: DeviceRegister.xaml.cs プロジェクト: whuacn/CJia
 public void ExeShowDeviceInfo(Data.iDevice device, List <Data.iDeviceOffice> OfficeList)
 {
     if (device == null)
     {
         return;
     }
     this.txtDeviceName.Text = device.DeviceName;
     this.txtNotes.Text      = device.Notes;
     if (OfficeList.Count > 0)
     {
         foreach (Data.iDeviceOffice ido in OfficeList)
         {
             Data.iDept dept = DeptDataList.Find(dd => dd.DeptID == ido.OfficeID);
             if (dept != null)
             {
                 this.listOffice.SelectedItems.Add(dept);
             }
         }
     }
 }
コード例 #5
0
ファイル: LoginPresenter.cs プロジェクト: whuacn/CJia
        /// <summary>
        /// 检查设备状态
        /// </summary>
        /// <returns></returns>
        async Task <bool> CheckDevice(string UserCode, string Password)
        {
            if (iCommon.CurrentDevice != null)
            {
                if (iCommon.CurrentDevice.Status == "正常")
                {
                    return(true);
                }
                else
                {
                    View.ExeLoginFail("当前设备已被禁用,请与管理员联系。");
                    return(false);
                }
            }
            //如果本地无设备信息,说明是第一次使用,或重新安装程序等。
            if (iCommon.IsOnline == false || iCommon.IsConnected == false)
            {
                View.ExeLoginFail("设备初次使用时,请先联网登录。");
                return(false);
            }
            bool Result = false;

            //如果是在线模式并且网络连通,则从服务器检索该设备信息
            Data.iDevice device = await Model.QueryServerDeviceInfo(iCommon.DeviceID);

            if (device != null)
            {//当前设备已在服务器中登记过
                //将数据同步至本地
                Model.SaveDeviceInfoToLocal(device);
                List <Data.iDeviceOffice> doList = await Model.QueryServerDeviceOfficeInfo(iCommon.DeviceID);

                if (doList != null)
                {
                    Model.SaveDeviceOfficeInfoToLocal(doList);
                }
                iCommon.CurrentDevice = device;
                iCommon.DeviceOffice  = doList;

                if (device.Status == "正常")
                {
                    return(true);
                }
                else
                {//若设备状态为非正常,则禁止使用。
                    View.ExeLoginFail("当前设备已被禁用,请与管理员联系。");
                }
            }
            else
            {//若设备未在服务器中登记,则检查当前用户是否管理员
                User user = await Model.Login(UserCode, Password, "");

                if (user != null)
                {
                    if (user.UserType == "管理员")
                    {
                        View.ExeShowDeviceRegister();
                    }
                    else
                    {
                        View.ExeLoginFail("设备初次使用,需要由管理员先进行登记。");
                    }
                }
                else
                {
                    View.ExeLoginFail("设备初次使用,必须由管理员先进行登记。");
                }
            }

            return(Result);
        }