private decimal?f_GetFemaleMax(DataGridViewRow a_Row) { decimal dVal = 0; if (a_Row.Cells[5].Value == null) { MonitoringStub.Message("Поле \"Жен макс\" пустое!"); return(null); } else { if (decimal.TryParse(a_Row.Cells[5].Value.ToString(), out dVal)) { if (f_ValidNumber(new string[] { dVal.ToString() })) { return(dVal); } else { MonitoringStub.Message("Значение поля \"Жен макс\" не соответствует точности!"); return(null); } } else { MonitoringStub.Message("Значение поля \"Жен макс\" не корректное!"); return(null); } } }
private void Dlg_EditorTemplate_FormClosing(object sender, FormClosingEventArgs e) { if (DialogResult == DialogResult.OK) { if (string.IsNullOrWhiteSpace(ctrl_TBName.Text)) { MonitoringStub.Message("Наименование шаблона пустое!"); e.Cancel = true; return; } if (string.IsNullOrWhiteSpace(ctrlTitle.Text)) { MonitoringStub.Message("Заголовок шаблона пустое!"); e.Cancel = true; return; } if (ctrlCategoriesTotal.Enabled && ctrlCategoriesTotal.SelectedItem == null) { MonitoringStub.Message("Не выбрана общая категория!"); e.Cancel = true; return; } if (ctrlCategoriesClinic.Enabled && ctrlCategoriesClinic.SelectedItem == null) { MonitoringStub.Message("Не выбрана клиническая категория!"); e.Cancel = true; return; } } }
private void ctrlBSave_Click(object sender, EventArgs e) { if (string.IsNullOrWhiteSpace(ctrlName.Text)) { MonitoringStub.Message("Заполните поле \"Название\"!"); return; } if (m_ControlTemplate != null) { using (var transaction = Cl_App.m_DataContext.Database.BeginTransaction()) { try { var record = m_ControlTemplate.f_GetNewRecord(false); if (record != null) { if (m_SourceRecord == null && m_Log.f_IsChanged(record) == false) { MonitoringStub.Message("Паттерн не изменялся!"); transaction.Rollback(); return; } var recordPattern = Cl_RecordsFacade.f_GetInstance().f_GetNewRecordPattern(ctrlName.Text, record); if (recordPattern != null) { Cl_App.m_DataContext.p_RecordsPatterns.Add(recordPattern); Cl_App.m_DataContext.SaveChanges(); if (m_SourceRecord == null) { Cl_EntityLog.f_CustomMessageLog(E_EntityTypes.RecordsPatterns, string.Format("Создан новый патерн \"{0}\" по шаблону \"{1}\"", recordPattern.p_Name, recordPattern.p_Template.p_Name), recordPattern.p_Template.p_TemplateID); } else { Cl_EntityLog.f_CustomMessageLog(E_EntityTypes.RecordsPatterns, string.Format("Сформирован патерн по записи \"{0}\"", m_SourceRecord.p_Title), m_SourceRecord.p_RecordID); } transaction.Commit(); f_SetRecordPattern(recordPattern); e_Save?.Invoke(this, new EventArgs()); } else { transaction.Rollback(); return; } } else { return; } } catch (Exception ex) { transaction.Rollback(); MonitoringStub.Error("Error_Editor", "При сохранении изменений паттерна записей произошла ошибка", ex, null, null); } } } }
private void F_CategoryEdit_FormClosing(object sender, FormClosingEventArgs e) { if (DialogResult == DialogResult.OK && string.IsNullOrWhiteSpace(ctrlCategotyName.Text)) { MonitoringStub.Message("Название категории не должно быть пустым!"); e.Cancel = true; } }
public object f_ConfirmChanges() { using (var transaction = Cl_App.m_DataContext.Database.BeginTransaction()) { try { Cl_Element el = null; if (p_EditingElement.p_Version == 0) { el = p_EditingElement; el.p_Version = 1; } else { el = new Cl_Element(); el.p_Version = p_EditingElement.p_Version + 1; el.p_ParentGroupID = p_EditingElement.p_ParentGroupID; el.p_ParentGroup = p_EditingElement.p_ParentGroup; Cl_App.m_DataContext.p_Elements.Add(el); } el.p_ElementType = E_ElementsTypes.Image; el.p_ElementID = p_EditingElement.p_ElementID; el.p_Name = ctrl_Name.Text; el.p_Tag = ctrlTag.Text; el.p_Image = ctrlImage.Image; el.p_Help = ctrl_Hint.Text; el.p_Comment = ctrl_Note.Text; Cl_App.m_DataContext.SaveChanges(); if (m_Log.f_IsChanged(el) == false) { if (el.Equals(p_EditingElement) && el.p_Version == 1) { el.p_Version = 0; } MonitoringStub.Message("Элемент не изменялся!"); transaction.Rollback(); return(null); } m_Log.f_SaveEntity(el); f_SetElement(el); transaction.Commit(); return(el); } catch (Exception ex) { transaction.Rollback(); MonitoringStub.Error("Error_Editor", "При сохранении изменений произошла ошибка", ex, null, null); return(null); } } }
private void F_EditorСondition_FormClosing(object sender, FormClosingEventArgs e) { if (this.IsDiscard) { return; } if (!Cl_FormulaFacade.f_GetInstance().f_Valid(m_Blocks)) { MonitoringStub.Message("Формула не корректная!"); e.Cancel = true; } }
private void ctrlBCreateMK_Click(object sender, System.EventArgs e) { if (string.IsNullOrWhiteSpace(ctrlMedCardNumber.Text)) { MonitoringStub.Message("Поле \"Номер медкарты\" пустое!"); return; } if (string.IsNullOrWhiteSpace(ctrlPatientID.Text)) { MonitoringStub.Message("Поле \"ID пациента\" пустое!"); return; } int patientId = 0; if (!int.TryParse(ctrlPatientID.Text, out patientId)) { MonitoringStub.Message("Некорректное значения поля \"ID пациента\" пустое!"); return; } if (string.IsNullOrWhiteSpace(ctrlPatientSurName.Text)) { MonitoringStub.Message("Поле \"Фамилия пациента\" пустое!"); return; } if (string.IsNullOrWhiteSpace(ctrlPatientSurName.Text)) { MonitoringStub.Message("Поле \"Имя пациента\" пустое!"); return; } if (string.IsNullOrWhiteSpace(ctrlPatientSurName.Text)) { MonitoringStub.Message("Поле \"Отчество пациента\" пустое!"); return; } if (ctrlPatientDateBirth.Value == null) { MonitoringStub.Message("Поле \"Дата рождения\" пустое!"); return; } Cl_MedicalCardsFacade.f_GetInstance().f_CreateMedicalCard(ctrlMedCardNumber.Text, patientId, (Cl_User.E_Sex)ctrlPatientSex.f_GetSelectedItem() , ctrlPatientSurName.Text, ctrlPatientName.Text, ctrlPatientLastName.Text, ctrlPatientDateBirth.Value, ctrlTBComment.Text); }
private byte?f_GetAgeTo(DataGridViewRow a_Row) { byte bVal = 0; if (a_Row.Cells[1].Value == null) { MonitoringStub.Message("Поле \"Возраст до\" пустое!"); return(null); } else { if (byte.TryParse(a_Row.Cells[1].Value.ToString(), out bVal)) { return(bVal); } else { MonitoringStub.Message("Значение поля \"Возраст до\" не корректное!"); return(null); } } }
private void ctrlBAdd_Click(object sender, System.EventArgs e) { OpenFileDialog openFile = new OpenFileDialog(); openFile.Filter = "Файлы изображений (.bmp, .jpg, .png)|*.bmp;*.jpg;*.png|PDF файл (.pdf)|*.pdf|Веб страницы (.htm, .html)|*.htm;*.html"; if (openFile.ShowDialog() != DialogResult.OK) { return; } var recordFileType = Cl_RecordsFacade.f_GetInstance().f_GetFileType(openFile.FileName); if (recordFileType != null) { m_FileType = (E_RecordFileType)recordFileType; } else { MonitoringStub.Message("Неизвестный формат файла записи " + openFile.FileName); return; } m_FileBytes = File.ReadAllBytes(openFile.FileName); ctrlLFilePath.Text = openFile.FileName; }
public object f_ConfirmChanges() { if (!f_ValidNumber(ctrl_NormValues.Lines)) { MonitoringStub.Message("Нормальные значения не являются числовыми или не соответствуют точности числа"); return(null); } if (!f_ValidNumber(ctrl_PatValues.Lines)) { MonitoringStub.Message("Патологические значения не являются числовыми или не соответствуют точности числа"); return(null); } if (!f_ValidNumber(new string[] { ctrl_Default.Text })) { MonitoringStub.Message("Значение по-умолчанию не является числовым или не соответствует точности числа"); return(null); } var templates = f_GetConflictTemplates(p_EditingElement); if (templates.Length > 0) { if (MessageBox.Show("Этот элемент уже используется в шаблонах. Сохранить новую версию элмента?", "", MessageBoxButtons.OKCancel) == DialogResult.Cancel) { return(null); } } using (var transaction = Cl_App.m_DataContext.Database.BeginTransaction()) { try { decimal dVal = 0; Cl_Element el = null; if (p_EditingElement.p_Version == 0) { el = p_EditingElement; el.p_Version = 1; } else { el = new Cl_Element(); el.p_Version = p_EditingElement.p_Version + 1; el.p_ParentGroupID = p_EditingElement.p_ParentGroupID; el.p_ParentGroup = p_EditingElement.p_ParentGroup; Cl_App.m_DataContext.p_Elements.Add(el); } el.p_ElementType = (E_ElementsTypes)ctrl_ControlType.f_GetSelectedItem(); el.p_ElementID = p_EditingElement.p_ElementID; el.p_Name = ctrl_Name.Text.Trim(); el.p_Tag = ctrlTag.Text.Trim(); el.p_Help = ctrl_Hint.Text; el.p_IsPartPre = ctrl_IsPartPre.Checked; if (el.p_IsPartPre) { el.p_PartPre = ctrl_PartPreValue.Text.Trim(); } el.p_IsPartPost = ctrl_IsPartPost.Checked; if (el.p_IsPartPost) { el.p_PartPost = ctrl_PartPostValue.Text.Trim(); } el.p_IsPartLocations = ctrl_IsPartLocations.Checked; if (el.p_IsPartLocations) { el.p_IsPartLocationsMulti = ctrl_IsPartLocationsMulti.Checked; } el.p_IsPartNorm = ctrl_IsPartNorm.Checked; if (el.p_IsPartNorm) { if (decimal.TryParse(ctrl_PartNormValue.Text, out dVal)) { if (f_ValidNumber(new string[] { dVal.ToString() })) { el.p_PartNorm = dVal; } else { MonitoringStub.Message("Значение поля \"Норма\" не соответствует точности!"); transaction.Rollback(); return(null); } } else { MonitoringStub.Message("Значение поля \"Норма\" не корректное!"); transaction.Rollback(); return(null); } } el.p_IsPartNormRange = ctrl_IsPartNormRange.Checked; el.p_IsChangeNotNormValues = ctrl_IsChangeNotNormValues.Checked; el.p_Visible = ctrl_IsVisible.Checked; el.p_VisiblePatient = ctrl_IsVisiblePatient.Checked; el.p_Required = ctrl_IsRequiredFIeld.Checked; el.p_Editing = ctrl_IsEditing.Checked; el.p_IsMultiSelect = ctrl_IsMultiSelect.Checked; el.p_Symmetrical = ctrl_IsSymmentry.Checked; el.p_SymmetryParamLeft = ctrl_Symmetry1.Text.Trim(); el.p_SymmetryParamRight = ctrl_Symmetry2.Text.Trim(); el.p_IsNumber = ctrl_IsNumber.Checked; el.p_NumberRound = Convert.ToByte(ctrl_NumberRound.Value); el.p_NumberFormula = ctrl_NumberFormula.Text; el.p_VisibilityFormula = ctrl_VisibilityFormula.Text; el.p_Comment = ctrl_Note.Text; Cl_App.m_DataContext.SaveChanges(); el.p_ParamsValues.Clear(); if (el.p_IsPartLocations) { el.f_AddValues(Cl_ElementParam.E_TypeParam.Location, ctrl_PartLocationsValue.Lines); } el.f_AddValues(Cl_ElementParam.E_TypeParam.NormValues, ctrl_NormValues.Lines); el.f_AddValues(Cl_ElementParam.E_TypeParam.PatValues, ctrl_PatValues.Lines); el.p_PartAgeNorms.Clear(); if (el.p_IsPartNormRange) { var norms = f_GetPartNormRanges(el.p_ID); if (norms != null) { el.p_PartAgeNorms.AddRange(norms); } else { transaction.Rollback(); return(null); } } Cl_App.m_DataContext.SaveChanges(); if (ctrl_Default.SelectedItem != null) { el.p_Default = el.p_NormValues.FirstOrDefault(v => v.p_Value == ctrl_Default.SelectedItem.ToString()); if (el.p_Default == null) { el.p_Default = el.p_PatValues.FirstOrDefault(v => v.p_Value == ctrl_Default.SelectedItem.ToString()); } if (el.p_Default != null) { el.p_DefaultID = el.p_Default.p_ID; } else { el.p_DefaultID = null; } } Cl_App.m_DataContext.SaveChanges(); if (templates.Length > 0) { foreach (var t in templates) { t.p_IsConflict = true; } } if (m_Log.f_IsChanged(el) == false) { if (el.Equals(p_EditingElement) && el.p_Version == 1) { el.p_Version = 0; } MonitoringStub.Message("Элемент не изменялся!"); transaction.Rollback(); return(null); } m_Log.f_SaveEntity(el); transaction.Commit(); f_SetElement(el); return(el); } catch (Exception ex) { transaction.Rollback(); MonitoringStub.Error("Error_Editor", "При сохранении изменений произошла ошибка", ex, null, null); return(null); } } }
private List <Cl_AgeNorm> f_GetPartNormRanges(int a_ElementID) { var norms = new List <Cl_AgeNorm>(); decimal?dVal = null; byte? bVal = null; foreach (DataGridViewRow row in ctrl_TPartNormRangeValues.Rows) { if (!row.IsNewRow) { Cl_AgeNorm norm = new Cl_AgeNorm(); bVal = f_GetAgeFrom(row); if (bVal != null) { norm.p_AgeFrom = (byte)bVal; } else { return(null); } bVal = f_GetAgeTo(row); if (bVal != null) { norm.p_AgeTo = (byte)bVal; } else { return(null); } if (norm.p_AgeFrom > norm.p_AgeTo) { MonitoringStub.Message("Значение поля \"Возраст от\" больше значения поля \"Возраст до\"!"); return(null); } dVal = f_GetMaleMin(row); if (dVal != null) { norm.p_MaleMin = (decimal)dVal; } else { return(null); } dVal = f_GetMaleMax(row); if (dVal != null) { norm.p_MaleMax = (decimal)dVal; } else { return(null); } dVal = f_GetFemaleMin(row); if (dVal != null) { norm.p_FemaleMin = (decimal)dVal; } else { return(null); } dVal = f_GetFemaleMax(row); if (dVal != null) { norm.p_FemaleMax = (decimal)dVal; } else { return(null); } norm.p_ElementID = a_ElementID; norms.Add(norm); } } return(norms); }
/// <summary> /// Сохранение шаблона /// </summary> /// <param name="curTemplate">Сохраняемый шаблон</param> /// <param name="items">Новый список элементов в сохраняемом шаблоне</param> /// <param name="m_Log">Объект логгера</param> /// <returns></returns> public Cl_Template f_SaveTemplate(Cl_Template curTemplate, I_Element[] elements, Cl_EntityLog m_Log = null) { using (var transaction = m_DataContextMegaTemplate.Database.BeginTransaction()) { try { Cl_Template newTemplate = null; if (curTemplate.p_Version == 0) { newTemplate = curTemplate; newTemplate.p_Version = 1; } else { newTemplate = new Cl_Template(); newTemplate.p_TemplateID = curTemplate.p_TemplateID; newTemplate.p_Title = curTemplate.p_Title; newTemplate.p_CategoryTotalID = curTemplate.p_CategoryTotalID; newTemplate.p_CategoryTotal = curTemplate.p_CategoryTotal; newTemplate.p_CategoryClinicID = curTemplate.p_CategoryClinicID; newTemplate.p_CategoryClinic = curTemplate.p_CategoryClinic; newTemplate.p_Type = curTemplate.p_Type; newTemplate.p_Name = curTemplate.p_Name; newTemplate.p_Version = curTemplate.p_Version + 1; newTemplate.p_ParentGroupID = curTemplate.p_ParentGroupID; newTemplate.p_ParentGroup = curTemplate.p_ParentGroup; newTemplate.p_Description = curTemplate.p_Description; m_DataContextMegaTemplate.p_Templates.Add(newTemplate); } m_DataContextMegaTemplate.SaveChanges(); foreach (I_Element item in elements) { Cl_TemplateElement tplEl = new Cl_TemplateElement(); tplEl.p_TemplateID = newTemplate.p_ID; tplEl.p_Template = newTemplate; if (item is Ctrl_Element) { Ctrl_Element block = (Ctrl_Element)item; tplEl.p_ChildElementID = block.p_ID; tplEl.p_ChildElement = block.p_Element; } else if (item is Ctrl_Template) { Ctrl_Template block = (Ctrl_Template)item; tplEl.p_ChildTemplateID = block.p_ID; tplEl.p_ChildTemplate = block.p_Template; } tplEl.p_Index = Array.IndexOf(elements, item) + 1; m_DataContextMegaTemplate.p_TemplatesElements.Add(tplEl); } m_DataContextMegaTemplate.SaveChanges(); if (m_Log != null && m_Log.f_IsChanged(newTemplate) == false) { if (newTemplate.Equals(curTemplate) && newTemplate.p_Version == 1) { newTemplate.p_Version = 0; } MonitoringStub.Message("Шаблон не изменялся!"); transaction.Rollback(); } else { m_Log.f_SaveEntity(newTemplate); transaction.Commit(); return(newTemplate); } } catch (Exception ex) { transaction.Rollback(); MonitoringStub.Error("Error_Editor", "При сохранении изменений произошла ошибка", ex, null, null); } return(curTemplate); } }
private void ctrlBSave_Click(object sender, System.EventArgs e) { if (string.IsNullOrWhiteSpace(ctrlTitle.Text)) { MonitoringStub.Message("Заполните поле \"Заголовок\"!"); return; } if (ctrlDTPDateReception.Value == null) { MonitoringStub.Message("Заполните поле \"Дата приема\"!"); return; } if (ctrlDTPTimeReception.Value == null) { MonitoringStub.Message("Заполните поле \"Время приема\"!"); return; } if (m_Record != null) { Cl_Record record = null; if (m_Record.p_Type == E_RecordType.ByTemplate && m_ControlTemplate != null) { record = m_ControlTemplate.f_GetNewRecord(); } else if (m_Record.p_Type == E_RecordType.FinishedFile && m_ControlRecordByFile != null) { record = m_ControlRecordByFile.f_GetNewRecord(); if (record?.p_FileBytes == null) { MonitoringStub.Message("Заполните поле \"Файл записи\"!"); return; } } if (record != null) { using (var transaction = Cl_App.m_DataContext.Database.BeginTransaction()) { try { if (m_Log.f_IsChanged(record) == false && record.p_Title == ctrlTitle.Text) { MonitoringStub.Message("Элемент не изменялся!"); transaction.Rollback(); return; } record.p_Title = ctrlTitle.Text; record.p_DateReception = new DateTime(ctrlDTPDateReception.Value.Year, ctrlDTPDateReception.Value.Month, ctrlDTPDateReception.Value.Day, ctrlDTPTimeReception.Value.Hour, ctrlDTPTimeReception.Value.Minute, 0); if (Cl_SessionFacade.f_GetInstance().p_Doctor.p_Permission.p_Role == Core.Permision.E_Roles.Assistant) { record.f_SetDoctor(Cl_SessionFacade.f_GetInstance().p_Doctor.p_ParentUser); } Cl_App.m_DataContext.p_Records.Add(record); Cl_App.m_DataContext.SaveChanges(); if (m_Record.p_Type == E_RecordType.FinishedFile) { record.p_FilePath = Cl_RecordsFacade.f_GetInstance().f_GetLocalResourcesRelativeFilePath(record); Cl_RecordsFacade.f_GetInstance().f_SaveFileFromSql(record); } else { record.p_HTMLDoctor = record.f_GetHTMLDoctor(); record.p_HTMLPatient = record.f_GetHTMLPatient(); } if (record.p_Version == 1) { record.p_RecordID = record.p_ID; } Cl_App.m_DataContext.SaveChanges(); Cl_EntityLog.f_CustomMessageLog(E_EntityTypes.UIEvents, string.Format("Сохранение записи: {0}, дата записи: {1}, клиника: {2}", record.p_Title, record.p_DateCreate, record.p_ClinicName), record.p_RecordID); m_Log.f_SaveEntity(record, record.p_ParentRecord != null ? $"Создана новая запись на основе {record.p_ParentRecord.p_Title}" : "Создана новая запись"); transaction.Commit(); f_SetRecord(record); e_Save?.Invoke(this, new Cl_Record.Cl_EventArgs() { p_Record = record }); this.Close(); } catch (Exception ex) { transaction.Rollback(); try { Cl_RecordsFacade.f_GetInstance().f_DeleteFileFromSql(record); } catch { }; MonitoringStub.Error("Error_Editor", "При сохранении изменений записи произошла ошибка", ex, null, null); } } } } }