/// <summary> /// Получить строку с описанием разницы в полях между текущей и переданной картой /// </summary> /// <param name="diffCard">Импортируемая карта</param> /// <param name="patientFio">ФИО пациента</param> /// <param name="nosology">Нозология</param> /// <param name="hospitalizationDate">Дата госпитализации (если она есть)</param> /// <param name="visitDate">Дата консультации (если она есть)</param> /// <param name="databasesMerger">Указатель на класс для мержа объектов</param> /// <returns></returns> public void GetDifference( CCard diffCard, string patientFio, string nosology, string hospitalizationDate, string visitDate, CDatabasesMerger databasesMerger) { if (CCompareEngine.IsBitmapsDifferent(Picture, diffCard.Picture)) { CMergeInfo ownPatientMergeInfo; CMergeInfo foreignPatientMergeInfo; CreateMergeInfos( ObjectType.LeftRightCardPicture, patientFio, nosology, hospitalizationDate, visitDate, "Изображение", "Смотри картинку", "Смотри картинку", diffCard, out ownPatientMergeInfo, out foreignPatientMergeInfo); ownPatientMergeInfo.Object = Picture; foreignPatientMergeInfo.Object = diffCard.Picture; databasesMerger.AddMergeInfo(ownPatientMergeInfo, foreignPatientMergeInfo); } }
/// <summary> /// Получить строку с описанием разницы в полях между текущей и переданной картой /// </summary> /// <param name="diffBrachialPlexusCard">Импортируемая карта плечевого сплетения</param> /// <param name="patientFio">ФИО пациента</param> /// <param name="nosology">Нозология</param> /// <param name="hospitalizationDate">Дата госпитализации (если она есть)</param> /// <param name="visitDate">Дата консультации (если она есть)</param> /// <param name="databasesMerger">Указатель на класс для мержа объектов</param> /// <returns></returns> public void GetDifference( CBrachialPlexusCard diffBrachialPlexusCard, string patientFio, string nosology, string hospitalizationDate, string visitDate, CDatabasesMerger databasesMerger) { CMergeInfo ownPatientMergeInfo; CMergeInfo foreignPatientMergeInfo; if (SideOfCard != diffBrachialPlexusCard.SideOfCard) { CreateMergeInfos( ObjectType.BrachialPlexusCardSideOfCard, patientFio, nosology, hospitalizationDate, visitDate, "Сторона", SideOfCard.ToString(), diffBrachialPlexusCard.SideOfCard.ToString(), diffBrachialPlexusCard, out ownPatientMergeInfo, out foreignPatientMergeInfo); databasesMerger.AddMergeInfo(ownPatientMergeInfo, foreignPatientMergeInfo); } if (VascularStatus != diffBrachialPlexusCard.VascularStatus) { CreateMergeInfos( ObjectType.BrachialPlexusCardVascularStatus, patientFio, nosology, hospitalizationDate, visitDate, "Сосудистый статус", VascularStatus, diffBrachialPlexusCard.VascularStatus, diffBrachialPlexusCard, out ownPatientMergeInfo, out foreignPatientMergeInfo); databasesMerger.AddMergeInfo(ownPatientMergeInfo, foreignPatientMergeInfo); } if (Diaphragm != diffBrachialPlexusCard.Diaphragm) { CreateMergeInfos( ObjectType.BrachialPlexusCardDiaphragm, patientFio, nosology, hospitalizationDate, visitDate, "Диафрагма", Diaphragm, diffBrachialPlexusCard.Diaphragm, diffBrachialPlexusCard, out ownPatientMergeInfo, out foreignPatientMergeInfo); databasesMerger.AddMergeInfo(ownPatientMergeInfo, foreignPatientMergeInfo); } if (HornersSyndrome != diffBrachialPlexusCard.HornersSyndrome) { CreateMergeInfos( ObjectType.BrachialPlexusCardHornersSyndrome, patientFio, nosology, hospitalizationDate, visitDate, "Синдром Горнера", HornersSyndrome, diffBrachialPlexusCard.HornersSyndrome, diffBrachialPlexusCard, out ownPatientMergeInfo, out foreignPatientMergeInfo); databasesMerger.AddMergeInfo(ownPatientMergeInfo, foreignPatientMergeInfo); } if (TinelsSymptom != diffBrachialPlexusCard.TinelsSymptom) { CreateMergeInfos( ObjectType.BrachialPlexusCardTinelsSymptom, patientFio, nosology, hospitalizationDate, visitDate, "Симптом Тинеля", TinelsSymptom, diffBrachialPlexusCard.TinelsSymptom, diffBrachialPlexusCard, out ownPatientMergeInfo, out foreignPatientMergeInfo); databasesMerger.AddMergeInfo(ownPatientMergeInfo, foreignPatientMergeInfo); } if (IsMyelographyEnabled != diffBrachialPlexusCard.IsMyelographyEnabled) { CreateMergeInfos( ObjectType.BrachialPlexusCardIsMyelographyEnabled, patientFio, nosology, hospitalizationDate, visitDate, "Информация о том, включена ли миелография", IsMyelographyEnabled.ToString(), diffBrachialPlexusCard.IsMyelographyEnabled.ToString(), diffBrachialPlexusCard, out ownPatientMergeInfo, out foreignPatientMergeInfo); databasesMerger.AddMergeInfo(ownPatientMergeInfo, foreignPatientMergeInfo); } if (MyelographyType != diffBrachialPlexusCard.MyelographyType) { CreateMergeInfos( ObjectType.BrachialPlexusCardMyelographyType, patientFio, nosology, hospitalizationDate, visitDate, "Тип миелографии", MyelographyType, diffBrachialPlexusCard.MyelographyType, diffBrachialPlexusCard, out ownPatientMergeInfo, out foreignPatientMergeInfo); databasesMerger.AddMergeInfo(ownPatientMergeInfo, foreignPatientMergeInfo); } if (CCompareEngine.CompareDate(MyelographyDate, diffBrachialPlexusCard.MyelographyDate) != 0) { CreateMergeInfos( ObjectType.BrachialPlexusCardMyelographyDate, patientFio, nosology, hospitalizationDate, visitDate, "Дата миелографии", CConvertEngine.DateTimeToString(MyelographyDate), CConvertEngine.DateTimeToString(diffBrachialPlexusCard.MyelographyDate), diffBrachialPlexusCard, out ownPatientMergeInfo, out foreignPatientMergeInfo); databasesMerger.AddMergeInfo(ownPatientMergeInfo, foreignPatientMergeInfo); } if (Myelography != diffBrachialPlexusCard.Myelography) { CreateMergeInfos( ObjectType.BrachialPlexusCardMyelography, patientFio, nosology, hospitalizationDate, visitDate, "Миелография", Myelography, diffBrachialPlexusCard.Myelography, diffBrachialPlexusCard, out ownPatientMergeInfo, out foreignPatientMergeInfo); databasesMerger.AddMergeInfo(ownPatientMergeInfo, foreignPatientMergeInfo); } if (IsEMNGEnabled != diffBrachialPlexusCard.IsEMNGEnabled) { CreateMergeInfos( ObjectType.BrachialPlexusCardIsEMNGEnabled, patientFio, nosology, hospitalizationDate, visitDate, "Информация о том, включено ли ЭМНГ", IsEMNGEnabled.ToString(), diffBrachialPlexusCard.IsEMNGEnabled.ToString(), diffBrachialPlexusCard, out ownPatientMergeInfo, out foreignPatientMergeInfo); databasesMerger.AddMergeInfo(ownPatientMergeInfo, foreignPatientMergeInfo); } if (CCompareEngine.CompareDate(EMNGDate, diffBrachialPlexusCard.EMNGDate) != 0) { CreateMergeInfos( ObjectType.BrachialPlexusCardEMNGDate, patientFio, nosology, hospitalizationDate, visitDate, "Дата ЭМНГ", CConvertEngine.DateTimeToString(EMNGDate), CConvertEngine.DateTimeToString(diffBrachialPlexusCard.EMNGDate), diffBrachialPlexusCard, out ownPatientMergeInfo, out foreignPatientMergeInfo); databasesMerger.AddMergeInfo(ownPatientMergeInfo, foreignPatientMergeInfo); } if (EMNG != diffBrachialPlexusCard.EMNG) { CreateMergeInfos( ObjectType.BrachialPlexusCardEMNG, patientFio, nosology, hospitalizationDate, visitDate, "ЭМНГ", EMNG, diffBrachialPlexusCard.EMNG, diffBrachialPlexusCard, out ownPatientMergeInfo, out foreignPatientMergeInfo); databasesMerger.AddMergeInfo(ownPatientMergeInfo, foreignPatientMergeInfo); } if (CCompareEngine.IsBitmapsDifferent(Picture, diffBrachialPlexusCard.Picture)) { CreateMergeInfos( ObjectType.BrachialPlexusCardPicture, patientFio, nosology, hospitalizationDate, visitDate, "Изображение", "Смотри картинку", "Смотри картинку", diffBrachialPlexusCard, out ownPatientMergeInfo, out foreignPatientMergeInfo); ownPatientMergeInfo.Object = Picture; foreignPatientMergeInfo.Object = diffBrachialPlexusCard.Picture; databasesMerger.AddMergeInfo(ownPatientMergeInfo, foreignPatientMergeInfo); } }