/// <summary>МЕТОД Создаем логи xLog (Создан)</summary> /// <param name="pUser">Кто создал документ (по умолчанию MyGlo.User)</param> /// <param name="pDate">Дата лога (по умолчанию текущее время)</param> /// <param name="pVer">Версия программы (по умолчанию текущее версия)</param> /// <remarks>Работа с json https://www.newtonsoft.com/json/help/html/QueryingLINQtoJSON.htm </remarks> public static string MET_CreateLogs(int pUser = 0, string pDate = "", string pVer = "") { if (pUser == 0) { pUser = MyGlo.User; } if (pDate == "") { pDate = DateTime.Now.ToString("dd.MM.yyyy H:mm"); } if (pVer == "") { pVer = MyMet.MET_Ver(); } var _ListLogs = new List <UserLog>(); UserLog _Log = new UserLog { Cod = 1, Date = pDate, Tip = "Создан", User = pUser, Ver = pVer }; _ListLogs.Add(_Log); string _xLog = JsonConvert.SerializeObject(_ListLogs, Formatting.None, new JsonSerializerSettings { DefaultValueHandling = DefaultValueHandling.Ignore }); _xLog = "{ \"Log\":" + _xLog + "}"; return(_xLog); }
/// <summary>МЕТОД Заголовок программы</summary> public override string MET_Title() { // Наименование модуля string _Title = "wpfBazis -- Лаборатория --"; // Номер версии _Title += " " + MyMet.MET_Ver(); // Показываем имя пользователя _Title += " (" + MyGlo.UserName + ")"; return(_Title); }
/// <summary>МЕТОД Заголовок программы</summary> public override string MET_Title() { // Наименование модуля string _Title = "wpfBazis -- История болезни --"; // Номер версии _Title += " " + MyMet.MET_Ver(); // Пациент _Title += MyGlo.KL > 0 ? " (" + MyGlo.FIO + " " + MyGlo.DR : " ( "; // Показываем имя пользователя _Title += " - " + MyGlo.UserName + ")"; return(_Title); }
/// <summary>МЕТОД Заголовок программы</summary> public override string MET_Title() { // Наименование модуля string _Title = "wpfBazis -- Врач поликлиники --"; // Номер версии _Title += " " + MyMet.MET_Ver(); // Пациент _Title += " (" + MyGlo.FIO + " " + MyGlo.DR; // Показываем имя пользователя _Title += " - " + MyGlo.UserName + ")"; return(_Title); }
/// <summary>МЕТОД Заголовок программы</summary> public override string MET_Title() { // Наименование модуля string _Title = "wpfBazis -- Врач параклиники --"; // Номер версии _Title += " " + MyMet.MET_Ver(); // Элемент расписания _Title += " (" + MySql.MET_NameSpr(MyGlo.Otd, "parElement", "FIO", "Cod") + " "; // Пациент _Title += " " + MyGlo.FIO + " " + MyGlo.DR; // Показываем имя пользователя _Title += " - " + MyGlo.UserName + ")"; return(_Title); }
/// <summary>МЕТОД Заголовок программы</summary> public override string MET_Title() { // Наименование модуля string _Title = "wpfBazis -- Канцер Регистр --"; // Номер версии _Title += " " + MyMet.MET_Ver(); // Отделение _Title += $" ({MyMet.MET_NameOtd()})"; // Пациент _Title += " (" + MyGlo.FIO + " " + MyGlo.DR; // Показываем имя пользователя _Title += " - " + MyGlo.UserName + ")"; return(_Title); }
/// <summary>МЕТОД Заголовок программы</summary> public override string MET_Title() { // Наименование модуля string _Title = "wpfBazis -- Врач стационара --"; // Номер версии _Title += " " + MyMet.MET_Ver(); // Отделение _Title += " (" + MySql.MET_NameSpr(MyGlo.Otd, "s_Department", "Names", "Cod"); // Пациент _Title += " " + MyGlo.FIO + " " + MyGlo.DR; // Показываем имя пользователя _Title += " - " + MyGlo.UserName + ")"; return(_Title); }
/// <summary>КОНСТРУКТОР</summary> public About() { InitializeComponent(); // IP Сервера string _Server = ""; switch (MyGlo.Server) { case 1: // Локальный _Server = " Server: (1) 127.0.0.1;"; break; case 2: // Удаленное подключение к филиалу _Server = " Server: (2) 10.30.104.5;"; break; case 3: // Главный корпус _Server = " Server: (3) 192.168.0.8;"; break; case 5: // Филиал _Server = " Server: (5) 192.168.0.8;"; break; case 6: // Главный из вне _Server = " Server: (6) 10.30.103.8;"; break; } // Версия программы и IP серевера PART_Ver.Text = "Версия " + MyMet.MET_Ver() + _Server; // Если включен режим Админа if (MyGlo.PROP_Admin) { PRI_Flag = 3; PART_Bazis.Foreground = new SolidColorBrush(Colors.BlueViolet); } }
/// <summary>МЕТОД Изменяем логи xLog (Изменён, Удалён)</summary> /// <param name="pLog">Строка текущего лога</param> /// <param name="pDate">Дата лога</param> /// <param name="pTip">Тип лога Создан, Изменён, Удалён</param> /// <param name="pUser">Кто изменил/удалил документ</param> /// <param name="pVer">Версия программы (по умолчанию текущее версия)</param> /// <remarks>Работа с json https://www.newtonsoft.com/json/help/html/QueryingLINQtoJSON.htm </remarks> public static string MET_LogAdd(string pLog, DateTime pDate, string pTip = "Изменён", int pUser = 0, string pVer = "") { if (pUser == 0) { pUser = MyGlo.User; } if (pVer == "") { pVer = MyMet.MET_Ver(); } // Если Создан лог if (string.IsNullOrEmpty(pLog)) { return(MET_CreateLogs(pUser, DateTime.Now.ToString("dd.MM.yyyy H:mm"), pVer)); } var _ListLogs = new List <UserLog>(); UserLog _Log; JObject _Json = JObject.Parse(pLog); foreach (var i in _Json["Log"].Children()) { _Log = new UserLog { Cod = (int)i["Cod"], Date = (string)i["Date"], Tip = (string)i["Tip"], User = (int)i["User"], Ver = (string)i["Ver"] }; _ListLogs.Add(_Log); } // Берем последний лог и смотрим тип, кто и когда его менял _Log = _ListLogs.LastOrDefault(); if (_Log != null && _Log.Tip == pTip && _Log.User == pUser && _Log.Ver == MyMet.MET_Ver() && (pDate - DateTime.ParseExact(_Log.Date, "dd.MM.yyyy H:mm", CultureInfo.InvariantCulture)).Hours < 6) { // Если прошло менее 6 часов просто меняем время редактирования у последнего лога _Log.Date = DateTime.Now.ToString("dd.MM.yyyy H:mm"); } else { // Иначе добавляем новый логи _Log = new UserLog { Cod = _ListLogs.Count + 1, Date = pDate.ToString("dd.MM.yyyy H:mm"), Tip = pTip, User = pUser, Ver = MyMet.MET_Ver() }; _ListLogs.Add(_Log); } string _xLog = JsonConvert.SerializeObject(_ListLogs, Formatting.None, new JsonSerializerSettings { DefaultValueHandling = DefaultValueHandling.Ignore }); _xLog = "{ \"Log\":" + _xLog + "}"; return(_xLog); }
/// <summary>МЕТОД Изменяем логи xLog</summary> /// <param name="pUser">Кто создал/изменил протокол</param> /// <param name="pTipLog">Тип лога Создан, Изменён, Удалён</param> public void MET_ChangeLogs1(int pUser, string pTipLog) { string _jLog = PROP_xLog; var _ListLogs = new List <UserLog>(); UserLog _Log; // Если нет логов и это НЕ создание протокола if (string.IsNullOrEmpty(_jLog) && pTipLog != "Создан") { // Если изменили протокол (вытаскиваем информацию из xDateUp, pDate) _Log = new UserLog { Cod = 1, Date = PROP_pDate < PROP_xDateUp?PROP_pDate.ToString("dd.MM.yyyy H:mm") : PROP_xDateUp.ToString("dd.MM.yyyy H:mm"), Tip = "Создан", User = PROP_xUserUp, Ver = "" }; _ListLogs.Add(_Log); // Если ВОЗМОЖНО менялся протокол if (PROP_xDateUp > PROP_pDate) { _Log = new UserLog { Cod = 2, Date = PROP_xDateUp.ToString("dd.MM.yyyy H:mm"), Tip = "Изменён", User = PROP_xUserUp, Ver = "" }; _ListLogs.Add(_Log); } } else { // Заполняем старые логи JObject _Json = JObject.Parse(_jLog); foreach (var i in _Json["Log"].Children()) { _Log = new UserLog { Cod = (int)i["Cod"], Date = (string)i["Date"], Tip = (string)i["Tip"], User = (int)i["User"], Ver = (string)i["Ver"] }; _ListLogs.Add(_Log); } } // Берем последний лог и смотрим тип, кто и когда его менял _Log = _ListLogs.LastOrDefault(); if (_Log != null && _Log.Tip == pTipLog && _Log.User == pUser && _Log.Ver == MyMet.MET_Ver() && (DateTime.Now - DateTime.ParseExact(_Log.Date, "dd.MM.yyyy H:mm", CultureInfo.InvariantCulture)).Hours < 6) { // Если прошло менее 6 часов просто меняем время редактирования у последнего лога _Log.Date = DateTime.Now.ToString("dd.MM.yyyy H:mm"); } else { // Иначе добавляем новый логи _Log = new UserLog { Cod = _ListLogs.Count + 1, Date = DateTime.Now.ToString("dd.MM.yyyy H:mm"), Tip = pTipLog, User = pUser, Ver = MyMet.MET_Ver() }; _ListLogs.Add(_Log); } PROP_xLog = JsonConvert.SerializeObject(_ListLogs, Formatting.None, new JsonSerializerSettings { DefaultValueHandling = DefaultValueHandling.Ignore }); PROP_xLog = "{ \"Log\":" + PROP_xLog + "}"; }