public async Task <ActionResult <List <Model.Presence> > > Get([FromQuery] Model.SearchRequest.PresenceSearchRequest search) { List <Presence> presence = await _context.Presence.Include(u => u.User).ToListAsync(); if (search != null) { if (search.UserId != null) { presence = presence.Where(p => p.UserId == search.UserId).ToList(); } if (search.EventId != null) { presence = presence.Where(p => p.EventId == search.EventId).ToList(); } if (search.hasNotes != null) { presence = presence.Where(p => p.Notes != null).ToList(); } if (search.EventMasterId != null) { presence = await _context.Presence .Where(p => p.Event.EventMasterId == search.EventMasterId) .Include(u => u.User) .Include(e => e.Event) .ToListAsync(); } } var result = _mapper.Map <List <Model.Presence> >(presence); return(result); }
private async void scaning_Interval_Tick(object sender, EventArgs e) { numberBefore++; lblBefore.Text = numberBefore.ToString(); //taking frame from picturebox pbCamera Bitmap frame = pbCamera.Image.Clone() as Bitmap; bool savingActive = false; //convert frame to grayscale maybe... //readQR returns null if user with given qr code does not exist if (frame != null) { if (act == action.idle || act == action.qr_recognition) { act = action.qr_recognition; lblAction.Text = act.ToString(); user = await readQR(frame, apiService_AuthUser); if (user == null) { return; } else { act = action.face_recognition; lblAction.Text = act.ToString(); lblLastUser.Text = user.FirstName + " " + user.LastName; ticks += 1; lblTicks.Text = ticks.ToString(); scaning_Interval.Dispose(); scaning_Interval.Stop(); if (act == action.face_recognition) { await trainRecognizer(user.Id); var search = new Model.SearchRequest.PresenceSearchRequest() { EventId = (int)eventId, UserId = user.Id }; var presenceList = await apiService_Presence.Get <List <Model.Presence> >(search); presence = presenceList[0]; face_recognition.Start(); } //scaning_Interval.Container.Dispose(); //act = action.face_detection; //lblAction.Text = act.ToString(); //scaning_Interval.Dispose(); //face_recognition.Start(); } numberAfter++; lblAfter.Text = numberAfter.ToString(); } } }
private async void loadData() { var search = new Model.SearchRequest.PresenceSearchRequest() { EventId=eventId }; var presenceList = await apiService_presence.Get<List<Model.Presence>>(search); List<Model.PresenceAdvenced> presenceAdvenced = new List<Model.PresenceAdvenced>(); foreach (var presence in presenceList) { var p = new Model.PresenceAdvenced() { FirstName = presence.User.FirstName, LastName = presence.User.LastName, UserName = presence.User.UserName, AttendedEvent = presence.PresenceAttendingDateTime != null, AttendedWholeEvent = presence.PresenceAttendingDateTime != null, presenceId = presence.Id, Id=presence.UserId, FaceDetected=presence.FaceDetected, FaceRecognized = presence.FaceRecognized }; p.HaNotes = presence.Notes != null ? presence.Notes.Length > 0 : false; p.ScannedFace = presence.Image.Length > 0 ? presence.Image : null; var userFacesList = await apiService_authUserFace.Get<List<Model.AuthUserFace>>(new AuthUserFaceSearchRequest() { AuthUserId=presence.UserId,onlyOne=true}); if (userFacesList.Count > 0) { var userFace = userFacesList[0]; p.Face = userFace.Face.Length > 0 ? userFace.Face : null; } presenceAdvenced.Add(p); } dgvPresence.DataSource = presenceAdvenced; foreach (DataGridViewRow row in dgvPresence.Rows) { //face detected if (Convert.ToBoolean(row.Cells[9].Value) == true) { //face recognized if (Convert.ToBoolean(row.Cells[10].Value) == false) { row.Cells[13].ReadOnly = true; } } else { row.Cells[10].ReadOnly = true; row.Cells[13].ReadOnly = true; } var userId = Convert.ToInt32(row.Cells[0].Value); var presenceId = Convert.ToInt32(row.Cells[1].Value); var presence = await apiService_presence.GetById<Model.Presence>(presenceId); var useAsTrainingData = Convert.ToBoolean(row.Cells[13].Value); var trainingSearch = new Model.SearchRequest.AuthUserFaceSearchRequest() { AuthUserId = userId, PresenceId = presenceId, }; var result = await apiService_authUserFace.Get<List<Model.AuthUserFace>>(trainingSearch); if (result.Count > 0) { row.Cells[14].Value = result[0].Id; row.Cells[13].Value = true; } else { row.Cells[14].Value = 0; row.Cells[13].Value = false; } } }
async void loadData() { userEvent = await apiService_event.GetById <Model.Event>(eventId); lblEventGroupId.Text = userEvent.EventGroupId; #region load_dates var eventSearch = new EventSearchRequest() { EventGroupId = userEvent.EventGroupId }; var eventSearchResult = await apiService_event.Get <List <Model.Event> >(eventSearch); //taking only events that did not happen eventSearchResult = eventSearchResult.Where(e => e.EventDate >= DateTime.Now).OrderBy(e => e.EventDate).ToList(); if (eventSearchResult.Count <= 1) { cbMultiple.Checked = false; cbMultiple.Visible = false; panelMultipleDates.Visible = false; } else { foreach (var x in eventSearchResult) { var d = new Model.DateBasic() { Date = x.EventDate, eventId = x.Id }; dates.Add(d); } for (int i = 0; i < dates.Count; i++) { cblDates.Items.Add(dates[i]); cblDates.SetItemChecked(i, true); } cblDates.DisplayMember = "Display"; } #endregion load_dates var presenceSearch = new Model.SearchRequest.PresenceSearchRequest() { EventId = eventId }; #region search parametres #endregion search parametres var presence = await apiService_presence.Get <List <Model.Presence> >(presenceSearch); var authUserSearch = new Model.SearchRequest.AuthUserSearchRequest(); #region search parametres authUserSearch.FirstName = txtFirstName.Text; authUserSearch.LastName = txtLastName.Text; authUserSearch.UserName = txtUserName.Text; authUserSearch.RoleId = (int)cbRole.SelectedValue; authUserSearch.UserGroupId = (int)cbGroup.SelectedValue; #endregion search parametres var users = await apiService_authUser.Get <List <Model.AuthUser> >(authUserSearch); List <Model.presenceBasic> data = new List <Model.presenceBasic>(); foreach (Model.AuthUser user in users) { var temp = new Model.presenceBasic() { Id = user.Id, FirstName = user.FirstName, LastName = user.LastName, UserName = user.UserName, }; temp.AttendingEvent = presence.Any(p => p.UserId == user.Id); data.Add(temp); } dgvPresence.DataSource = data; }