private void RefreshVisitors() { var visitors = _esClinicContext.Visitors.Include("Patient").ToList(); Visitors.Clear(); foreach (var visitor in visitors) { Visitors.Add(visitor); } }
internal void Lock(Process owner) { if (_locked) { throw new InvalidOperationException("Lock Race condition"); } ++LockNbr; Visitors.Add(owner); _locked = true; }
private void UpdateVisitorList() { Visitors.Clear(); using (var db = new VisitContext()) { var query = from b in db.Visitors orderby b.Visitor.LastName, b.Visitor.FirstName, b.Visitor.CompanyName select b; foreach (var b in query) { Visitors.Add(b); } } }
public string In(Interfaces.IUserAgent user, int seatIndex) { Protocol.Result result = new Protocol.Result(); result.Success = true; if (user.Desk != null) { user.Desk.Exit(user); } for (int i = 0; i < Seats.Count; i++) { Interfaces.ISeat seat = Seats[i]; if (seat.Index == seatIndex) { lock (seat) { if (seat.User == null || seat.User == user) { if (user.Seat != null) { user.Seat.User = null; } seat.User = user; user.Desk = this; user.Seat = seat; Room.UpdateDesk(this); } else { result.Success = false; return("位置已经被占用!"); } } } } lock (Visitors) { if (!Visitors.Contains(user)) { Visitors.Add(user); } System.Threading.Interlocked.Increment(ref mVersion); } return(null); }
public void OkPatient() { if (SelectedPatient == 0) { return; } try { var visitor = new Visitor() { PatientId = SelectedPatient }; _esClinicContext.Visitors.Add(visitor); _esClinicContext.SaveChanges(); visitor.Patient = _esClinicContext.Patients.First(p => p.PatientId == visitor.PatientId); Visitors.Add(visitor); Visitors.Refresh(); } catch (Exception) { MessageBox.Show("Không thể bệnh nhân!"); } }
public void AddVisitor(int Id, string Name) { Visitors.Add(new Visitor(Id, Name)); }
public void AddVisitor(string Name) { Visitors.Add(new Visitor(Visitors.Count, Name)); }
public void Enter(Visitor visitor) { Visitors.Add(visitor); }
public async Task FindSimilarFace() { try { var faceIdsToCompare = new List <Guid>(); var faceServiceClient = new FaceServiceClient(FaceApiKey); List <Guid> identifiedPeople = new List <Guid>(); if (Visitors.Count > 0) { foreach (var vis in Visitors) { var cnt = vis.FaceIds.Count > 3 ? 3 : vis.FaceIds.Count; for (int i = 0; i < cnt; i++) { faceIdsToCompare.Add(vis.FaceIds[i]); } } } else { faceIdsToCompare = DetectedFaceIds; } foreach (var currentFaceId in CurrentFaceIds) { var similarFace = await faceServiceClient.FindSimilarAsync(currentFaceId, faceIdsToCompare.ToArray(), 10); if (similarFace.Count() > 0) { foreach (var visitor in Visitors) { if (visitor.FaceIds.AsParallel().Any(x => similarFace.AsParallel().Any(y => y.FaceId == x))) { if (!visitor.FaceIds.Contains(currentFaceId)) { visitor.FaceIds.Add(currentFaceId); visitor.LastSeen = DateTime.Now; } CurrentVisitorId = visitor.Id; } identifiedPeople.AddRange(visitor.FaceIds); } if (!identifiedPeople.AsParallel().Any(x => similarFace.AsParallel().Any(y => y.FaceId == x))) { var cnt = Visitors.Count; var newVisitor = new Visitor { Id = cnt + 1, FaceIds = new List <Guid> { currentFaceId }, LastSeen = DateTime.Now, DwellingTime = new Stopwatch() }; CurrentVisitorId = newVisitor.Id; Visitors.Add(newVisitor); } } else { var cnt = Visitors.Count; var newVisitor = new Visitor { Id = cnt + 1, FaceIds = new List <Guid> { currentFaceId }, LastSeen = DateTime.Now, DwellingTime = new Stopwatch() }; CurrentVisitorId = newVisitor.Id; Visitors.Add(newVisitor); } } } catch (FaceAPIException ex) { System.Diagnostics.Debug.WriteLine(ex.ErrorMessage); } catch (Exception ex) { } }