public JsonResult Create(OvertimeDto dto)
        {
            dto.AdminId = AuthorityHelper.OperatorId ?? 0;
            OperationResult oper = CalculationHour(dto.StartTime, dto.EndTime, dto.AdminId);

            if (oper.ResultType != OperationResultType.Success)
            {
                return(Json(oper));
            }
            string strDay = oper.Data.ToString();

            dto.OvertimeDays = double.Parse(strDay) - dto.RestHours;
            OperationResult oper_point = _memberContract.CheckLeavePointsInfo(Convert.ToDecimal(dto.OvertimeDays), -1, "overtime");

            dto.GetPoints = Convert.ToDecimal(oper_point.Data);
            oper          = _overtimeContract.Insert(dto);
            return(Json(oper));
        }
Beispiel #2
0
        public JsonResult AddOvertime(OvertimeDto dto)
        {
            decimal OvertimePoints = 0;

            //decimal.TryParse(XmlStaticHelper.GetXmlNodeByXpath("LeavePoints", "LeavePointsconfig", "LeavePoints", "0"), out OvertimePoints);
            decimal.TryParse(_configureContract.GetConfigureValue("LeavePoints", "LeavePointsconfig", "LeavePoints", "0"), out OvertimePoints);
            OperationResult oper       = new OperationResult(OperationResultType.Error, "申请失败");
            OperationResult oper_point = _memberContract.CheckLeavePointsInfo(Convert.ToDecimal(dto.OvertimeDays), dto.AdminId);

            dto.GetPoints = Convert.ToDecimal(oper_point.Data);

            oper = _overtimeContract.Insert(dto);
            return(Json(oper));
        }
Beispiel #3
0
        public JsonResult Create(LeaveInfoDto dto)
        {
            dto.AdminId = AuthorityHelper.OperatorId ?? 0;
            if (dto.LeaveMethod != 1)
            {
                //dto.EndTime = dto.StartTime;

                if (dto.UseAnnualLeaveDay == 1)
                {
                    dto.AmOrPm = 0;
                }
            }
            else
            {
                dto.AmOrPm = -1;
            }
            OperationResult oper = CalculationHour(dto.StartTime, dto.EndTime, dto.AdminId, dto.LeaveMethod, dto.UseAnnualLeaveDay, dto.AmOrPm);

            if (oper.ResultType != OperationResultType.Success)
            {
                return(Json(oper));
            }
            string strDay = oper.Data.ToString();

            if (dto.LeaveMethod == 1)
            {
                dto.UseAnnualLeaveDay = 0;
                dto.LeaveDays         = double.Parse(strDay) - dto.RestHours;
            }
            else
            {
                dto.RestHours = 0;
                dto.LeaveDays = double.Parse(strDay);
            }

            if (dto.LeaveMethod == 1)
            {
                oper = _memberContract.CheckLeavePointsInfo(Convert.ToDecimal(dto.LeaveDays), -1, "leave");
                if (oper.ResultType != OperationResultType.Success)
                {
                    return(Json(oper));
                }
                decimal deductionLeavePoints = 0;
                if (oper.Data != null && decimal.TryParse(oper.Data.ToString(), out deductionLeavePoints))
                {
                    dto.DeductionLeavePoints = deductionLeavePoints;
                    AdministratorDto adm = _administratorContract.Edit(dto.AdminId);
                    int memberId         = adm.MemberId ?? 0;
                    //扣除修改后需要的积分
                    oper = _memberContract.ReturnPoints(memberId, -dto.DeductionLeavePoints);

                    if (oper.ResultType != OperationResultType.Success)
                    {
                        return(Json(oper));
                    }
                }
            }

            oper = _leaveInfoContract.Insert(dto);
            return(Json(oper));
        }