Esempio n. 1
0
        public ActionResult <BaseViewModel> GetAddMyDutyInfo(MydutyClaimInfoAddViewModel mydutyClaimInfoAddViewModel)
        {
            BaseViewModel baseView = new BaseViewModel();

            baseView = mydutyClaimInfoService.getMydutyInfoAddService(mydutyClaimInfoAddViewModel);

            return(baseView);
        }
Esempio n. 2
0
        public BaseViewModel getMydutyInfoAddService(MydutyClaimInfoAddViewModel mydutyClaimInfoAddViewModel)
        {
            BaseViewModel baseView = new BaseViewModel();

            if (mydutyClaimInfoAddViewModel.StartDutyTime >= DateTime.Now)
            {
                var result = _IMapper.Map <MydutyClaimInfoAddViewModel, MydutyClaim_Info>(mydutyClaimInfoAddViewModel);


                //获取已该值班信息 认领人数
                int num = _IMydutyClaimInfoRepository.GetByParasNum(mydutyClaimInfoAddViewModel.OndutyClaims_InfoId,
                                                                    mydutyClaimInfoAddViewModel.StartDutyTime, mydutyClaimInfoAddViewModel.EndDutyTime);
                //获取 可值班人数
                OndutyClaims_Info ondutyClaims = _ondutyClaimsInfoRepository.GetByID(mydutyClaimInfoAddViewModel.OndutyClaims_InfoId);

                //查询是否已经 被认领(已满员)  20200703
                if (ondutyClaims.TotalReportNum <= num)
                {
                    baseView.ResponseCode = 4;
                    baseView.Message      = "已经被认领,无法再次认领。";
                }
                else
                {
                    //判断 是否已经认领同时段 信息
                    if (_IMydutyClaimInfoRepository.GetByParas(mydutyClaimInfoAddViewModel.Userid, "",
                                                               mydutyClaimInfoAddViewModel.StartDutyTime, mydutyClaimInfoAddViewModel.EndDutyTime))
                    {
                        baseView.ResponseCode = 5;
                        baseView.Message      = "您已认领同时段值班任务,无法再次认领。";
                    }
                    else
                    {
                        //查询是否本人是否已经认领过 20200623
                        if (_IMydutyClaimInfoRepository.GetByParas(mydutyClaimInfoAddViewModel.Userid, mydutyClaimInfoAddViewModel.OndutyClaims_InfoId,
                                                                   mydutyClaimInfoAddViewModel.StartDutyTime, mydutyClaimInfoAddViewModel.EndDutyTime))
                        {
                            baseView.ResponseCode = 3;
                            baseView.Message      = "您已经认领无需再次认领。";
                        }
                        else
                        {
                            _IMydutyClaimInfoRepository.Add(result);
                            int i = _IMydutyClaimInfoRepository.SaveChanges();
                            if (i > 0)
                            {
                                baseView.ResponseCode = 0;
                                baseView.Message      = "认领成功";
                            }
                            else
                            {
                                baseView.ResponseCode = 1;
                                baseView.Message      = "认领失败";
                            }
                        }
                    }
                }
            }
            else
            {
                baseView.ResponseCode = 2;
                baseView.Message      = "无法认领已失效值班信息";
            }
            return(baseView);
        }