Пример #1
0
        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));
        }
Пример #3
0
        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));
        }