public async Task <IActionResult> PutAuthUserFace(int id, Model.AuthUserFace insert) { var result = _mapper.Map <AuthUserFace>(insert); result.Id = id; _context.Entry(result).State = EntityState.Modified; try { await _context.SaveChangesAsync(); } catch (DbUpdateConcurrencyException) { if (!AuthUserFaceExists(id)) { return(NotFound()); } else { throw; } } return(NoContent()); }
private async void metroButton1_Click(object sender, EventArgs e) { Image ig = pbUser.Image; var r = ImageToByte2(ig); var insert1 = new Model.AuthUserFace() { AuthUserId = user.Id, Face = r }; var r11 = await apiService_AuthUserFace.Insert <object>(insert1); }
public async Task <ActionResult <Model.AuthUserFace> > PostAuthUserFace(Model.AuthUserFace insert) { var result = _mapper.Map <AuthUserFace>(insert); try { _context.AuthUserFace.Add(result); await _context.SaveChangesAsync(); } catch (DbUpdateException) { if (AuthUserFaceExists(result.Id)) { return(Conflict()); } else { throw; } } return(CreatedAtAction("GetAuthUserFace", new { id = result.Id }, result)); }
private async void dgvPresence_CellValueChanged(object sender, DataGridViewCellEventArgs e) { if (setup == false) { //checkbox AttendedEvent if (e.ColumnIndex == dgvPresence.Columns[6].Index && e.RowIndex != -1) { var row = dgvPresence.Rows[e.RowIndex]; var userId = Convert.ToInt32(row.Cells[0].Value); var presenceId = Convert.ToInt32(row.Cells[1].Value); var attendedEvent = Convert.ToBoolean(row.Cells[6].Value); if (attendedEvent == false) { //row.Cells[7].Value = false; row.Cells[7].ReadOnly = true; } else { row.Cells[7].ReadOnly = false; } var presence = await apiService_presence.GetById<Model.Presence>(presenceId); var presenceInsertRequest = new PresenceInsertRequest() { EventId = presence.EventId, UserId = presence.UserId, FaceDetected = presence.FaceDetected, Image = presence.Image, Notes = presence.Notes, FaceRecognized = presence.FaceRecognized, //PresenceAttendingDateTime=presence.PresenceAttendingDateTime, PresenceCreatingDateTime = presence.PresenceCreatingDateTime, //PresenceLeavingDateTime=presence.PresenceLeavingDateTime, }; if (attendedEvent == false) { presenceInsertRequest.AttendedWholeEvent = false; presenceInsertRequest.PresenceAttendingDateTime = null; presenceInsertRequest.PresenceLeavingDateTime = null; } else { presenceInsertRequest.AttendedWholeEvent = true; presenceInsertRequest.PresenceAttendingDateTime = presence.PresenceAttendingDateTime; presenceInsertRequest.PresenceLeavingDateTime = null; } await apiService_presence.Update<Model.Presence>(presenceId, presenceInsertRequest); dgvPresence.EndEdit(); } //checkbox attended whole event if (e.ColumnIndex == dgvPresence.Columns[7].Index && e.RowIndex != -1) { var row = dgvPresence.Rows[e.RowIndex]; var userId = Convert.ToInt32(row.Cells[0].Value); var presenceId = Convert.ToInt32(row.Cells[1].Value); var attendedEvent = Convert.ToBoolean(row.Cells[6].Value); var attendedWholeEvent = Convert.ToBoolean(row.Cells[7].Value); var presence = await apiService_presence.GetById<Model.Presence>(presenceId); var presenceInsertRequest = new PresenceInsertRequest() { EventId = presence.EventId, UserId = presence.UserId, FaceDetected = presence.FaceDetected, Image = presence.Image, Notes = presence.Notes, FaceRecognized = presence.FaceRecognized, //PresenceAttendingDateTime=presence.PresenceAttendingDateTime, PresenceCreatingDateTime = presence.PresenceCreatingDateTime, //PresenceLeavingDateTime=presence.PresenceLeavingDateTime, }; if (attendedEvent == false) { presenceInsertRequest.AttendedWholeEvent = false; presenceInsertRequest.PresenceAttendingDateTime = null; presenceInsertRequest.PresenceLeavingDateTime = null; } else { presenceInsertRequest.AttendedWholeEvent = true; presenceInsertRequest.PresenceAttendingDateTime = (DateTime)presence.PresenceAttendingDateTime; presenceInsertRequest.PresenceLeavingDateTime = DateTime.Now; } await apiService_presence.Update<Model.Presence>(presenceId, presenceInsertRequest); dgvPresence.EndEdit(); } //checkbox face recognized if (e.ColumnIndex == dgvPresence.Columns[10].Index && e.RowIndex != -1) { var row = dgvPresence.Rows[e.RowIndex]; var userId = Convert.ToInt32(row.Cells[0].Value); var presenceId = Convert.ToInt32(row.Cells[1].Value); var faceRecognized = Convert.ToBoolean(row.Cells[10].Value); var presence = await apiService_presence.GetById<Model.Presence>(presenceId); var presenceInsertRequest = new PresenceInsertRequest() { EventId = presence.EventId, UserId = presence.UserId, FaceDetected = presence.FaceDetected, Image = presence.Image, Notes = presence.Notes, FaceRecognized = faceRecognized, PresenceAttendingDateTime = presence.PresenceAttendingDateTime, PresenceCreatingDateTime = presence.PresenceCreatingDateTime, PresenceLeavingDateTime = presence.PresenceLeavingDateTime, AttendedWholeEvent = presence.AttendedWholeEvent, AttendedEvent = Convert.ToBoolean(row.Cells[6].Value) }; await apiService_presence.Update<Model.Presence>(presenceId, presenceInsertRequest); if (faceRecognized == true) row.Cells[13].ReadOnly = true; else row.Cells[13].ReadOnly = false; dgvPresence.EndEdit(); } //checkbox use as training data if (e.ColumnIndex == dgvPresence.Columns[13].Index && e.RowIndex != -1) { var row = dgvPresence.Rows[e.RowIndex]; 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); if (useAsTrainingData == true) { Model.AuthUserFace trainingData = new Model.AuthUserFace() { AuthUserId = userId, PresenceId = presenceId, Face = presence.Image }; await apiService_authUserFace.Insert<Model.AuthUserFace>(trainingData); } else { //await apiService_authUserFace.Delete<bool>(1); } // dgvPresence.EndEdit(); } if (e.ColumnIndex == dgvPresence.Columns[14].Index && e.RowIndex != -1) { } } }
private async void btnSubmit_Click(object sender, EventArgs e) { if (this.ValidateChildren()) { //reading fields from form var user = readFields(); //updating existing user if (userId != null) { //updating user user.QrCode = authUser.QrCode; await apiService.Update <Model.AuthUser>(userId, user); //updating user image if (!string.IsNullOrEmpty(txtImageSource.Text)) { var result = await apiService_authUserImage.Get <List <Model.AuthUserImage> >(new AuthUserFaceSearchRequest() { AuthUserId = authUser.Id }); if (result.Count > 0) { var update = new Model.AuthUserImage() { AuthUserId = (int)userId, AuthUserImage1 = ImageToByte2(pbImage.Image) }; await apiService_authUserImage.Update <Model.AuthUserImage>(result[0].Id, update); } } } else { //generating new qr code until its unique var findNewCode = true; do { var qrCodeText = qRCodeHelper.GenerateRandomString(15); var userSearchRequest = new AuthUserSearchRequest() { qrCode = qrCodeText }; var qrResult = await apiService.Get <List <Model.AuthUser> >(userSearchRequest); findNewCode = qrResult.Count > 0; if (findNewCode == false) { user.QrCode = qrCodeText; } } while (findNewCode == true); //inserting new user into db var result = await apiService.Insert <Model.AuthUser>(user); //inserting new user image var insert = new Model.AuthUserImage() { AuthUserId = (int)result.Id, AuthUserImage1 = ImageToByte2(pbImage.Image) }; await apiService_authUserImage.Insert <Model.AuthUserImage>(insert); //cutting and inserting face from image into db. Image <Gray, byte> img1 = new Image <Gray, byte>((Bitmap)pbImage.Image); var rect = detectFace(img1); if (rect != null) { imageFaceFound = true; var r = cutImage(img1, (Rectangle)rect); Image <Gray, byte> img = r.Copy().Convert <Gray, byte>().Resize(100, 100, Emgu.CV.CvEnum.Inter.Cubic); var insert1 = new Model.AuthUserFace() { AuthUserId = result.Id, Face = ImageToByte2(img.Bitmap) }; var r1 = await apiService_authUserFace.Insert <object>(insert1); } } this.Close(); } }