/// <summary>
        /// 载入创建数据
        /// </summary>
        /// <returns></returns>
        public ActionResult Create(int Id, int AddFlag)
        {
            //从会员列表请求不显示返回上一级,Num=1 表示从会员列表进来
            string strNum = Request["Num"];
            var    result = _memberContract.Edit(Id);
            Member member = _memberContract.View(Id);

            ViewBag.MemberId     = Id;
            ViewBag.MemberTypeId = result.MemberTypeId;
            var           memberDepList      = _memberdepositContract.MemberDeposits.Where(x => x.IsDeleted == false && x.IsEnabled == true && x.MemberId == Id);
            decimal       price              = 0;
            decimal       score              = 0;
            MemberDeposit memberDepListModel = new MemberDeposit();

            if (memberDepList.Count() > 0)
            {
                foreach (var memberDep in memberDepList)
                {
                    price = price + memberDep.Price;
                    score = score + memberDep.Score;
                }
                memberDepListModel = memberDepList.FirstOrDefault();
            }

            ViewBag.Balance = member.Balance;
            ViewBag.Price   = price;
            ViewBag.Score   = score;
            ViewBag.Num     = strNum;
            ViewBag.AddFlag = AddFlag;
            return(PartialView(memberDepListModel));
        }
        /// <summary>
        /// 初始化充值界面
        /// </summary>
        /// <returns></returns>
        public ActionResult Recharge(int Id)
        {
            var    result = _memberContract.Edit(Id);
            Member member = _memberContract.View(Id);

            ViewBag.MemberId     = Id;
            ViewBag.MemberTypeId = result.MemberTypeId;
            var     memberDepList = _memberDepositContract.MemberDeposits.Where(x => x.IsDeleted == false && x.IsEnabled == true && x.MemberId == Id);
            decimal price         = 0;
            decimal score         = 0;

            if (memberDepList.Count() > 0)
            {
                foreach (var memberDep in memberDepList)
                {
                    price = price + memberDep.Price;
                    score = score + memberDep.Score;
                }
            }
            ViewBag.Balance = member.Balance;
            ViewBag.Price   = price;
            ViewBag.Score   = score;
            MemberDepositDto dto = new MemberDepositDto();

            dto.MemberId = Id;

            return(PartialView(dto));
        }
示例#3
0
        public JsonResult Update(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)
            {
                AdministratorDto adm = _administratorContract.Edit(dto.AdminId);
                int       memberId   = adm.MemberId ?? 0;
                MemberDto member     = _memberContract.Edit(memberId);
                //返还上次扣除的积分
                oper = _memberContract.ReturnPoints(memberId, dto.DeductionLeavePoints);

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

                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;

                    //扣除修改后需要的积分
                    oper = _memberContract.ReturnPoints(memberId, -dto.DeductionLeavePoints);

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