public async Task <ActionResult> CheckInMember([FromRoute] int memberId) { // we need to grab the current user var currentUserName = User.Identity.Name; // get the current user from the database var currentUser = _context.Users.FirstOrDefault(u => u.UserName == currentUserName); // see if the member exists var exists = await _context.Members.AnyAsync(member => member.Id == memberId); if (!exists) { return(NotFound()); } else { var checkIn = new MemberCheckIn { MemberId = memberId, UserId = currentUser.Id }; await _context.MemberCheckIns.AddAsync(checkIn); await _context.SaveChangesAsync(); return(Ok()); } }
public string CheckIn(EntertainMember entertainMember) { try { string output = ""; random = new Random(); int rnum = random.Next(100) + 1; DateTime dateNow = DateTime.Now; DateTime startOfToday = DateTime.Now; DateTime endOfToday = DateTime.Now; DateTime date = new DateTime(dateNow.Year, dateNow.Month, dateNow.Day, 5, 0, 0); DateTime today = DateTime.UtcNow.AddHours(8); if (today.TimeOfDay < date.TimeOfDay) { startOfToday = today.Date.AddHours(-19); endOfToday = today.Date.AddDays(1).AddTicks(-1).AddHours(-19); } else { startOfToday = today.Date.AddHours(5); endOfToday = today.Date.AddDays(1).AddTicks(-1).AddHours(5); } if (entertainMember.checkinList == null) { entertainMember.checkinList = new List <MemberCheckIn>(); } MemberCheckIn record = entertainMember.checkinList.Where(s => s.time <= endOfToday && s.time >= startOfToday).FirstOrDefault(); if (today > entertainMember.subscribedDate) { entertainMember.subscribed = false; } if (record == null) { MemberCheckIn newRecord = new MemberCheckIn(); newRecord.time = DateTime.UtcNow.AddHours(8); newRecord.luckPoint = rnum; entertainMember.checkinList.Add(newRecord); entertainMember.gold += 500; output += "\n你已成功签到,获得 500 钻石!"; if (entertainMember.subscribed) { entertainMember.gold += 500; output += "\n哦豁,你是尊贵的月卡玩家?额外获得 500 钻石!"; } } else { return("\n?你今天签到过了!"); } output += "\n你的钻石余量为 " + entertainMember.gold.ToString(); LogMemberDetails(entertainMember); return(output); } catch (Exception e) { return("错误!" + e.ToString()); } }
private bool NeedFace(string id) { if (IsNeedFaceAgain(id)) { return(false); } MemberCheckIn memberCheckIn = MemberCheckInSingletonService.Instance.membercheckinlist.SingleOrDefault(m => m._id == id); return(memberCheckIn.result == "needface"); }
private bool IsSomeoneWaiting(string id) { if (IsCheckInAgain(id)) { return(false); } MemberCheckIn memberCheckIn = MemberCheckInSingletonService.Instance.membercheckinlist.SingleOrDefault(m => m._id == id); return((memberCheckIn == null || memberCheckIn.result != "needface") && MemberCheckInSingletonService.Instance.membercheckinlist.Count(m => m.status == CheckInStatus.Waiting && m.needChecked == NeeChecked.Need) > 0); }
public string CheckLuckyPoint(EntertainMember entertainMember) { try { int luck = 0; string output = ""; DateTime dateNow = DateTime.Now; DateTime startOfToday = DateTime.Now; DateTime endOfToday = DateTime.Now; DateTime date = new DateTime(dateNow.Year, dateNow.Month, dateNow.Day, 5, 0, 0); DateTime today = DateTime.UtcNow.AddHours(8); if (today.TimeOfDay < date.TimeOfDay) { startOfToday = today.Date.AddHours(-19); endOfToday = today.Date.AddDays(1).AddTicks(-1).AddHours(-19); } else { startOfToday = today.Date.AddHours(5); endOfToday = today.Date.AddDays(1).AddTicks(-1).AddHours(5); } MemberCheckIn record = entertainMember.checkinList.Where(s => s.time <= endOfToday && s.time >= startOfToday).FirstOrDefault(); if (record == null) { return("\n你害没签到,就想看运势?"); } luck = record.luckPoint; if (luck < 2) { output = "\n?!见鬼,是大凶兆!!"; } else if (luck < 6) { output = "\n你今天的运气似乎卜太星啊,凶!"; } else if (luck < 50) { output = "\n运气不错,吉!"; } else if (luck < 90) { output = "\n运气很棒,中吉!"; } else if (luck <= 100) { output = "\n?!大吉!!是大吉啊!!"; } return(output); } catch (Exception e) { return("错误!" + e.ToString()); } }
private void btnMemberLogin_Click(object sender, EventArgs e) { //input validation if (comboBoxMemberLogin.SelectedIndex > -1) { var member = (member)comboBoxMemberLogin.SelectedItem; var membercheckin = new MemberCheckIn(this, tabControl1, member); membercheckin.ShowDialog(); populateAttendaceList(); comboBoxMemberLogin.SelectedIndex = -1; } else { lblMemberLoginFailed.ForeColor = System.Drawing.Color.Red; lblMemberLoginFailed.Text = "Neispravan unos!"; } }
private async Task BindDataMember() { this.checkin_address_combox.DataSource = await user.getCheckInAddressList(); this.checkin_address_combox.DisplayMember = "text"; this.checkin_address_combox.ValueMember = "value"; MemberCheckIn data = await user.getOneMemberById(this.currentID); this.weixin_username_txt.Text = data.nickName; this.weixin_number_txt.Text = data.wechatId; this.contact_name_txt.Text = data.contactName; this.contact_telephone_txt.Text = data.telephone; this.checkin_address_combox.SelectedValue = data.locationId; this.openId = data.openId; this.image_picturebox.Image = await ImageLoader.LoadImage(data.avatarUrl); this.base64Str = GetImageBase64(this.image_picturebox.Image); }
private void Instance_OnMessage(object sender, CustomEventArgs e) { Console.WriteLine("Handling SocketService.OnMessage................................"); Console.WriteLine(JsonConvert.SerializeObject(e.Data)); //MessageBox.Show(e.Data.op.ToString()); //this.m_SyncContext.Post((data) => //{ // MessageBox.Show(e.Data.op.ToString()); //}, null); this.m_SyncContext.Post((data) => { var checkInUrl = GetCheckInLocation()?.url; switch (e.Data.op) { case SocketOp.ACK: case SocketOp.PLAIN: this.toolStripProgressBar1.Value = 0; this.toolStripStatusLabelPercent.Text = ""; this.toolStripStatusLabel1.Text = $"[{e.Data.data.message}]"; break; case SocketOp.CHECK_IN_CREATED: MemberCheckInSingletonService.createNewMemberCheckInformation(e.Data.data); this.toolStripProgressBar1.Value = 100; this.toolStripStatusLabelPercent.Text = $"{this.toolStripProgressBar1.Value}%"; this.toolStripStatusLabel1.Text = $"[{e.Data.data.name}]绑定完成"; break; case SocketOp.CHECK_IN_STARTED: this.toolStripStatusLabelPercent.Text = $"{this.toolStripProgressBar1.Value}%"; this.toolStripStatusLabel1.Text = $"[{e.Data.data.name}]开始打卡"; break; case SocketOp.CHECK_IN_SKIP: if (Mode == CheckInMode.Batch && IsSomeoneWaiting(e.Data.data.id)) { this.toolStripProgressBar1.ProgressBar.PerformStep(); this.toolStripStatusLabelPercent.Text = $"{this.toolStripProgressBar1.Value}%"; this.toolStripStatusLabel1.Text = $"[{e.Data.data.name}]跳过"; SwitchCheckInMember(); var sleepMS = random.Next(lowerTimeSpan, higherTimeSpan); Thread.Sleep(sleepMS); CheckInSingleMember(checkInUrl); } else if (Mode == CheckInMode.Register) { this.toolStripProgressBar1.Value = 100; this.toolStripStatusLabelPercent.Text = $"{this.toolStripProgressBar1.Value}%"; this.toolStripStatusLabel1.Text = $"[{e.Data.data.name}]重复绑定"; } else if (this.IsWatcher) { this.toolStripProgressBar1.ProgressBar.PerformStep(); this.toolStripStatusLabelPercent.Text = $"{this.toolStripProgressBar1.Value}%"; this.toolStripStatusLabel1.Text = $"[{e.Data.data.name}]跳过"; } else { this.toolStripProgressBar1.Value = 100; this.toolStripStatusLabelPercent.Text = $"{this.toolStripProgressBar1.Value}%"; this.toolStripStatusLabel1.Text = "当前打卡完成"; } break; case SocketOp.CHECK_IN_UPDATED: Task.Run(async() => { await MemberCheckInSingletonService.updateMemberCheckInInformation(e.Data.data); if (Mode == CheckInMode.Register) { this.m_SyncContext.Post(context => { this.toolStripProgressBar1.Value = 100; this.toolStripStatusLabelPercent.Text = $"{this.toolStripProgressBar1.Value}%"; this.toolStripStatusLabel1.Text = $"[{e.Data.data.name}]完成注册"; }, this); } else if (Mode == CheckInMode.Batch && IsSomeoneWaiting(e.Data.data.id)) { this.m_SyncContext.Post(context => { this.toolStripProgressBar1.PerformStep(); this.toolStripStatusLabelPercent.Text = $"{this.toolStripProgressBar1.Value}%"; this.toolStripStatusLabel1.Text = $"[{e.Data.data.name}]完成打卡"; }, this); SwitchCheckInMember(); var sleepMS = random.Next(lowerTimeSpan, higherTimeSpan); Thread.Sleep(sleepMS); CheckInSingleMember(checkInUrl); } else if (NeedFace(e.Data.data.id)) { this.m_SyncContext.Post(context => { this.toolStripStatusLabelPercent.Text = $"{this.toolStripProgressBar1.Value}%"; this.toolStripStatusLabel1.Text = $"[{e.Data.data.name}]开始打脸"; }, this); if (MemberCheckInSingletonService.Instance.checkedInIds.Contains(e.Data.data.id)) { MemberCheckInSingletonService.Instance.checkedInIds.Remove(e.Data.data.id); } MemberCheckIn memberCheckIn = MemberCheckInSingletonService.Instance.membercheckinlist.SingleOrDefault(m => m._id == e.Data.data.id); if (!this.IsWatcher) { MonitorFaceDialog(memberCheckIn.faceList); } } else { this.m_SyncContext.Post(context => { this.toolStripProgressBar1.Value = 100; this.toolStripStatusLabelPercent.Text = $"{this.toolStripProgressBar1.Value}%"; this.toolStripStatusLabel1.Text = $"当前打卡完成"; }, this); } }); break; case SocketOp.MEMBER_NEED_CHECK_IN_UPDATED: if (!this.IsWatcher) { // only Watcher need to refresh member list again. RefreshMemberListPassively(); return; } break; } }, this); }