Неполностью реализовал модель бд курса

This commit is contained in:
Никита Потапов 2024-04-28 16:27:00 +04:00
parent ac9f4b87ce
commit a48c0c75a5

View File

@ -63,39 +63,41 @@ namespace PolyclinicDatabaseImplement.Models
public CourseViewModel GetViewModel => new() public CourseViewModel GetViewModel => new()
{ {
Id = Id, Id = Id,
CourseName = CourseName, DaysCount = DaysCount,
Price = Price, PillsPerDay = PillsPerDay,
Comment = Comment,
RecipeId = RecipeId,
CourseDiagnoses = CourseDiagnoses CourseDiagnoses = CourseDiagnoses
}; };
public void UpdateDiagnoses(SecuritySystemDatabase context, CourseBindingModel model) public void UpdateDiagnoses(SecuritySystemDatabase context, CourseBindingModel model)
{ {
var courseDiagnoses = context.CourseDiagnoses.Where(rec => rec.CourseId == model.Id).ToList(); //var courseDiagnoses = context.CourseDiagnoses.Where(rec => rec.CourseId == model.Id).ToList();
if (courseDiagnoses != null && courseDiagnoses.Count > 0) //if (courseDiagnoses != null && courseDiagnoses.Count > 0)
{ //{
// удалили те, которых нет в модели // // удалили те, которых нет в модели
context.CourseDiagnoses.RemoveRange(courseDiagnoses.Where(rec => !model.CourseDiagnoses.ContainsKey(rec.DiagnoseId))); // context.CourseDiagnoses.RemoveRange(courseDiagnoses.Where(rec => !model.CourseDiagnoses.ContainsKey(rec.DiagnoseId)));
context.SaveChanges(); // context.SaveChanges();
// обновили количество у существующих записей // // обновили количество у существующих записей
foreach (var updateDiagnose in courseDiagnoses) // foreach (var updateDiagnose in courseDiagnoses)
{ // {
updateDiagnose.Count = model.CourseDiagnoses[updateDiagnose.DiagnoseId].Item2; // updateDiagnose.Count = model.CourseDiagnoses[updateDiagnose.DiagnoseId].Item2;
model.CourseDiagnoses.Remove(updateDiagnose.DiagnoseId); // model.CourseDiagnoses.Remove(updateDiagnose.DiagnoseId);
} // }
context.SaveChanges(); // context.SaveChanges();
} //}
var course = context.Courses.First(x => x.Id == Id); //var course = context.Courses.First(x => x.Id == Id);
foreach (var pc in model.CourseDiagnoses) //foreach (var pc in model.CourseDiagnoses)
{ //{
context.CourseDiagnoses.Add(new CourseDiagnose // context.CourseDiagnoses.Add(new CourseDiagnose
{ // {
Course = course, // Course = course,
Diagnose = context.Diagnoses.First(x => x.Id == pc.Key), // Diagnose = context.Diagnoses.First(x => x.Id == pc.Key),
Count = pc.Value.Item2 // Count = pc.Value.Item2
}); // });
context.SaveChanges(); // context.SaveChanges();
} //}
_courseDiagnoses = null; //_courseDiagnoses = null;
} }
} }
} }