Пример #1
0
        private void addCardioInspetions_Click(object sender, EventArgs e)
        {
            int      lastIndx = dutyCardioContainer.Controls.Count - 1;
            DateTime lastDate = DateTime.Now;
            DateTime initDate = DateTime.Now;
            DateTime startRecalculatedTime = DateTime.Now;
            int      startRecalculateIndx  = -1;

            for (int i = lastIndx; i >= 0; i--)
            {
                JournalKAGControl jj = (JournalKAGControl)dutyCardioContainer.Controls[i];
                if (i == lastIndx)
                {
                    lastDate = jj.getDateTime();
                }
                if ((jj.isFreeze() || i == 0) && startRecalculateIndx < 0)
                {
                    initDate             = i == 0 ? jj.getDateTime() : DateTime.Now;
                    startRecalculateIndx = i;
                }
                if (i == 0)
                {
                    startRecalculatedTime = jj.getDateTime();
                }
            }
            DateTime nextDate  = lastDate.AddHours(4).AddMinutes(JournalShuffleUtils.shuffleNextIndex(5));
            DateTime finalTime = new DateTime(nextDate.Year, nextDate.Month, nextDate.Day, 8, 5, 0);

            if ((nextDate.Day > initDate.Day || initDate.Hour < 8) && nextDate > finalTime && startRecalculateIndx >= 0)
            {
                long   ticksAllDay   = finalTime.Ticks - startRecalculatedTime.Ticks;
                double minutesAllDay = ticksAllDay / 10000000 / 60;
                double minutesPerJ   = minutesAllDay / (dutyCardioContainer.Controls.Count);
                nextDate = finalTime;
                DateTime lastRecalculated = new DateTime(startRecalculatedTime.Ticks);
                for (int i = startRecalculateIndx + 1; i <= lastIndx; i++)
                {
                    JournalKAGControl jj = (JournalKAGControl)dutyCardioContainer.Controls[i];
                    //weight 100% = 240 minutes;

                    DateTime re = lastRecalculated.AddMinutes(minutesPerJ);
                    jj.initDateTime(re);
                    lastRecalculated = new DateTime(re.Ticks);
                }
            }

            JournalKAGControl control = new JournalKAGControl(this, null, false);

            control.Anchor = AnchorStyles.Right;
            control.initDateTime(nextDate);
            dutyCardioContainer.Controls.Add(control);
        }
Пример #2
0
        private void initCardioConslusions(IDbDataService service)
        {
            IList <DdtJournal> cardioConclusions = service.GetDdtJournalService().GetByJournalDayId(journalDayId);

            for (int i = 0; i < cardioConclusions.Count; i++)
            {
                if (dutyCardioContainer.Controls.Count <= i)
                {
                    JournalKAGControl control = new JournalKAGControl(this, cardioConclusions[i].ObjectId, false);
                    //control.Anchor = AnchorStyles.Right;
                    dutyCardioContainer.Controls.Add(control);
                }
            }
        }
Пример #3
0
        public bool Save()
        {
            if (!getIsValid())
            {
                return(false);
            }

            service.GetDdtHospitalService().Save(hospitalitySession);

            DdtJournalDay journalDay = null;

            if (!string.IsNullOrEmpty(journalDayId))
            {
                journalDay = service.GetDdtJournalDayService().GetById(journalDayId);
            }
            else
            {
                journalDay                    = new DdtJournalDay();
                journalDay.JournalType        = 1;
                journalDay.HospitalitySession = hospitalitySession.ObjectId;
                journalDay.Patient            = hospitalitySession.Patient;
                journalDay.JournalType        = (int)DdtJournalDsiType.AfterKag;
                //journal.Complaints = "Жалоб на момент осмотра не предъявляет.";
            }
            journalDay.AdmissionDate = CommonUtils.ConstructDateWIthTime(admissionDateTxt.Value, admissionTimeTxt.Value);
            DdvDoctor doc = (DdvDoctor)journalDocBox.SelectedItem;

            journalDay.Doctor    = doc == null ? hospitalitySession.DutyDoctor : doc.ObjectId;
            journalDay.Diagnosis = afterKagDiagnosisTxt.Text;
            journalDayId         = service.GetDdtJournalDayService().Save(journalDay);

            DdtVariousSpecConcluson cardioVascularConc = service.GetDdtVariousSpecConclusonService().GetByParentId(journalDayId);

            if (cardioVascularConc == null)
            {
                cardioVascularConc        = new DdtVariousSpecConcluson();
                cardioVascularConc.Parent = journalDayId;
            }
            cardioVascularConc.AdmissionDate        = CommonUtils.ConstructDateWIthTime(cardioDate.Value, cardioTime.Value);
            cardioVascularConc.SpecialistConclusion = surgeryInspectationTxt.Text;
            cardioVascularConc.AdditionalInfo1      = chddSurgeryTxt.Text;
            cardioVascularConc.AdditionalInfo3      = adSurgeryTxt.Text;
            cardioVascularConc.AdditionalInfo2      = chssSurgeryTxt.Text;
            cardioVascularConc.AdditionalInfo4      = (string)cardioVascularBox.SelectedValue;
            service.GetDdtVariousSpecConclusonService().Save(cardioVascularConc);

            if (!string.IsNullOrEmpty(kagDiagnosisTxt.Text))
            {
                DdtKag kag = service.GetDdtKagService().GetById(kagId);
                if (kag == null)
                {
                    kag                    = new DdtKag();
                    kag.Doctor             = hospitalitySession.CuringDoctor;
                    kag.HospitalitySession = hospitalitySession.ObjectId;
                    kag.Patient            = hospitalitySession.Patient;
                    DateTime admissionDateTime = CommonUtils.ConstructDateWIthTime(admissionDateTxt.Value, admissionTimeTxt.Value);
                    kag.AnalysisDate = admissionDateTime.AddMinutes(-75);
                    kag.StartTime    = admissionDateTime.AddMinutes(-75);
                    kag.EndTime      = admissionDateTime.AddMinutes(-15);
                    kag.KagAction    = kagDiagnosisTxt.Text;
                    kagId            = service.GetDdtKagService().Save(kag);

                    IDdtRelationService relationService = DbDataService.GetInstance().GetDdtRelationService();
                    if (kagId != null && relationService.GetByParentAndChildIds(journalDayId, kagId) == null)
                    {
                        DdtRelation relation = new DdtRelation();
                        relation.Parent    = journalDayId;
                        relation.Child     = kagId;
                        relation.ChildType = DdtJournal.NAME;
                        relationService.Save(relation);
                    }
                }
            }

            for (int i = 0; i < dutyCardioContainer.Controls.Count; i++)
            {
                JournalKAGControl journalCtrl = (JournalKAGControl)dutyCardioContainer.Controls[i];
                journalCtrl.saveObject(hospitalitySession, journalDayId, DdtJournal.NAME);
            }

            analysisTabControl1.save(journalDayId, DdtJournal.NAME);
            return(true);
        }