/// <summary> /// 添加到数据库 /// </summary> /// <param name="oData"></param> /// <param name="coachWageSubList"></param> /// <exception cref="Comm.YYException.YYException"></exception> private void AddToDB(Models.RequestModel.CreateCoachWageRequest oData, IList <Sys.Models.CoachWages_Sub> coachWageSubList) { if (coachWageSubList == null || coachWageSubList.Count == 0) { return; } Sys.Models.CoachWages coachWage = new Sys.Models.CoachWages() { AddTime = DateTime.Now, CoachFullName = oData.CurrentCoachFullName, CoachID = oData.CurrentCoachId, VenueID = oData.VenueID, WorkDate = Convert.ToDateTime(oData.WorkDate), Price = coachWageSubList.Sum(c => c.CoachPrice), State = 0, Remark = "待发工资录入", }; bool isExist = false;// IsExist(coachWage.CoachID.Value, coachWage.VenueID.Value, coachWage.WorkDate.Value.ToString("yyyy-MM-dd")); if (isExist) { throw new Comm.YYException.YYException(string.Format("{0} {1} 工资已经录入", coachWage.CoachFullName, oData.WorkDate)); } else { bool flag = PrePayCoachMoney(coachWage, coachWageSubList); if (!flag) { throw new Comm.YYException.YYException(string.Format("{0} {1} 工资已经录入", coachWage.CoachFullName, oData.WorkDate)); } } }
public IHttpActionResult Create(dynamic query) { if (!ModelState.IsValid) { return(BadRequest()); } IList <string> errCoach = new List <string>(); IList <Sys.Models.CoachWages_Sub> coachWageSubList = new List <Sys.Models.CoachWages_Sub>(); try { Models.RequestModel.CreateCoachWageRequest oData = Newtonsoft.Json.JsonConvert.DeserializeObject <Models.RequestModel.CreateCoachWageRequest>(query.ToString()); if (oData.VenueID <= 0) { return(Ok(Comm.ResponseModel.ResponseModelBase.GetRes("场馆编号不能为空"))); } if (string.IsNullOrEmpty(oData.WorkDate)) { return(Ok(Comm.ResponseModel.ResponseModelBase.GetRes("发工资月份不能为空"))); } //if (oData.CurrentCoachId <= 0) // return Ok(Comm.ResponseModel.ResponseModelBase.GetRes("教练不能为空")); if (oData.CurriculumIds == null || oData.CurriculumIds.Count <= 0) { return(Ok(Comm.ResponseModel.ResponseModelBase.GetRes("发工资课程不能为空"))); } var result = GetCurriculums(oData.VenueID, oData.WorkDate, oData.CurriculumIds); oData.CurrentCoachId = result.FirstOrDefault().CoachID; oData.CurrentCoachFullName = result.FirstOrDefault().CoachFullName; foreach (var item in result) { if (item.CoachID != oData.CurrentCoachId) { try { AddToDB(oData, coachWageSubList); coachWageSubList = new List <Sys.Models.CoachWages_Sub>(); } catch (Comm.YYException.YYException ex) { errCoach.Add(ex.Message); } oData.CurrentCoachId = item.CoachID; oData.CurrentCoachFullName = item.CoachFullName; } //工资详情表 coachWageSubList.Add(new Sys.Models.CoachWages_Sub() { CoachPrice = item.CoachPrice, CurriculumID = item.CurriculumID, PKID = item.PKID, AddTime = DateTime.Now }); } try { AddToDB(oData, coachWageSubList); } catch (Comm.YYException.YYException ex) { errCoach.Add(ex.Message); } return(Ok(new Comm.ResponseModel.ResponseModel4Res <string>() { Error = errCoach.Count > 0, Msg = string.Join(",", errCoach) })); } catch (Comm.YYException.YYException ex) { return(Ok(Comm.ResponseModel.ResponseModelBase.GetRes(ex.Message))); } catch (Exception ex) { logs.Error("录入工资失败", ex); return(BadRequest()); } }