示例#1
0
        public async Task UpdateDbEmployee_NotFound()
        {
            //Arrange
            EmployeeDbResponse emp = new EmployeeDbResponse
            {
                Id        = 6,
                FirstName = "David",
                LastName  = "Chen",
                Gender    = "Male",
                Salary    = 100000.90m
            };
            var mockRepository = new MockEmployeeDbRepository();
            var returnval      = mockRepository.UpdateEmployeDbAsync(emp);

            mockDbEmployees.Setup(e => e.UpdateEmployeDbAsync(emp)).Returns(returnval);

            var employeeDbController = new EmployeeDbController(mockDbEmployees.Object, loggerMock, factorycustLog);

            //Act
            var result = await employeeDbController.UpdateDbEmployee(emp);


            //Assert
            Assert.NotNull(result);
            var objectNotResult = Assert.IsType <NotFoundObjectResult>(result.Result);
            var statuscode      = objectNotResult.StatusCode;

            Assert.Equal(404, statuscode);
        }
示例#2
0
        public async Task <ActionResult <EmployeeDbResponse> > CreateEmployee(EmployeeDbResponse responseEmployee)
        {
            var result = await employeeDbRepository.CreateEmployeeDbAsync(responseEmployee);

            var url = string.Concat(Request.Scheme, "://", Request.Host.ToUriComponent(), Request.PathBase.ToUriComponent(), Request.Path.ToUriComponent());
            var uri = url.Replace(nameof(CreateEmployee), nameof(GetDbEmployee));
            var val = Created($"{uri}/{result.Id}", result);


            return(val);
        }
示例#3
0
        public async Task <ActionResult <EmployeeDbResponse> > UpdateDbEmployee(EmployeeDbResponse responseEmployee)
        {
            var result = await employeeDbRepository.UpdateEmployeDbAsync(responseEmployee);

            if (result == null)
            {
                return(NotFound("This employee could not be updated because it was not found"));
            }

            return(Ok(result));
        }
        public async Task <EmployeeDbResponse> CreateEmployeeDbAsync(EmployeeDbResponse DbEmployee)
        {
            var employee = mapper.Map <Employees>(DbEmployee);

            await employeeDbContext.Employees.AddAsync(employee);

            await employeeDbContext.SaveChangesAsync();

            var returnval = mapper.Map <EmployeeDbResponse>(employee);

            return(returnval);
        }
示例#5
0
        public async Task <EmployeeDbResponse> UpdateEmployeDbAsync(EmployeeDbResponse DbEmployee)
        {
            var existEmployee = dbemployees.FirstOrDefault(e => e.Id == DbEmployee.Id);

            if (existEmployee != null)
            {
                existEmployee.FirstName = DbEmployee.FirstName;
                existEmployee.LastName  = DbEmployee.LastName;
                existEmployee.Gender    = DbEmployee.Gender;
                existEmployee.Salary    = DbEmployee.Salary;
            }

            return(await Task.FromResult(existEmployee));
        }
        public async Task <EmployeeDbResponse> UpdateEmployeDbAsync(EmployeeDbResponse DbEmployee)
        {
            var existEmployee = await employeeDbContext.Employees.FirstOrDefaultAsync(e => e.Id == DbEmployee.Id);

            if (existEmployee != null)
            {
                existEmployee.FirstName = DbEmployee.FirstName;
                existEmployee.LastName  = DbEmployee.LastName;
                existEmployee.Gender    = DbEmployee.Gender;
                existEmployee.Salary    = DbEmployee.Salary;
                await employeeDbContext.SaveChangesAsync();
            }

            return(mapper.Map <EmployeeDbResponse>(existEmployee));
        }
示例#7
0
        public async Task CreateDbEmployee()
        {
            //Arrange
            EmployeeDbResponse emp = new EmployeeDbResponse
            {
                Id        = 4,
                FirstName = "Savannah",
                LastName  = "Stephen",
                Gender    = "Female",
                Salary    = 8500.90m
            };


            var dbEmployee = await new MockEmployeeDbRepository().CreateEmployeeDbAsync(emp);

            mockDbEmployees.Setup(e => e.CreateEmployeeDbAsync(emp)).ReturnsAsync(dbEmployee);

            var employeeDbController = new EmployeeDbController(mockDbEmployees.Object, loggerMock, factorycustLog);
            var expectedLink         = "http://localHost/api/v3.1/EmployeeDb/GetDbEmployee/4";
            var httpContext          = new DefaultHttpContext();

            httpContext.Request.Scheme   = "http";
            httpContext.Request.Host     = new HostString("localHost");
            httpContext.Request.PathBase = "/api/v3.1/EmployeeDb";
            httpContext.Request.Path     = "/CreateEmployee";

            var controllerContext = new ControllerContext()
            {
                HttpContext = httpContext,
            };

            employeeDbController.ControllerContext = controllerContext;


            //Act
            var result = await employeeDbController.CreateEmployee(emp);

            //Assert
            Assert.NotNull(result);
            var objectResult    = Assert.IsType <CreatedResult>(result.Result);
            var location        = objectResult.Location;
            var createdEmployee = objectResult.Value as EmployeeDbResponse;

            Assert.NotNull(createdEmployee);
            Assert.Equal(expectedLink, location, ignoreCase: true);
        }
示例#8
0
 public async Task <EmployeeDbResponse> CreateEmployeeDbAsync(EmployeeDbResponse DbEmployee)
 {
     dbemployees.Add(DbEmployee);
     return(await Task.FromResult(DbEmployee));
 }