Exemplo n.º 1
0
 private IResult ChechkUpdatedIsToday(ProjectWorkerWorkingTime newprojectWorkerWorkingTime, ProjectWorkerWorkingTime oldprojectWorkerWorkingTime)
 {
     if (oldprojectWorkerWorkingTime.Date.Date != newprojectWorkerWorkingTime.Date.Date)
     {
         return(new ErrorResult(Messages.CanNotUpdatedWorkingTime));
     }
     return(new SuccessResult());
 }
        public ActionResult Update(ProjectWorkerWorkingTime projectWorkerWorkingTime)
        {
            var result = _projectWorkerWorkingTimeService.Update(projectWorkerWorkingTime);

            if (result.Success)
            {
                return(Ok(result));
            }
            return(BadRequest(result));
        }
Exemplo n.º 3
0
        public IResult Update(ProjectWorkerWorkingTime projectWorkerWorkingTime)
        {
            var     getOldVersion = GetByProjectWorkerWorkingTimeID(projectWorkerWorkingTime.ProjectWorkerWorkingTimeID).Data;
            IResult result        = BusinessRules.Run(ChechkUpdatedIsToday(projectWorkerWorkingTime, getOldVersion));

            if (result != null)
            {
                return(result);
            }


            _projectWorkerWorkingTimeDal.Update(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, ".");

            decimal getOldWorkTime = Convert.ToDecimal(getOldVersion.DailyFinishHour) - Convert.ToDecimal(getOldVersion.DailyStartHour);

            getWorkTime.ToString().Insert(1, ".");


            getProject.RemainingProjectTime        += getOldWorkTime;
            getProjectSection.RemainingSectionTime += getOldWorkTime;

            getProject.RemainingProjectTime        -= getWorkTime;
            getProjectSection.RemainingSectionTime -= getWorkTime;

            var getProjectMapper = _mapper.Map <Project>(getProject);

            _projectService.Update(getProjectMapper);
            _projectSectionService.Update(getProjectSection);

            var WorkerEarnPrice    = getWorkTime * getWorker.HourSalary;
            var WorkerOldEarnPrice = getOldWorkTime * getWorker.HourSalary;

            var getSalaryMapper = _mapper.Map <Salary>(getWorkerSalary);

            getSalaryMapper.SalaryAmount -= WorkerOldEarnPrice;
            getSalaryMapper.SalaryAmount += WorkerEarnPrice;


            _salaryService.Update(getSalaryMapper);

            return(new SuccessResult(Messages.UpdatedProjectWorkerWorkingTime));
        }
Exemplo n.º 4
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));
        }