Esempio n. 1
0
 private JobEmployee ConvertJobEmployeeRequestToJobEmployee(JobEmployeeRequest jobEmployeeRequest, long employeeId)
 {
     return(new JobEmployee(0,
                            _employeeService.Find(employeeId),
                            _jobService.Find(jobEmployeeRequest.JobId),
                            jobEmployeeRequest.Start,
                            jobEmployeeRequest.End,
                            jobEmployeeRequest.MonthlySalaryGross));
 }
Esempio n. 2
0
        public async Task <ActionResult <JobEmployeeResponse> > Post(JobEmployeeRequest jobEmployeeRequest, long employeeId)
        {
            if (validateDataInPostRequest(jobEmployeeRequest))
            {
                var  jobsInProgress   = _service.EmployeeInProgressJobs(employeeId);
                bool jobAlreadyExists = jobsInProgress.Select(x => x).Where(x => x.Id == jobEmployeeRequest.JobId).Any();
                if (!jobAlreadyExists)
                {
                    var jobEmployee = ConvertJobEmployeeRequestToJobEmployee(jobEmployeeRequest, employeeId);
                    await _service.AddAsync(jobEmployee);

                    return(CreatedAtAction(nameof(Get), new { employeeId = jobEmployee.Employee.Id }, ConvertJobEmployeeToJobEmployeeResponse(jobEmployee)));
                }
                else
                {
                    return(new ConflictObjectResult(new { message = $"The employee with id={employeeId} has already a work in progress." }));
                }
            }
            else
            {
                return(BadRequest());
            }
        }
Esempio n. 3
0
 private static bool validateDataInPostRequest(JobEmployeeRequest jobEmployeeRequest)
 {
     return(jobEmployeeRequest.JobId > 0 &&
            jobEmployeeRequest.Start != DateTime.MinValue &&
            jobEmployeeRequest.MonthlySalaryGross > 0);
 }