Exemplo n.º 1
0
        /// <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);
        }
Exemplo n.º 2
0
        /// <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);
        }