/// <summary> /// Обновить данные в БД. /// </summary> /// <param name="login">логин пользователя</param> private void UpdateDataInDB(string login) { if (_ADLogins[login].UpdateDate.AddDays(UpdateIntervalInDay) < DateTime.Now) { using (IDBSource dBSource = new MKKContext()) { _ADLogins[login].Name = GetNameByLogin(login); _ADLogins[login].UpdateDate = DateTime.Now; dBSource.SaveChanges(); } } }
/// <summary> /// функция обновления данных клиента. /// </summary> /// <param name="clientTask">Задача с данными клиента</param> private static void UpdateClientFunction(ClientTask clientTask) { using (IDBSource dbSource = new MKKContext()) { if (clientTask.ClientDB.BirthDate < new DateTime(1920, 1, 1)) { LogAndThrowException <Exception, EFService1C>(_Logger, "", "Проверьте год рождения клиента {clientLastName} {clientFirstName} {clientSecondName}" + " (код клиента {clientID1C}). Год рождения: {clientBirthDate}./* Метод {methodName}.*/", clientTask.ClientDB.LastName, clientTask.ClientDB.FirstName, clientTask.ClientDB.SecondName, clientTask.ClientDB.Code1C, clientTask.ClientDB.BirthDate, "UpdateClientsInfo"); } ClientDB presentClient = clientTask.Task.ResultAndThrowException(); ICollection <GuarantorDB> guarantorDB = clientTask.ClientDB.GuarantorDBs; clientTask.ClientDB.GuarantorDBs = default; if (presentClient == default) { dbSource.Clients.Add(clientTask.ClientDB); presentClient = clientTask.ClientDB; } else { dbSource.Entry(presentClient).State = EntityState.Modified; } presentClient.BirthDate = clientTask.ClientDB.BirthDate; presentClient.FIO = clientTask.ClientDB.FIO; presentClient.FirstName = clientTask.ClientDB.FirstName; presentClient.LastName = clientTask.ClientDB.LastName; presentClient.SecondName = clientTask.ClientDB.SecondName; try { dbSource.SaveChanges(); } catch (Exception exception) { LogAndThrowException <Exception, EFService1C>(_Logger, "", "Не удалось обновить данные клиента по договору. Клиент {ClientDB}. Ошибка работы" + " с БД./* Метод {methodName}, исключение: {ContextException}*/", new ExLogValue() { LogValue = clientTask.ClientDB, ExValue = clientTask.ClientDB.Code1C }, "UpdateClientsInfo", exception); } clientTask.ClientDB.GuarantorDBs = guarantorDB; } }