// 审核赛事 public bool Check(int id, bool isAgree, int sysUserId, out string msg) { bool flag = false; msg = string.Empty; try { t_event tevent = _dbContext.Get <t_event>(id); if (tevent != null && tevent.eventStatus == EventStatusEm.审核中) { tevent.updatetime = DateTime.Now; tevent.eventStatus = isAgree ? EventStatusEm.报名中 : EventStatusEm.拒绝; _dbContext.Update(tevent); flag = true; } else { msg = "未找到赛事信息"; } } catch (Exception ex) { flag = false; msg = "服务异常"; LogUtils.LogError("EventService.Check", ex); } return(flag); }
//修改赛事状态 public bool EditEventStatus(int eventId, EventStatusEm eventStatus, int memberId, out string msg) { bool flag = false; msg = string.Empty; try { t_event tevent = _dbContext.Get <t_event>(eventId); if (tevent != null) { tevent.updatetime = DateTime.Now; tevent.eventStatus = eventStatus; _dbContext.Update(tevent); flag = true; } else { msg = "未找到赛事信息"; } } catch (Exception ex) { flag = false; msg = "服务异常"; LogUtils.LogError("EventService.EditEventStatus", ex); } return(flag); }
//设定赛事级别 public bool SettingLevel(int id, EventLevelEm eventLevel, int sysUserId, out string msg) { bool flag = false; msg = string.Empty; try { t_event tevent = _dbContext.Get <t_event>(id); if (tevent != null) { tevent.updatetime = DateTime.Now; tevent.eventLevel = eventLevel; _dbContext.Update(tevent); flag = true; } else { msg = "未找到赛事信息"; } } catch (Exception ex) { flag = false; msg = "服务异常"; LogUtils.LogError("EventService.SettingLevel", ex); } return(flag); }
//临时裁判绑定 public bool BindTempReferee(BindTempRefereeRequest request, out string msg) { bool flag = false; msg = string.Empty; try { //校验数据的真实性 if (request.TempRefereeNum.IsEmpty()) { msg = "临时裁判编码不能为空"; return(flag); } if (request.ContactMobile.IsEmpty()) { msg = "手机号码不能为空"; return(flag); } var data = _dbContext.Select <t_member_temp>(c => c.contactmobile == request.ContactMobile && c.code == request.TempRefereeNum && c.tempType == Model.enums.TempTypeEm.临时裁判 && c.tempStatus == TempStatusEm.待绑定).FirstOrDefault(); if (data == null) { msg = "数据不存在或已绑定过,请核对后再操作"; return(flag); } t_event t_event = _dbContext.Get <t_event>(data.eventId); if (t_event.eventStatus != EventStatusEm.比赛完成) { msg = "赛事未完成不能进行绑定"; return(flag); } try { _dbContext.BeginTransaction(); t_member_points points = _dbContext.Select <t_member_points>(c => c.memberId == data.memberId).FirstOrDefault(); _dbContext.Execute($"update t_member_points set playerPoints=playerPoints+{points.playerPoints},coachPoints=coachPoints+{points.coachPoints},refereePoints=refereePoints+{points.refereePoints} where memberId={request.MemberId}"); _dbContext.Execute($"update t_member_temp set tomemberId={request.MemberId},updateTime='{DateTime.Now}',tempStatus={(int)TempStatusEm.已绑定} where id={data.id}"); _dbContext.Execute($"update t_member_points_record set memberId={request.MemberId} where memberId={data.memberId} and isdelete=0"); _dbContext.Execute($"update t_event_referee_signup set memberId={request.MemberId} where memberId={data.memberId} and isdelete=0"); _dbContext.Execute($"update t_event_cycling_match set refereeId={request.MemberId} where refereeId={data.memberId} and isdelete=0"); _dbContext.Execute($"update t_event_cycling_match_playerresult set refereeId={request.MemberId} where refereeId={data.memberId} and isdelete=0"); _dbContext.CommitChanges(); flag = true; } catch (Exception ex) { _dbContext.Rollback(); LogUtils.LogError("MemberTempService.BindTempRefereeTran", ex); } } catch (Exception ex) { LogUtils.LogError("MemberTempService.BindTempReferee", ex); } return(flag); }
//赛事详情 public EventResponse Detail(int id) { EventResponse response = null; try { t_event tevent = _dbContext.Get <t_event>(id); if (tevent != null) { response = new EventResponse { Address = tevent.address, Name = tevent.name, CityId = tevent.cityId, Code = tevent.code, EndEventDate = tevent.endeventdate, EndRefundDate = tevent.endrefunddate, EndSignDate = tevent.endsigndate, EventLevel = tevent.eventLevel, Filepath = tevent.filepath, EventStatus = tevent.eventStatus, EventType = tevent.eventType, Id = tevent.id, IsInter = tevent.isInter, Maxnumber = tevent.maxnumber, ProvinceId = tevent.provinceId, Remark = tevent.remark, Signfee = tevent.signfee, StartEventDate = tevent.starteventdate, EnglishName = tevent.englishname }; var eventgroup = _dbContext.Select <t_event_group>(c => c.eventId == id).ToList(); if (eventgroup != null && eventgroup.Count > 0) { foreach (var item in eventgroup) { response.EventGroup.Add(new EventGroupResponse { EventId = item.eventId, Id = item.id, MaxGrade = item.maxgrade, MaxTimes = item.maxtimes, MinGrade = item.mingrade, MinTimes = item.mintimes, Name = item.name, TeamNumber = item.teamnumber, MinGradeStr = item.mingrade == null?"不限": EnumExtensions.GetDescription((GradeEm)Enum.Parse(typeof(GradeEm), item.mingrade.ToString())), MaxGradeStr = item.maxgrade == null ? "不限" : EnumExtensions.GetDescription((GradeEm)Enum.Parse(typeof(GradeEm), item.maxgrade.ToString())) }); } } } } catch (Exception ex) { LogUtils.LogError("EventService.Detail", ex); } return(response); }
//申请当裁判 public bool Apply(int eventId, int memberId, out string msg) { bool flag = false; msg = string.Empty; try { if (eventId <= 0) { msg = "请选择赛事"; return(flag); } t_event t_event = _dbContext.Get <t_event>(eventId); if (t_event != null && t_event.eventStatus != EventStatusEm.审核中 && t_event.eventStatus != EventStatusEm.拒绝 && t_event.endsigndate > DateTime.Now) { var data = _dbContext.Select <t_event_referee_signup>(c => c.eventId == eventId && c.memberId == memberId).ToList(); if (data != null && data.Count > 0) { msg = "您已提交过申请"; return(flag); } _dbContext.Insert(new t_event_referee_signup { eventId = eventId, isTemp = false, memberId = memberId, eventGroupId = 0, refereeSignUpStatus = RefereeSignUpStatusEm.待审核, isFlag = false }); flag = true; } else { msg = "赛事有误"; } } catch (Exception ex) { flag = false; msg = "服务异常"; LogUtils.LogError("RefereeSignUpService.Apply", ex); } return(flag); }
//CREATE EVENT public static string CreateEvent(EventViewModel paramDataEvent) { string latestSaveCode = string.Empty; using (var db = new MarkomApplicationDBEntities()) { using (var dbContextTransaction = db.Database.BeginTransaction()) { try { t_event c = new t_event(); c.code = EventCode(); c.event_name = paramDataEvent.eventName; c.place = paramDataEvent.place; c.start_date = paramDataEvent.startDate; c.end_date = paramDataEvent.endDate; c.budget = paramDataEvent.budget; c.status = paramDataEvent.status; c.is_delete = paramDataEvent.isDelete; c.request_by = paramDataEvent.requestBy; c.request_date = paramDataEvent.requestDate; c.note = paramDataEvent.note; c.create_by = paramDataEvent.createBy; c.create_date = paramDataEvent.createDate; db.t_event.Add(c); db.SaveChanges(); dbContextTransaction.Commit(); //get latest save code latestSaveCode = c.code; } catch (Exception ex) { Message = ex.Message; dbContextTransaction.Rollback(); } } } return(latestSaveCode); }
//新增教室 public bool Insert(EventRoomRequest request, out string msg) { bool flag = false; msg = string.Empty; try { if (request.Name.IsEmpty()) { msg = "教室名不能为空"; return(flag); } if (request.EventId <= 0) { msg = "赛事信息有误"; return(flag); } //教练赛事 t_event t_event = _dbContext.Get <t_event>(request.EventId); if (t_event == null) { msg = "赛事信息有误"; return(flag); } _dbContext.Insert(new t_event_room { eventgroupId = request.EventGroupId, code = _dataRepository.EventRoomRepo.RenderCode(request.EventId), eventId = request.EventId, roomStatus = RoomStatusEm.闲置, name = request.Name }); flag = true; } catch (Exception ex) { flag = false; msg = "服务异常"; LogUtils.LogError("EventRoomService.Insert", ex); } return(flag); }
public static Responses Delete(int id) { Responses result = new Responses(); try { using (var db = new MarcomContext()) { t_event ev = db.t_event.Where(o => o.id == id).FirstOrDefault(); if (ev != null) { ev.is_delete = true; db.SaveChanges(); } } } catch (Exception ex) { result.Message = ex.Message; result.Success = false; } return(result); }
//编辑赛事 public bool Edit(EventRequest request, out string msg) { bool flag = false; msg = string.Empty; try { if (request.Name.IsEmpty()) { msg = "赛事名不能为空"; return(flag); } if (request.EventDate == null || request.EventDate.Count == 0) { msg = "请设置赛事时间"; return(flag); } request.EventDate = request.EventDate.Distinct().OrderBy(c => true).ToList(); request.StartEventDate = request.EventDate.FirstOrDefault(); if (request.StartEventDate == DateTime.MinValue || request.StartEventDate == DateTime.MaxValue) { msg = "赛事开始时间有误"; return(flag); } request.EndEventDate = request.EventDate.LastOrDefault(); if (request.EndEventDate == DateTime.MinValue || request.EndEventDate == DateTime.MaxValue) { msg = "赛事结束时间有误"; return(flag); } if (request.StartEventDate > request.EndEventDate) { msg = "赛事结束时间不能早于开始时间"; return(flag); } if (request.EndRefundDate > request.EndEventDate) { msg = "退费截止日期不能超过赛事结束日期"; } if (request.Maxnumber <= 0) { msg = "报名队伍上限有误"; return(flag); } if (request.EventType <= 0 || request.EventTypeName <= 0) { msg = "请选择赛事类型"; return(flag); } if (request.Address.IsEmpty()) { msg = "赛事地址不能为空"; return(flag); } t_event tevent = _dbContext.Get <t_event>(request.Id); if (tevent != null && tevent.memberId == request.MemberId) { try { _dbContext.BeginTransaction(); tevent.address = request.Address; tevent.cityId = request.CityId; tevent.endeventdate = request.EndEventDate; tevent.endrefunddate = request.EndRefundDate; tevent.endsigndate = request.EndSignDate; tevent.remark = request.Remark; tevent.eventStatus = tevent.eventStatus == EventStatusEm.拒绝 ? EventStatusEm.审核中 : tevent.eventStatus; tevent.eventType = request.EventType; tevent.filepath = request.Filepath; tevent.isInter = request.IsInter; tevent.maxnumber = request.Maxnumber; tevent.starteventdate = request.StartEventDate; tevent.memberId = request.MemberId; tevent.name = request.Name; tevent.provinceId = request.ProvinceId; tevent.signfee = request.Signfee; tevent.eventTypeName = request.EventTypeName; tevent.updatetime = DateTime.Now; _dbContext.Update(tevent); _dbContext.Execute($"delete from t_event_matchdate where eventId={request.Id}"); foreach (var item in request.EventDate) { _dbContext.Insert(new t_event_matchdate { eventId = request.Id, eventMatchDate = item }); } _dbContext.CommitChanges(); flag = true; } catch (Exception ex) { _dbContext.Rollback(); flag = false; msg = "服务异常"; LogUtils.LogError("EventService.EditTran", ex); } } else { msg = "未找到赛事信息"; } } catch (Exception ex) { flag = false; msg = "服务异常"; LogUtils.LogError("EventService.Edit", ex); } return(flag); }
//新增临时裁判 public bool InsertTempReferee(TempRefereeRequest request, int memberId, out string msg) { bool flag = false; msg = string.Empty; try { if (request.ContactMobile.IsEmpty()) { msg = "联系号码不能为空"; return(flag); } if (request.Name.IsEmpty()) { msg = "姓名不能为空"; return(flag); } t_event t_event = _dbContext.Get <t_event>(request.EventId); if (t_event == null) { msg = "赛事信息有误"; return(flag); } try { _dbContext.BeginTransaction(); string code = _dataRepository.MemberRepo.RenderCode("nsda"); t_member member = new t_member { code = code, account = request.Name, pwd = request.ContactMobile, memberStatus = MemberStatusEm.已认证, memberType = MemberTypeEm.临时裁判, isExtendCoach = false, isExtendPlayer = false, isExtendReferee = false }; int memberInsertId = _dbContext.Insert(member).ToObjInt(); _dbContext.Insert(new t_member_referee { pinyinsurname = request.Name, completename = request.Name, code = code, completepinyin = request.Name, contactaddress = request.Name, contactmobile = request.ContactMobile, emergencycontact = request.Name, emergencycontactmobile = request.ContactMobile, gender = GenderEm.未知, memberId = memberInsertId, pinyinname = request.Name }); //积分表 _dbContext.Insert(new t_member_points { memberId = memberInsertId, playerPoints = 0, coachPoints = 0, refereePoints = 0 }); //临时会员表 _dbContext.Insert(new t_member_temp { code = member.code, contactmobile = request.ContactMobile, name = string.Empty, eventId = request.EventId, memberId = memberInsertId, tempStatus = TempStatusEm.待绑定, tempType = TempTypeEm.临时裁判 }); //报名表 _dbContext.Insert(new t_event_referee_signup { isTemp = true, eventId = request.EventId, memberId = memberInsertId, refereeSignUpStatus = RefereeSignUpStatusEm.已录取, isFlag = false }); if (t_event.eventStatus == EventStatusEm.比赛中) { var eventdate = _dbContext.Select <t_event_matchdate>(c => c.eventId == t_event.id); foreach (var itemdate in eventdate) { _dbContext.Insert(new t_event_sign { eventGroupId = 0, eventId = request.EventId, eventSignType = EventSignTypeEm.裁判, eventSignStatus = EventSignStatusEm.待签到, signdate = itemdate.eventMatchDate, memberId = memberInsertId, isStop = false }); } } _dbContext.CommitChanges(); flag = true; } catch (Exception ex) { flag = false; msg = "服务异常"; _dbContext.Rollback(); LogUtils.LogError("MemberTempService.InsertTempRefereeTran", ex); } } catch (Exception ex) { flag = false; msg = "服务异常"; LogUtils.LogError("MemberTempService.InsertTempReferee", ex); } return(flag); }
//新增临时选手 public bool InsertTempPlayer(List <TempPlayerRequest> request, int memberId, out string msg) { bool flag = false; msg = string.Empty; try { if (request == null || request.Count == 0) { msg = "请先录入数据"; return(flag); } TempPlayerRequest tempplayer = request.FirstOrDefault(); t_event t_event = _dbContext.Get <t_event>(tempplayer.EventId); if (t_event == null) { msg = "赛事信息有误"; return(flag); } if (t_event.eventStatus != EventStatusEm.比赛中) { msg = "只有赛事当天才能添加临时选手"; return(flag); } t_event_group t_group = _dbContext.Get <t_event_group>(tempplayer.EventGroupId); if (t_group == null) { msg = "赛事组别信息有误"; return(flag); } if (t_group.teamnumber != request.Count) { msg = "队伍人数有误"; return(flag); } foreach (var item in request) { if (item.Name.IsEmpty()) { msg = "姓名不能为空"; break; } if (item.ContactMobile.IsEmpty()) { msg = "联系方式不能为空"; break; } if (item.SchoolId <= 0) { msg = "教育经历不能为空"; break; } } if (msg.IsNotEmpty()) { return(flag); } var eventdate = _dbContext.Select <t_event_matchdate>(c => c.eventId == tempplayer.EventId); try { _dbContext.BeginTransaction(); string groupnum = _dataRepository.SignUpPlayerRepo.RenderCode(tempplayer.EventId); foreach (var item in request) { //创建账号 string code = _dataRepository.MemberRepo.RenderCode("nsda"); t_member member = new t_member { code = code, account = item.Name, pwd = item.ContactMobile, memberStatus = MemberStatusEm.待认证, memberType = MemberTypeEm.临时选手, isExtendCoach = false, isExtendPlayer = false, isExtendReferee = false }; int memberInsertId = _dbContext.Insert(member).ToObjInt(); _dbContext.Insert(new t_member_player { memberId = memberInsertId, code = code, card = item.Name, cardType = CardTypeEm.身份证, completename = item.Name, completepinyin = item.Name, name = item.Name, contactaddress = item.Name, contactmobile = item.ContactMobile, emergencycontact = item.Name, emergencycontactmobile = item.ContactMobile, gender = GenderEm.未知, pinyinname = item.Name, pinyinsurname = item.Name, surname = item.Name }); _dbContext.Insert(new t_member_points { memberId = memberInsertId, playerPoints = 0, coachPoints = 0, refereePoints = 0 }); _dbContext.Insert(new t_member_temp { code = groupnum, contactmobile = item.ContactMobile, name = item.Name, eventId = item.EventId, memberId = memberInsertId, tempStatus = TempStatusEm.待绑定, tempType = TempTypeEm.临时选手 }); //报名表 _dbContext.Insert(new t_event_player_signup { groupnum = groupnum, eventId = item.EventId, eventGroupId = item.EventGroupId, isTemp = true, memberId = memberInsertId, signfee = t_event.signfee, signUpStatus = SignUpStatusEm.报名成功, signUpType = SignUpTypeEm.临时添加 }); _dbContext.Insert(new t_player_edu { startdate = DateTime.Now.AddYears(-1).ToString("yyyy-MM"), enddate = "", memberId = memberInsertId, schoolId = item.SchoolId }); //生成签到表 foreach (var itemdate in eventdate) { _dbContext.Insert(new t_event_sign { eventGroupId = tempplayer.EventGroupId, eventId = tempplayer.EventId, eventSignType = EventSignTypeEm.手, eventSignStatus = EventSignStatusEm.待签到, signdate = itemdate.eventMatchDate, memberId = memberInsertId, isStop = false }); } } _dbContext.CommitChanges(); flag = true; } catch (Exception ex) { flag = false; msg = "服务异常"; _dbContext.Rollback(); LogUtils.LogError("MemberTempService.InsertTempPlayerTran", ex); } } catch (Exception ex) { flag = false; msg = "服务异常"; LogUtils.LogError("MemberTempService.InsertTempPlayer", ex); } return(flag); }
public static Responses Update(T_EventViewModel entity) { Responses result = new Responses(); try { using (var db = new MarcomContext()) { if (entity.Id != 0) { t_event ev = db.t_event.Where(o => o.id == entity.Id).FirstOrDefault(); if (ev != null) { ev.id = entity.Id; ev.code = entity.Code; ev.event_name = entity.EventName; ev.start_date = entity.StartDate; ev.end_date = entity.EndDate; ev.place = entity.Place; ev.budget = entity.Budget; ev.request_by = entity.RequestBy; ev.request_date = entity.RequestDate; ev.approved_by = entity.ApprovedBy; ev.approved_date = entity.ApprovedDate; ev.assign_to = entity.AssignTo; ev.closed_date = entity.ClosedDate; ev.note = entity.Note; ev.status = entity.Status; ev.reject_reason = entity.RejectReason; ev.is_delete = entity.IsDelete; ev.updated_by = "Admin"; ev.updated_date = DateTime.Now; db.SaveChanges(); } } else { t_event ev = new t_event(); ev.id = entity.Id; ev.code = GetNewCode(); ev.event_name = entity.EventName; ev.start_date = entity.StartDate; ev.end_date = entity.EndDate; ev.place = entity.Place; ev.budget = entity.Budget; ev.request_by = entity.RequestBy; ev.request_date = DateTime.Now; ev.approved_by = entity.ApprovedBy; ev.approved_date = entity.ApprovedDate; ev.assign_to = entity.AssignTo; ev.closed_date = entity.ClosedDate; ev.note = entity.Note; ev.status = 1; ev.reject_reason = entity.RejectReason; ev.is_delete = false; ev.created_by = "Admin"; ev.created_date = DateTime.Now; db.t_event.Add(ev); db.SaveChanges(); } } } catch (Exception ex) { result.Message = ex.Message; result.Success = false; } return(result); }
//裁判审核 public bool Check(int id, CheckRefereeEnum checkReferee, int memberId, out string msg) { bool flag = false; msg = string.Empty; try { t_event_referee_signup referee_signup = _dbContext.Get <t_event_referee_signup>(id); if (referee_signup != null) { referee_signup.updatetime = DateTime.Now; referee_signup.refereeSignUpStatus = checkReferee == CheckRefereeEnum.通过 ? RefereeSignUpStatusEm.已录取 : (checkReferee == CheckRefereeEnum.拒绝 ? RefereeSignUpStatusEm.未录取 : RefereeSignUpStatusEm.候选名单); if (checkReferee == CheckRefereeEnum.通过) { t_event t_event = _dbContext.Get <t_event>(referee_signup.eventId); if (t_event.eventStatus == EventStatusEm.比赛中) { var t_event_sign = _dbContext.Select <t_event_sign>(c => c.eventId == referee_signup.eventId && c.memberId == referee_signup.memberId).ToList(); if (t_event_sign == null && t_event_sign.Count > 0) { var eventdate = _dbContext.Select <t_event_matchdate>(c => c.eventId == t_event.id); foreach (var itemdate in eventdate) { _dbContext.Insert(new t_event_sign { eventGroupId = 0, eventId = referee_signup.eventId, eventSignType = EventSignTypeEm.裁判, eventSignStatus = EventSignStatusEm.待签到, signdate = itemdate.eventMatchDate, memberId = referee_signup.memberId, isStop = false }); } } } _dbContext.Update(referee_signup); if (checkReferee == CheckRefereeEnum.通过) { _dbContext.Insert(new t_sys_mail { title = $"You meet the qualification to be a judge.", content = $"Congratulations, your application to be a judge of {t_event.name} has been accepted.", isRead = false, mailType = MailTypeEm.赛事报名邀请, memberId = referee_signup.memberId, sendMemberId = memberId }); } } else { _dbContext.Update(referee_signup); } flag = true; } else { msg = "报名信息有误"; } } catch (Exception ex) { flag = false; msg = "服务异常"; LogUtils.LogError("RefereeSignUpService.Check", ex); } return(flag); }