/// <summary> /// Adds a doctor to the database /// </summary> /// <param name="doctor">The doctor to be added to the database</param> public Models.Doctor AddDoctor(Models.Doctor doctor) { var newDoctor = new DataModel.Doctor { Name = doctor.Name, Title = doctor.Title }; _context.Doctors.Add(newDoctor); _context.SaveChanges(); doctor.Id = newDoctor.Id; return(doctor); }
/// <summary> /// Adds a doctor to the database /// </summary> /// <param name="doctor">The doctor to be added to the database</param> public async Task <Models.Doctor> AddDoctorAsync(Models.Doctor doctor) { var newDoctor = new DataModel.Doctor { Name = doctor.Name, Title = doctor.Title }; await _context.Doctors.AddAsync(newDoctor); await _context.SaveChangesAsync(); doctor.Id = newDoctor.Id; return(doctor); }
public async Task AddDoctorAsync_Database_Test() { using var connection = new SqliteConnection("Data Source=:memory:"); connection.Open(); var options = new DbContextOptionsBuilder <ClinicDbContext>().UseSqlite(connection).Options; var doctor = new VirtualClinic.Domain.Models.Doctor(101, "Jerry Smith", "MD"); using (var context = new ClinicDbContext(options)) { context.Database.EnsureCreated(); var repo = new ClinicRepository(context, new NullLogger <ClinicRepository>()); await repo.AddDoctorAsync(doctor); } using var context2 = new ClinicDbContext(options); DataModel.Doctor doctorActual = context2.Doctors .Single(l => l.Name == "Jerry Smith"); Assert.Equal(doctor.Name, doctorActual.Name); Assert.Equal(doctor.Title, doctorActual.Title); }