public DatabasePlaygroundRunner()
 {
     _databaseFilePath = "test.db";
     _connectionString = $"URI=file:{_databaseFilePath}";
     _databaseExecutor = new DatabaseExecutor(_connectionString);
     _departmentReader = new DepartmentReader(_databaseExecutor);
     _departmentWriter = new DepartmentWriter(_databaseExecutor);
     //_nodeReader = new NodeReader(_databaseExecutor);
     _employeeWriter = new EmployeeWriter(_databaseExecutor);
     _employeeReader = new EmployeeReader(_databaseExecutor);
 }
        public async Task <IActionResult> Remove(int employeeId)
        {
            var employee = await EmployeeReader.Read(employeeId);

            if (employee.HasNoValue)
            {
                return(NotFound());
            }

            await EmployeeWriter.Remove(employee.Value);

            return(Ok());
        }
        public async Task <IActionResult> Create([FromBody] EmployeeCreateModel employeeCreateModel)
        {
            var employee = employeeCreateModel.MapTo <Employee>();

            await EmployeeWriter.Write(employee);

            if (NotificationStore.HasNotifications())
            {
                var badRequestModel = new BadRequestModel(NotificationStore.Notifications);

                return(BadRequest(badRequestModel));
            }

            var employeeModel = employee.MapTo <EmployeeModel>();

            return(Created(string.Empty, employeeModel));
        }
示例#4
0
        public async Task Write_Should_Save_Employee(Employee employee)
        {
            var options = DbContextOptionsFactory.Create(nameof(Write_Should_Save_Employee));

            using (var context = new EmployeeManagerContext(options))
            {
                var sut = new EmployeeWriter(context);

                await sut.Write(employee);
            }

            using (var context = new EmployeeManagerContext(options))
            {
                var employeeStoraged = await context.Employees.FindAsync(employee.Id);

                employeeStoraged.Should().NotBeNull();
            }
        }
示例#5
0
        public async Task Remove_Should_Delete_Employee(Employee employee)
        {
            var options = DbContextOptionsFactory.Create(nameof(Remove_Should_Delete_Employee));

            using (var context = new EmployeeManagerContext(options))
            {
                context.Add(employee);
                await context.SaveChangesAsync();
            }

            using (var context = new EmployeeManagerContext(options))
            {
                var sut = new EmployeeWriter(context);

                await sut.Remove(employee);

                employee.DeletedAt.Should().NotBeNull();
            }
        }
示例#6
0
 private static EmployeeWriter CreateEmployeeWriter(IServiceProvider p)
 {
     return(EmployeeWriter.Create(p.GetService <EventReader>, p.GetService <EventWriter>));
 }
示例#7
0
 public EmployeeController(EmployeeView employees, EmployeeWriter writer)
 {
     _employees = employees;
     _writer    = writer;
 }