Esempio n. 1
0
        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;
                }
            };
        }
Esempio n. 2
0
 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;
         }
     }
 }
Esempio n. 3
0
        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;
        }
Esempio n. 4
0
        /// <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
        }