Example #1
0
 internal void AddCoordinateSystemChangedObserver(ICoordinateSystemObserver obs)
 {
     m_CoordinateSystemChangedEvent += new ModelHandler(obs.CoordinateSystemChanged);
 }
Example #2
0
 internal void AddNCProgramObserver(IProgramObserver obs)
 {
     m_NewProgramEvent += new ModelHandler(obs.NewProgram);
 }
 //IModelObserver arayüzünü implemete eden view sınıflarımız modelimize
 //abone olabilir.  Böylece, değer değiştiğinde hepsi notify edilebilir.
 public void AboneOl(IModelObserver imo) 
 {
     changed += new ModelHandler<SayiIslemModel>(imo.sayiyiArttir);
 }
Example #4
0
        private void gridControl_abnormal_MouseDoubleClick(object sender, MouseEventArgs e)
        {
            if (gridView_abnormal.SelectedRowsCount != 1)
            {
                MessageBox.Show("请选择一条记录!", "警告");
                return;
            }
            //获取选中的行的行号
            int[] rowNums = gridView_abnormal.GetSelectedRows();
            List<GateRecord> list = (List<GateRecord>)gridControl_abnormal.DataSource;
            DataRow dr = new ModelHandler<GateRecord>().FillDataRow(list[rowNums[0]]);

            ShowClearanceInfoForm showClearanceInfoForm = new ShowClearanceInfoForm(dr);
            showClearanceInfoForm.ShowDialog();
        }
Example #5
0
        /// <summary>
        /// 根据表名获得字典表
        /// </summary>
        public DataTable GetDictDataByTableName(string tableName)
        {
            DataTable data = null;

            switch (tableName)
            {
            case "MED_MONITOR_FUNCTION_CODE":
                data = new ModelHandler <MED_MONITOR_FUNCTION_CODE>().FillDataTable(ApplicationModel.Instance.AllDictList.MonitorFuctionCodeList);
                break;

            case "MED_EVENT_DICT":
                data = new ModelHandler <MED_EVENT_DICT>().FillDataTable(DictService.ClientInstance.GetEventDictList());
                break;

            case "MED_EVENT_DICT_EXT":
                data = new ModelHandler <MED_EVENT_DICT_EXT>().FillDataTable(DictService.ClientInstance.GetEventDictExtList());
                break;

            case "MED_UNIT_DICT":
                data = new ModelHandler <MED_UNIT_DICT>().FillDataTable(DictService.ClientInstance.GetUnitDictList());
                break;

            case "MED_ADMINISTRATION_DICT":
                data = new ModelHandler <MED_ADMINISTRATION_DICT>().FillDataTable(DictService.ClientInstance.GetMedAdministrationDict());
                break;

            case "MED_EVENT_SORT":
                data = new ModelHandler <MED_EVENT_SORT>().FillDataTable(DictService.ClientInstance.GetEventSortList(ExtendAppContext.Current.LoginUser.LOGIN_NAME));
                break;

            case "MED_HIS_USERS":
                data = new ModelHandler <MED_HIS_USERS>().FillDataTable(DictService.ClientInstance.GetHisUsersList());
                break;

            case "MED_DEPT_DICT":
                data = new ModelHandler <MED_DEPT_DICT>().FillDataTable(DictService.ClientInstance.GetDeptDictList());
                break;

            case "MED_OPERATING_ROOM":
                data = new ModelHandler <MED_OPERATING_ROOM>().FillDataTable(DictService.ClientInstance.GetOperatingRoomListByType("0", ExtendAppContext.Current.OperDeptCode));
                break;

            case "MED_ANESTHESIA_INPUT_DICT":
                data = new ModelHandler <MED_ANESTHESIA_INPUT_DICT>().FillDataTable(DictService.ClientInstance.GetAnesthesiaInputDictList());
                break;

            case "MED_BLOOD_GAS_DICT":
                data = new ModelHandler <MED_BLOOD_GAS_DICT>().FillDataTable(ApplicationModel.Instance.AllDictList.BloodGasDictList);
                break;

            case "MED_WARD_DICT":
                data = new ModelHandler <MED_WARD_DICT>().FillDataTable(DictService.ClientInstance.GetWardDictList());
                break;

            case "MED_ANESTHESIA_DICT":
                data = new ModelHandler <MED_ANESTHESIA_DICT>().FillDataTable(DictService.ClientInstance.GetAnesthesiaDictList());
                break;

            case "MED_MONITOR_DICT":
                data = new ModelHandler <MED_MONITOR_DICT>().FillDataTable(DictService.ClientInstance.GetMonitorDictList());
                break;

            case "MED_PAT_MONITOR_DATA_DICT":
                data = new ModelHandler <MED_PAT_MONITOR_DATA_DICT>().FillDataTable(DictService.ClientInstance.GetPatMonitorDict());
                break;
            }

            return(data);
        }
Example #6
0
File: Model.cs Project: vladus/IPP
 // Attach the function which is implementing the IModelObserver so that it can be
 // notified when a value is changed
 public void attach(IModelObserver imo)
 {
     changed += new ModelHandler<IncModel>(imo.valueChanged);
 }
Example #7
0
 public static ModelHandler <TModel> Bind <TModel>(this ModelHandler <TModel> mapper, Expression <Func <TModel, int?> > lamda,
                                                   Entry entry, StackLayout errors)
     where TModel : class, new()
 => mapper.Bind(lamda, new IntNullMapper(entry, errors));
Example #8
0
 internal void AddOutputObserver(IOutputObserver obs)
 {
     m_OutputMessage += new ModelHandler<GlobalStateModel>(obs.NewOutputMessage);
 }
 public void Attach(IModelObserver modelObserver)
 {
     Changed += new ModelHandler <ModelList>(modelObserver.ListChanged);
 }
Example #10
0
 // Attach the function which is implementing the IModelObserver so that it can be
 // notified when a value is changed
 public void attach(IModelObserver imo)
 {
     changed += new ModelHandler <IncModel>(imo.valueIncremented);
 }
Example #11
0
File: Model.cs Project: DoSchoe/ITS
 /// <summary>
 /// Attach observer for the workspace view
 /// </summary>
 /// <param name="imo">Selected view</param>
 public void attachWorkspace(IModelObserverWorkspace imo)
 {
     worksapceChanged       += new ModelHandler <Model>(imo.workspaceSet);
     enableWorkspaceButtons += new ModelHandler <Model>(imo.enableOK);
 }
Example #12
0
        /// <summary>
        /// 根据表名从数据库中获取数据
        /// </summary>
        private DataTable BuildData(string tableName)
        {
            DataTable data = null;
            string    patientId;
            int       visitId;
            int       operId;

            if (ExtendAppContext.Current.PatientInformationExtend == null)
            {
                patientId = ExtendAppContext.Current.PatientID;
                visitId   = ExtendAppContext.Current.VisitID;
                operId    = ExtendAppContext.Current.OperID;
            }
            else
            {
                patientId = ExtendAppContext.Current.PatientInformationExtend.PATIENT_ID;
                visitId   = ExtendAppContext.Current.PatientInformationExtend.VISIT_ID;
                operId    = ExtendAppContext.Current.PatientInformationExtend.OPER_ID;
            }


            switch (tableName)
            {
            case "MED_PAT_MONITOR_DATA_EXT":
                data = new ModelHandler <MED_PAT_MONITOR_DATA_EXT>().FillDataTable(AnesInfoService.ClientInstance.GetPatMonitorExtList(patientId, visitId, operId));
                if (data.Rows.Count == 0)
                {
                    DataRow row = data.NewRow();
                    row["PATIENT_ID"] = patientId;
                    row["VISIT_ID"]   = visitId;
                    row["OPER_ID"]    = operId;
                    data.Rows.Add(row);
                }
                break;

            case "MED_OPERATION_MASTER":
                data = new ModelHandler <MED_OPERATION_MASTER>().FillDataTable(AnesInfoService.ClientInstance.GetOperationMaster(patientId, visitId, operId));
                if (data.Rows.Count == 0)
                {
                    DataRow row = data.NewRow();
                    row["PATIENT_ID"] = patientId;
                    row["VISIT_ID"]   = visitId;
                    row["OPER_ID"]    = operId;
                    data.Rows.Add(row);
                }
                break;

            case "MED_OPERATION_MASTER_EXT":
                data = new ModelHandler <MED_OPERATION_MASTER_EXT>().FillDataTable(AnesInfoService.ClientInstance.GetOperationMasterExt(patientId, visitId, operId));
                if (data.Rows.Count == 0)
                {
                    DataRow row = data.NewRow();
                    row["PATIENT_ID"] = patientId;
                    row["VISIT_ID"]   = visitId;
                    row["OPER_ID"]    = operId;
                    data.Rows.Add(row);
                }
                break;

            case "MED_PAT_MASTER_INDEX":
                data = new ModelHandler <MED_PAT_MASTER_INDEX>().FillDataTable(AnesInfoService.ClientInstance.GetPatMasterIndex(patientId));
                if (data.Rows.Count == 0)
                {
                    DataRow row = data.NewRow();
                    row["PATIENT_ID"] = patientId;
                    data.Rows.Add(row);
                }
                break;

            case "MED_PAT_VISIT":
                data = new ModelHandler <MED_PAT_VISIT>().FillDataTable(CareDocService.ClientInstance.GetPatVisit(patientId, visitId));
                break;

            case "MED_PATS_IN_HOSPITAL":
                data = new ModelHandler <MED_PATS_IN_HOSPITAL>().FillDataTable(AnesInfoService.ClientInstance.GetPatsInHospitalList(patientId, visitId));
                if (data.Rows.Count == 0)
                {
                    DataRow row = data.NewRow();
                    row["PATIENT_ID"] = patientId;
                    row["VISIT_ID"]   = visitId;
                    data.Rows.Add(row);
                }
                break;

            case "MED_SAFETY_CHECKS":
                data = new ModelHandler <MED_SAFETY_CHECKS>().FillDataTable(CareDocService.ClientInstance.GetSafetyCheckData(patientId, visitId, operId));
                break;

            case "MED_ANESTHESIA_PLAN":
                data = new ModelHandler <MED_ANESTHESIA_PLAN>().FillDataTable(AnesInfoService.ClientInstance.GetAnesthesiaPlan(patientId, visitId, operId));
                if (data.Rows.Count == 0)
                {
                    DataRow row = data.NewRow();
                    row["PATIENT_ID"] = patientId;
                    row["VISIT_ID"]   = visitId;
                    row["OPER_ID"]    = operId;
                    data.Rows.Add(row);
                }
                break;

            case "MED_ANESTHESIA_PLAN_PMH":
                data = new ModelHandler <MED_ANESTHESIA_PLAN_PMH>().FillDataTable(CareDocService.ClientInstance.GetAnesthesiaPlanPMH(patientId, visitId, operId));
                break;

            case "MED_ANESTHESIA_PLAN_EXAM":
                data = new ModelHandler <MED_ANESTHESIA_PLAN_EXAM>().FillDataTable(CareDocService.ClientInstance.GetAnesthesiaPlanEXAM(patientId, visitId, operId));
                break;

            case "MED_ANESTHESIA_RECOVER":
                data = new ModelHandler <MED_ANESTHESIA_RECOVER>().FillDataTable(CareDocService.ClientInstance.GetAnesRecoverData(patientId, visitId, operId));
                break;

            case "MED_ANESTHESIA_INQUIRY":
                data = new ModelHandler <MED_ANESTHESIA_INQUIRY>().FillDataTable(CareDocService.ClientInstance.GetAnesInquiry(patientId, visitId, operId));
                break;

            case "MED_OPERATION_EXTENDED":
                data = new ModelHandler <MED_OPERATION_EXTENDED>().FillDataTable(CareDocService.ClientInstance.GetOperExtended(patientId, visitId, operId));
                break;

            case "MED_POSTOPERATIVE_EXTENDED":
                data = new ModelHandler <MED_POSTOPERATIVE_EXTENDED>().FillDataTable(CareDocService.ClientInstance.GetPostoperativeExtended(patientId, visitId, operId));
                break;

            case "MED_PREOPERATIVE_EXPANSION":
                data = new ModelHandler <MED_PREOPERATIVE_EXPANSION>().FillDataTable(CareDocService.ClientInstance.GetPreoperativeExpansion(patientId, visitId, operId));
                break;

            case "MED_OPERATION_ANALGESIC_MASTER":
                data = new ModelHandler <MED_OPERATION_ANALGESIC_MASTER>().FillDataTable(CareDocService.ClientInstance.GetAnalgesicMaster(patientId, visitId, operId));
                break;

            case "MED_OPER_RISK_ESTIMATE":
                data = new ModelHandler <MED_OPER_RISK_ESTIMATE>().FillDataTable(CareDocService.ClientInstance.GetRickEstimate(patientId, visitId, operId));
                break;

            case "MED_OPER_ANALGESIC_MEDICINE":
                data = new ModelHandler <MED_OPER_ANALGESIC_MEDICINE>().FillDataTable(CareDocService.ClientInstance.GetAnalgesicMedicineList(patientId, visitId, operId));
                break;

            case "MED_OPER_ANALGESIC_TOTAL":
                data = new ModelHandler <MED_OPER_ANALGESIC_TOTAL>().FillDataTable(CareDocService.ClientInstance.GetAnalgesicTotalList(patientId, visitId, operId));
                break;

            case "MED_QIXIE_QINGDIAN":
                data = new ModelHandler <MED_QIXIE_QINGDIAN>().FillDataTable(CareDocService.ClientInstance.GetOperCheckList(patientId, visitId, operId));
                break;

            case "MED_ANESTHESIA_INPUT_DATA":
                data = new ModelHandler <MED_ANESTHESIA_INPUT_DATA>().FillDataTable(CareDocService.ClientInstance.GetAnesthestaInputData(patientId, visitId, operId));
                break;

            case "MED_PACU_SORCE":
                data = new ModelHandler <MED_PACU_SORCE>().FillDataTable(CareDocService.ClientInstance.GetPACUStore(patientId, visitId, operId));
                break;

            case "MED_BJCA_SIGN":
                List <MED_BJCA_SIGN> caList = CareDocService.ClientInstance.GetBjcaSignList(patientId, visitId, operId, ExtendAppContext.Current.CurrentDocName);
                data = new ModelHandler <MED_BJCA_SIGN>().FillDataTable(caList);
                break;

            default:
                throw new NotImplementedException(string.Format("当前未定义从表{0}中获取数据的方法!", tableName));
            }

            return(data);
        }
Example #13
0
        /// <summary>
        /// 获取出入量数据
        /// </summary>
        public double CalLiquiedSum(string liquiedName, Dictionary <string, System.Data.DataTable> dataSources)
        {
            if (!dataSources.ContainsKey("AnesAllEvent"))
            {
                return(0);
            }

            List <MED_ANESTHESIA_EVENT> anesEventAll = new ModelHandler <MED_ANESTHESIA_EVENT>().FillModel(dataSources["AnesAllEvent"]);

            if (!ExtendAppContext.Current.CodeTables.ContainsKey("MED_EVENT_DICT"))
            {
                return(0);
            }

            double d = 0;

            if (anesEventAll == null || anesEventAll.Count == 0)
            {
                return(0);
            }

            if (liquiedName == "输液总量" || liquiedName == "总入量")
            {
                List <MED_ANESTHESIA_EVENT> anesEventRow = anesEventAll.Where(x => x.EVENT_CLASS_CODE == "3" || x.EVENT_CLASS_CODE == "B").ToList();
                foreach (MED_ANESTHESIA_EVENT row in anesEventRow)
                {
                    if (row.DOSAGE.HasValue && row.DOSAGE > 0)
                    {
                        d += (double)row.DOSAGE;
                    }
                    else
                    {
                        continue;
                    }
                }

                return(d);
            }
            else if (liquiedName == "总出量")
            {
                List <MED_ANESTHESIA_EVENT> anesEventRow = anesEventAll.Where(x => x.EVENT_CLASS_CODE == "D").ToList();
                foreach (MED_ANESTHESIA_EVENT row in anesEventRow)
                {
                    if (row.DOSAGE.HasValue && row.DOSAGE > 0)
                    {
                        d += (double)row.DOSAGE;
                    }
                    else
                    {
                        continue;
                    }
                }

                return(d);
            }
            foreach (MED_ANESTHESIA_EVENT row in anesEventAll)
            {
                if (row.DOSAGE.HasValue && row.DOSAGE > 0)
                {
                    List <MED_EVENT_DICT> eventRow = eventDictList.Where(x => x.EVENT_CLASS_CODE == row.EVENT_CLASS_CODE && x.EVENT_ITEM_NAME == row.EVENT_ITEM_NAME).ToList();
                    if (eventRow != null && eventRow.Count > 0 && !string.IsNullOrEmpty(eventRow[0].EVENT_ATTR) && eventRow[0].EVENT_ATTR.Equals(liquiedName))
                    {
                        d += (double)row.DOSAGE;
                    }
                    else
                    {
                        continue;
                    }
                }
                else
                {
                    continue;
                }
            }

            return(d);
        }
Example #14
0
 internal void AddNCTextObserver(INCCodeObserver obs)
 {
     m_NCCodeEvent += new ModelHandler(obs.NewNCCode);
 }
Example #15
0
 public static ModelHandler <TModel> Bind <TModel>(this ModelHandler <TModel> mapper, Expression <Func <TModel, DateTime> > lamda,
                                                   DatePicker date, StackLayout errors)
     where TModel : class, new()
 => mapper.Bind(lamda, new DateMapper(date, null, errors));
 /// <summary>
 /// 根据数据库查询,并返回数据,strWhere是条件
 /// </summary>
 /// <param name="strWhere">查询条件</param>
 /// <param name="startIndex">从1开始</param>
 /// <param name="endIndex">到这为止</param>
 /// <returns></returns>
 public DataTable GetListByPage(IDictionary<string, object> strWhere, int startIndex, int endIndex)
 {
     DataTable dt = new ModelHandler<GateRecord>().FillDataTable(InitDt(strWhere, startIndex, endIndex));
     return dt;
 }
Example #17
0
 public void Subscribe(MainForm myView)
 {
     modelChanged += new ModelHandler<IModel>(myView.ModelChangedEvent);
 }
Example #18
0
 internal void AddDebugMessageObserver(IDebugMessageObserver obs)
 {
     m_DebugMessage += new ModelHandler<GlobalStateModel>(obs.NewDebugMessage);
 }
Example #19
0
        private static int IsRunSi(DateTime now, DataRow dr)
        {
            JsonSiModel siSSR = ModelHandler <JsonSiModel> .jsonTextToModel(CommFunc.ConvertDBNullToString(dr["SiSSR"]));

            JsonSiMdModel md = ModelHandler <JsonSiMdModel> .jsonTextToModel(CommFunc.ConvertDBNullToString(dr["Md"]));

            JsonSiWkModel wk = ModelHandler <JsonSiWkModel> .jsonTextToModel(CommFunc.ConvertDBNullToString(dr["Wk"]));

            JsonSiTsModel ts = ModelHandler <JsonSiTsModel> .jsonTextToModel(CommFunc.ConvertDBNullToString(dr["Ts"]));

            DateTime today = CommFunc.ConvertDBNullToDateTime(now.ToString("yyyy-MM-dd", System.Globalization.DateTimeFormatInfo.InvariantInfo));
            int      dWk   = (int)now.DayOfWeek;

            if (dWk == 0)
            {
                dWk = 7;
            }
            int si = 0;

            if (si == 0)
            {/*特殊日期的策略*/
                for (int i = 1; i <= 7; i++)
                {
                    System.Reflection.PropertyInfo tsInfo = ts.GetType().GetProperty("ts" + i.ToString().PadLeft(2, '0').ToString());
                    JsonSiTsModel.Value            value  = (JsonSiTsModel.Value)tsInfo.GetValue(ts, null);
                    DateTime dtTs = DateTime.Now.AddDays(-300);
                    DateTime.TryParseExact(value.dt, "yyyyMMdd", null, System.Globalization.DateTimeStyles.AllowWhiteSpaces, out dtTs);
                    int dtSi = CommFunc.ConvertDBNullToInt32(value.si);
                    if (dtTs == today && dtSi != 0)
                    {
                        si = dtSi;
                        break;
                    }
                }
            }
            if (si == 0)
            { /*星期的策略*/
                System.Reflection.PropertyInfo wkDis = wk.GetType().GetProperty("di" + dWk.ToString().PadLeft(2, '0').ToString());
                object objDis = wkDis == null ? null : wkDis.GetValue(wk, null);
                //
                if (CommFunc.ConvertDBNullToInt32(objDis) == 0)
                {
                    System.Reflection.PropertyInfo wkInfo = wk.GetType().GetProperty("si" + dWk.ToString().PadLeft(2, '0').ToString());
                    object obj = wkInfo.GetValue(wk, null);
                    si = CommFunc.ConvertDBNullToInt32(obj);
                }
            }
            if (si == 0)
            {/*日期范围*/
                for (int i = 1; i <= 7; i++)
                {
                    System.Reflection.PropertyInfo mdInfo = md.GetType().GetProperty("md" + i.ToString().PadLeft(2, '0').ToString());
                    JsonSiMdModel.Value            value  = (JsonSiMdModel.Value)mdInfo.GetValue(md, null);
                    DateTime dtMd = today.AddDays(100);
                    DateTime.TryParseExact(today.Year.ToString() + value.md, "yyyyMMdd", null, System.Globalization.DateTimeStyles.AllowWhiteSpaces, out dtMd);
                    int dtSi = CommFunc.ConvertDBNullToInt32(value.si);
                    if (today >= dtMd && dtSi != 0)
                    {
                        si = dtSi;
                        break;
                    }
                }
            }
            //
            if (si == 0)
            {
                return(0);
            }
            //
            int rstSr = 0;

            System.Reflection.PropertyInfo siInfo = siSSR.GetType().GetProperty("d" + si.ToString().PadLeft(2, '0').ToString());
            JsonSiModel.time time = (JsonSiModel.time)siInfo.GetValue(siSSR, null);
            for (int i = 8; i >= 1; i--)
            {
                System.Reflection.PropertyInfo tInfo = time.GetType().GetProperty("t" + i.ToString().PadLeft(2, '0').ToString());
                JsonSiModel.Value value = (JsonSiModel.Value)tInfo.GetValue(time, null);
                string[]          arr   = value.hm.Split(':');
                int hour   = CommFunc.ConvertDBNullToInt32(arr[0]);
                int minute = CommFunc.ConvertDBNullToInt32(arr[1]);
                int sr     = CommFunc.ConvertDBNullToInt32(value.sr);
                if (sr != 0 && (hour != 0 || minute != 0))
                {
                    DateTime siTime = new DateTime(now.Year, now.Month, now.Day, hour, minute, 0);
                    if (now >= siTime)
                    {
                        rstSr = sr;
                        break;
                    }
                }
                //if (hour == now.Hour && minute == now.Minute && sr != 0)
                //{
                //    rstSr = sr;
                //    break;
                //}
            }
            return(rstSr);
        }