public IResult Add(WorkerCreationDto workerCreationDto) { var workerMapper = _mapper.Map <Worker>(workerCreationDto); workerMapper.Status = true; _workerDal.Add(workerMapper); foreach (var departmentType in workerCreationDto.DepartmentTypes) { WorkerDepartmentType workerDepartmentType = new WorkerDepartmentType { DepartmentTypeID = departmentType.DepartmentTypeID, WorkerID = workerMapper.WorkerID }; _workerDepartmentTypeService.Add(workerDepartmentType); } Salary salary = new Salary() { WorkerID = workerMapper.WorkerID, UserID = workerCreationDto.UserID, SalaryAmount = 0, }; _salaryService.Add(salary); return(new SuccessResult(Messages.WorkerAdded)); }
public ActionResult Add(Salary salary) { var result = _salaryService.Add(salary); if (result.Success) { return(Ok(result)); } return(BadRequest(result)); }
public IResult Add(ProjectWorkerWorkingTime projectWorkerWorkingTime) { _projectWorkerWorkingTimeDal.Add(projectWorkerWorkingTime); var getProjectWorker = _projectWorkerService.GetByID(projectWorkerWorkingTime.ProjectWorkerID).Data; var getProjectSectionDepartment = _projectSectionDepartmentService.GetByID(getProjectWorker.ProjectSectionDepartmentID).Data; var getProjectSection = _projectSectionService.GetBySectionID(getProjectSectionDepartment.ProjectSectionID).Data; var getProject = _projectService.GetByID(getProjectSection.ProjectID).Data; var getWorker = _workerService.GetByID(getProjectWorker.WorkerID).Data; var getWorkerSalary = _salaryService.GetByWorkerID(getWorker.WorkerID).Data; decimal getWorkTime = Convert.ToDecimal(projectWorkerWorkingTime.DailyFinishHour) - Convert.ToDecimal(projectWorkerWorkingTime.DailyStartHour); getWorkTime.ToString().Insert(1, "."); getProject.RemainingProjectTime -= getWorkTime; getProjectSection.RemainingSectionTime -= getWorkTime; var getProjectMapper = _mapper.Map <Project>(getProject); _projectService.Update(getProjectMapper); _projectSectionService.Update(getProjectSection); var WorkerEarnPrice = getWorkTime * getWorker.HourSalary; var getSalaryMapper = _mapper.Map <Salary>(getWorkerSalary); getSalaryMapper.SalaryAmount += WorkerEarnPrice; if ((DateTime.Now - Convert.ToDateTime(getSalaryMapper.SalaryDate)).Days > 30) { Salary salary = new Salary { UserID = getSalaryMapper.UserID, WorkerID = getSalaryMapper.WorkerID, SalaryAmount = WorkerEarnPrice }; _salaryService.Add(salary); } else { _salaryService.Update(getSalaryMapper); } return(new SuccessResult(Messages.AddedProjectWorkerWorkingTime)); }