public void DeleteVisit(int id) { var itemToRemove2 = visits.SingleOrDefault(r => r.Id == id); if (itemToRemove2 != null) { visits.Remove(itemToRemove2); } using (UserContext db = new UserContext()) { // Удаление из БД Visit what = db.Visits .Where(o => o.Id == id) .FirstOrDefault(); db.Visits.Remove(what); db.SaveChanges(); } }
// Добавление новой записи. // Правила: на 1 пациента врач выделяет по 30 минут // Нельзя принимать сразу несколько пациентов // Врач работает в определенные смены public string AddVisit(Doctor doc, Patient pat, DateTime date) { // проверка 1: работает ли врач в эту смену? if (doc.IsAvalible(date)) { // Проверка 2: занят ли врач другим пациентом? if (CheckDocAvalible(doc, date)) { // Проверка 3: свободен ли пациент в это время? if (CheckPatAvalible(pat, date)) { using (UserContext db = new UserContext()) { Visit tmp = new Visit(doc, pat, date); db.Visits.Add(tmp); db.SaveChanges(); visits.Add(tmp); } return($"Успешно. {pat.GetLastName()} записан на прием к {doc.GetLastName()} ({doc.GetPosition()}) на дату: {date.ToString()}."); } } else { return("Ошибка: в данное время уже ведется приём другого пациента"); //doc.ShowSched(); } } else { return("Ошибка: врач не принимает в данные часы"); //doc.GetAvalibleTime(); } return("Ошибка: Невозможно провести запись"); }
void AddVisit(Visit visit) { DatMan DatMan = new DatMan(); Hospital hospital = new Hospital(); hospital = DatMan.ReadToObject <Hospital>(); bool e = false; foreach (var el in hospital.visits) { if (el.Id.ToString() == id3.Text) { e = true; } } if (e == false) { hospital.visits.Add(visit); DatMan.Write(hospital); } else { ShowMesText(messege3, "Вызит с таким Id уже существует!!!"); } }