protected override void OnViewControlsCreated() { base.OnViewControlsCreated(); // Отключение валидации объектов DevExpress.Persistent.Validation.RuleSet.CustomNeedToValidateRule += RuleSet_CustomNeedToValidateRule; // Получаем текущего пациента DetailView ownerView = ObjectSpace.Owner as DetailView; currentPacient = ObjectSpace.GetObject(ownerView.CurrentObject) as Pacient; // Текущий доктор currentDoctor = ObjectSpace.GetObject((Doctor)SecuritySystem.CurrentUser); // Контроллер создания услуги newObjController = Frame.GetController <DevExpress.ExpressApp.SystemModule.NewObjectViewController>(); newObjController.ObjectCreating += newObjController_ObjectCreating; SplitContainerControl container = View.Control as SplitContainerControl; if (container == null) { return; } // Pacient_VisitCaseServices_ListView var gridControl = container.Controls[0].Controls[0] as GridControl; if (gridControl == null) { return; } gridView = gridControl.MainView as GridView; gridView.CustomDrawGroupRow += gridView_CustomDrawGroupRow; gridView.SelectionChanged += (o, e) => { bool isGroupRow = gridView.IsGroupRow(gridView.FocusedRowHandle); // Oid посещения если isGroupRow = True if (isGroupRow) { object selectedGroup = gridView.GetGroupRowValue(gridView.FocusedRowHandle); currentVisitCase = selectedGroup != null && selectedGroup is Guid? ObjectSpace.FindObject <VisitCase>(VisitCase.Fields.Oid == (Guid)selectedGroup) : null; currentMedService = null; } else { currentVisitCase = null; currentMedService = View.CurrentObject as MedService; } }; }
private void SetService(MedService newMedService, bool lpuService) { if (currentDoctor != null && currentDoctor.SpecialityTree != null) { if (currentPacient.IsInogorodniy.HasValue && currentPacient.IsInogorodniy.Value) { newMedService.Usluga = currentDoctor.SpecialityTree.UslugaMUR; } else { newMedService.Usluga = lpuService ? currentDoctor.SpecialityTree.UslugaLPU : currentDoctor.SpecialityTree.UslugaNaDomy; } } }
private void newObjController_ObjectCreating(object sender, ObjectCreatingEventArgs e) { IObjectSpace objectSpace = e.ObjectSpace; // objectdisposedexception fix currentDoctor = objectSpace.GetObject(currentDoctor); currentPacient = objectSpace.GetObject(currentPacient); MedService newMedService = objectSpace.CreateObject <MedService>(); if (currentVisitCase != null || currentMedService != null) { var lookAndFeel = new UserLookAndFeel(this); var result = XtraMessageBox.Show(lookAndFeel, "Создать новое посещение?", "Уточнение", System.Windows.Forms.MessageBoxButtons.YesNo, System.Windows.Forms.MessageBoxIcon.Question); if (result == System.Windows.Forms.DialogResult.No) { result = XtraMessageBox.Show(lookAndFeel, "Услуга производится в ЛПУ?", "Уточнение", System.Windows.Forms.MessageBoxButtons.YesNo, System.Windows.Forms.MessageBoxIcon.Question); // устанавливаем услугу по умолчанию SetService(newMedService, result == System.Windows.Forms.DialogResult.Yes); newMedService.Case = currentVisitCase != null ? currentVisitCase : currentMedService.VisitCase; e.NewObject = newMedService; objectSpace.CommitChanges(); // Обновление представления пациента ObjectSpace.CommitChanges(); ((DetailView)ObjectSpace.Owner).Refresh(); return; } } ShowViewParameters svp = new ShowViewParameters(); IObjectSpace os = Application.CreateObjectSpace(); DetailView dv = Application.CreateDetailView(os, new VisitCaseParameters()); svp.CreatedView = dv; svp.TargetWindow = TargetWindow.NewModalWindow; DialogController dc = new DialogController(); dc.Accepting += (o, e_) => { var visitCaseParameters = e_.AcceptActionArgs.CurrentObject as VisitCaseParameters; VisitCase newVisitCase = objectSpace.CreateObject <VisitCase>(); newVisitCase.Pacient = objectSpace.GetObject(currentPacient); newVisitCase.Cel = visitCaseParameters.CelPosesch; newVisitCase.Mesto = visitCaseParameters.Mesto; newMedService.Case = newVisitCase; // устанавливаем услугу по умолчанию SetService(newMedService, visitCaseParameters.Mesto == MestoObsluzhivaniya.LPU); objectSpace.CommitChanges(); // Обновление представления пациента ObjectSpace.CommitChanges(); ((DetailView)ObjectSpace.Owner).Refresh(); }; dc.CancelAction.Caption = "Отмена"; svp.Controllers.Add(dc); Application.ShowViewStrategy.ShowView(svp, new ShowViewSource(null, null)); e.NewObject = newMedService; }
/// <summary> /// Web.Post /// </summary> /// <param name="xmlIn"></param> /// <returns></returns> bool WebPost(string xmlIn) { try { using (MedService ms = new MedService()) { string res = ms.RecipeServcie(xmlIn); //Log.Output(res); return(Convert.ToInt32(res) == 1 ? true : false); } } catch (Exception ex) { Log.Output(ex.Message); return(false); } #region POST --> 貌似不稳定, 改用wsdl //string uri = clsPublic.m_strGetSysparm("1015"); //if (uri.Trim() == string.Empty) //{ // MessageBox.Show("请设置t_bse_sysparm 1015号参数。", "系统提示", MessageBoxButtons.OK, MessageBoxIcon.Information); // return false; //} ////读取返回消息 //string res = string.Empty; //string postData = HttpUtility.UrlEncode("request") + "=" + HttpUtility.UrlEncode(xmlIn); //byte[] dataArray = Encoding.Default.GetBytes(postData); ////创建请求 //HttpWebRequest request = (HttpWebRequest)HttpWebRequest.Create(uri); //request.Method = "POST"; //request.ContentLength = dataArray.Length; //request.ContentType = "application/x-www-form-urlencoded"; ////创建输入流 //Stream dataStream = null; //try //{ // dataStream = request.GetRequestStream(); //} //catch (WebException ex) //{ // res = ex.Message; // Log.Output(res); // return false; //连接服务器失败 //} ////发送请求 //dataStream.Write(dataArray, 0, dataArray.Length); //dataStream.Close(); //// 返回值 //try //{ // HttpWebResponse response = (HttpWebResponse)request.GetResponse(); // StreamReader reader = new StreamReader(response.GetResponseStream(), Encoding.UTF8); // res = reader.ReadToEnd(); // reader.Close(); //} //catch (WebException ex) //{ // res = ex.Message; // Log.Output(res); // return false; //} //return Convert.ToInt32(res) == 1 ? true : false; #endregion }