Esempio n. 1
0
        public async Task <int> CreateAsync(CreateEmployeeDto request)
        {
            Require.IsNotNull(request);

            try
            {
                Employee employee = EmployeeMapper.ToEntity(request) ?? throw new ArgumentNullException(nameof(request));

                if (await _employeeRepository.AnyAsync(x => x.EmployeeIdNumber.Equals(request.EmployeeIdNumber)))
                {
                    throw new ValidationException($"EmployeeIdNumber : {request.EmployeeIdNumber} already exists.");
                }

                if (await _employeeRepository.AnyAsync(x => x.Email.Equals(request.Email)))
                {
                    throw new ValidationException($"Email : {request.Email} already exists.");
                }

                _employeeRepository.Add(employee);

                return(await _unitOfWork.SaveChangesAsync());
            }
            catch (Exception ex)
            {
                _logger.Log(LogLevel.Error, ex, "Error when EmployeeService.CreateAsync");
                throw;
            }
        }
 public void Update(EmployeeModel employee)
 {
     UnitOfWork.Employees.AddOrUpdate(EmployeeMapper.ToEntity(employee));
 }
 public void Delete(EmployeeModel item)
 {
     UnitOfWork.Employees.Delete(EmployeeMapper.ToEntity(item).Id);
 }
 public void Add(EmployeeModel item)
 {
     UnitOfWork.Employees
     .AddOrUpdate(EmployeeMapper.ToEntity(item));
 }