public EmployeeRegisterDTO SaveEmployeesService(List <Employee> employees)
        {
            _logger.LogInformation("Service: GetEmployeesService - Start - Employees received: " + employees.Count());

            EmployeeRegisterDTO employeeRegisterDTO = new EmployeeRegisterDTO();

            foreach (Employee employee in employees)
            {
                bool isValidEmployee = employee.IsValidEmployee();

                if (isValidEmployee)
                {
                    _logger.LogInformation("Service: GetEmployeesService - Employee: " + employee.ToString() + " is valid.");

                    employeeRegisterDTO.EmployeesRegistered.Add(employee);
                }
                else
                {
                    _logger.LogInformation("Service: GetEmployeesService - Employee: " + employee.ToString() + " not is valid.");

                    employeeRegisterDTO.EmployeesNotRegistered.Add(employee);
                }
            }


            _employeeRepository.SaveEmployees(employeeRegisterDTO.EmployeesRegistered);

            _logger.LogInformation("Service: GetEmployeesService - Employees saved: " + employeeRegisterDTO.EmployeesRegistered.Count());
            _logger.LogInformation("Service: GetEmployeesService - Employees not saved: " + employeeRegisterDTO.EmployeesNotRegistered.Count());

            _logger.LogInformation("Service: GetEmployeesService - Finish ");
            return(employeeRegisterDTO);
        }
Example #2
0
        public void When_Try_Save_Employees_Corrects_Return_Correct_Items_Inserted()
        {
            string id1             = "1234";
            string occupationArea1 = "Diretoria";
            string name1           = "Joao";
            string position1       = "Diretor";
            string admissionDate1  = "2020-10-20";
            string salary1         = "R$ 10.000,00";

            Employee employee1 = new Employee(id1, occupationArea1, name1, position1, admissionDate1, salary1);

            string id2             = "12345";
            string occupationArea2 = "Contabilidade";
            string name2           = "Victor";
            string position2       = "Auxiliar";
            string admissionDate2  = "2017-05-25";
            string salary2         = "R$ 2.000,00";

            Employee employee2 = new Employee(id2, occupationArea2, name2, position2, admissionDate2, salary2);

            List <Employee> employeesList = new List <Employee>();

            employeesList.Add(employee1);
            employeesList.Add(employee2);

            employeeRepositoryMock.Setup(x => x.SaveEmployees(It.IsAny <List <Employee> >())).Returns(employeesList);

            EmployeeRegisterDTO responseList = employeeService.SaveEmployeesService(employeesList);

            responseList.EmployeesRegistered.Count.Should().Be(2);
            responseList.EmployeesNotRegistered.Count.Should().Be(0);

            responseList.EmployeesRegistered.Find(x => x.Id.Equals(id1)).Should().Be(employee1);
            responseList.EmployeesRegistered.Find(x => x.Id.Equals(id2)).Should().Be(employee2);
        }
        public IActionResult SaveListEmployeesController([FromBody] List <Employee> employeeList)
        {
            try
            {
                EmployeeRegisterDTO result = _employeeService.SaveEmployeesService(employeeList);

                return(Ok(result));
            }
            catch (Exception)
            {
                return(StatusCode(StatusCodes.Status500InternalServerError));
            }
        }