private XmlDocument CreateSquareTemplate(VisitItem visitItem) { XmlDocument tileXml = TileUpdateManager.GetTemplateContent(TileTemplateType.TileSquare150x150Text03); // Visitor name var nameText2 = (XmlElement)tileXml.GetElementsByTagName("text")[0]; var name = visitItem.VisitorName; nameText2.AppendChild(tileXml.CreateTextNode(name)); // Visitor's company var companyText2 = (XmlElement)tileXml.GetElementsByTagName("text")[1]; var company = visitItem.CompanyName; companyText2.AppendChild(tileXml.CreateTextNode(company)); // Date var dateText2 = (XmlElement)tileXml.GetElementsByTagName("text")[2]; var date = visitItem.VisitFormattedDate; dateText2.AppendChild(tileXml.CreateTextNode(date)); // Hour var hourText2 = (XmlElement)tileXml.GetElementsByTagName("text")[3]; var hour = visitItem.VisitFormattedTime; hourText2.AppendChild(tileXml.CreateTextNode(hour)); return(tileXml); }
/// <summary> /// Initialize Mocked Data Function. /// </summary> private void InitializeMockedData() { Visit visitMocked = (this.sampleDataService.GetVisits(1)).First(); VisitItem visitItem = new VisitItem(visitMocked, 0); Visit = visitItem; }
//[Authorize] public IActionResult CheckIn(string userName) { IActionResult result = Unauthorized(); try { UserItem myUser = _db.GetUserItemByLogin(userName); // UserItem myUser = _db.GetUserItemByLogin(User.Identity.Name); VisitItem newVisit = new VisitItem() { UserId = myUser.Id, CheckIn = DateTime.UtcNow }; newVisit.Id = _db.CreateVisit(newVisit); // Switch to 200 OK if (newVisit.Id > 0) { result = Ok(newVisit.Id); } } catch (Exception) { result = BadRequest(new { Message = "Failed to checkin user" }); } return(result); }
public async Task <VisitItemViewModel> Handle(VisitCreateCommand request, CancellationToken cancellationToken) { VisitItem visitItem = new VisitItem { TimeItemID = request.TimeItemID, PatientID = request.PatientID }; Int32 visitItemID = _visitItems.Create(visitItem); visitItem = _visitItems.Get(visitItemID); VisitItemViewModel viewModel = new VisitItemViewModel { BeginDateTime = visitItem.TimeItem.BeginDateTime, PatientCode = request.PatientCode, PatientName = request.PatientName, DoctorName = visitItem.TimeItem.Resource.Doctor.DisplayName, SpecialtyName = visitItem.TimeItem.Resource.Doctor.Specialty.Name, RoomCode = visitItem.TimeItem.Resource.Room.Code, RoomFlat = visitItem.TimeItem.Resource.Room.Flat, IsEnabled = true, ResourceID = visitItem.TimeItem.ResourceID }; return(await Task.FromResult(viewModel)); }
private void InitializeMockedData() { NextVisit = new VisitItem(this.sampleDataService.GetVisits(2).First(), TODAY_GROUP_ID); TodayVisits = new ObservableCollection <VisitItem>(this.sampleDataService.GetVisits(3).Select(v => new VisitItem(v, TODAY_GROUP_ID))); OtherVisits = new ObservableCollection <VisitItem>(this.sampleDataService.GetVisits(9).Select(v => new VisitItem(v, OTHER_GROUP_ID))); this.TodayVisitsCount = 5; this.OtherVisitsCount = 100; }
public Task <int> SaveVisitItemAsync(VisitItem item) { if (item.Id != -1) { return(_database.UpdateAsync(item)); } else { return(_database.InsertAsync(item)); } }
private VisitDTO MapToDTO(VisitItem visitFrom) { VisitDTO visit = new VisitDTO() { Id = visitFrom.Id, UserId = visitFrom.UserId, CheckIn = visitFrom.CheckIn, CheckOut = visitFrom.CheckOut }; return(visit); }
public Int32 Create(Dispanserization dispanserization) { if (_dataContext.Dispanserizations.FirstOrDefault( d => d.PatientID == dispanserization.PatientID && dispanserization.BeginDate.Year == _dateTimeProvider.Now.Year ) != null ) { throw new Exception("Dispanserization already exists!"); } Patient patient = _dataContext.Patients .FirstOrDefault(p => p.ID == dispanserization.PatientID); IEnumerable <Resource> resources = _dataContext.Resources .Where(r => r.Doctor.Specialty.ID == 0) .ToList(); dispanserization.Analyses = new List <Analysis>(); foreach (Resource resource in resources) { dispanserization.Analyses.Add(new Analysis { ID = resource.ID * 10 + dispanserization.ID, Description = $"{resource.Doctor.DisplayName} в {resource.Room.Code} каб." }); TimeItem timeItem = _dataContext.TimeItems .OrderBy(ti => ti.ResourceID) .ThenBy(ti => ti.BeginDateTime) .FirstOrDefault(ti => ti.ResourceID == resource.ID && ti.VisitItem == null); VisitItem visitItem = new VisitItem { ID = _dataContext.VisitItems.Max(vi => vi.ID) + 1, TimeItem = timeItem, TimeItemID = timeItem.ID, Patient = patient, PatientID = patient.ID }; visitItem.TimeItem.VisitItem = visitItem; _dataContext.VisitItems.Add(visitItem); } dispanserization.ID = _dataContext.Dispanserizations.Count > 0 ? _dataContext.Dispanserizations.Max(d => d.ID) + 1 : 1; _dataContext.Dispanserizations.Add(dispanserization); return(dispanserization.ID); }
/// <summary> /// Select template core. /// </summary> /// <param name="item">Item</param> /// <param name="container">Container</param> /// <returns></returns> protected override DataTemplate SelectTemplateCore(object item, DependencyObject container) { VisitItem currentItem = (VisitItem)item; if (currentItem.GroupId == 1) { return(FirstGroupTemplate); } else { return(SecondGroupTemplate); } }
private async void OnVisitAdded(Visit visit) { await dispatcherService.InvokeUI(() => { bool isNext = NextVisit == null || visit.VisitDateTime < NextVisit.VisitDate; bool isToday = visit.VisitDateTime.ToLocalTime().Date == DateTime.Now.Date; var list = isToday ? TodayVisits : OtherVisits; var maxNumberOfItems = isToday ? ITEMS_TO_RETRIEVE_TODAY : ITEMS_TO_RETRIEVE_OTHER; int visitGroup = isToday ? TODAY_GROUP_ID : OTHER_GROUP_ID; var visitItem = new VisitItem(visit, visitGroup); var previousVisit = list.LastOrDefault(v => { return(v.VisitDate < visitItem.VisitDate); }); int visitIndex = previousVisit == null ? 0 : list.IndexOf(previousVisit) + 1; bool hasToBeAdded = visitIndex <= list.Count; bool needToRemoveLast = list.Count() == maxNumberOfItems; if (isNext) { NextVisit = visitItem; } if (hasToBeAdded) { list.Insert(visitIndex, visitItem); } if (needToRemoveLast) { list.Remove(list.Last()); } if (isToday) { ShowTodayVisits = true; TodayVisitsCount++; } else { ShowOtherVisits = true; OtherVisitsCount++; } this.RaisePropertyChanged(() => ShowNextVisit); }); }
private async Task CreateTile(VisitItem visitItem, string fileName) { XmlDocument tileXml = await CreateWideTemplate(visitItem, fileName); XmlDocument secondTileXml = CreateSquareTemplate(visitItem); IXmlNode node = tileXml.ImportNode(secondTileXml.GetElementsByTagName("binding").Item(0), true); tileXml.GetElementsByTagName("visual").Item(0).AppendChild(node); var tileNotification = new TileNotification(tileXml); this.tileUpdater.Update(tileNotification); }
public void ByteComparerTest() { Console.WriteLine(String.Format("Before {0} mb", (int)(GC.GetTotalMemory(true) / 1024 / 1024))); var max = 100000; var step = max / 10; var ids = new List <byte[]>(); for (int i = 1; i <= max; i++) { var id = Hashes.SHA256(Encoding.UTF8.GetBytes(i.ToString())); ids.Add(id); if ((i % step) == 0) { Console.Write(string.Format("\r{0}%", i - step)); } } Console.WriteLine("\r100%"); var dd = new Dictionary <byte[], byte[]>(ByteComparer.Standard); foreach (var id in ids) { dd.Add(id, id); } using (var timer = new TimeMe("Test ByteComparer Safe")) { foreach (var id in ids) { var result = dd[id]; var t = result[0]; } } var item = new VisitItem(-1, -1); using (var timer = new TimeMe("Test List Index")) { var visited = new VisitItem[max * 10]; for (int i = 0; i < max * 10; i++) { visited[i] = item; } } Console.WriteLine(String.Format("After {0} mb", (int)(GC.GetTotalMemory(true) / 1024 / 1024))); }
public VisitItemDetailPage() { InitializeComponent(); var visitItem = new VisitItem { Date = DateTime.MinValue, MedicalSpeciality = "", Location = "", Details = "" }; viewModel = new VisitItemDetailViewModel(visitItem); BindingContext = viewModel; }
private Int32 CreateVisitItem(VisitItem item) { Int32 visitItemID = Transaction.Connection.QuerySingleAsync <Int32>( sql: "[dbo].[sp_VisitItems_Create]", param: new { patientID = item.PatientID, timeItemID = item.TimeItemID }, commandType: CommandType.StoredProcedure, transaction: Transaction ).Result; return(visitItemID); }
public Int32 Create(VisitItem item) { Int32 visitItemID = _db.QuerySingle <Int32>( sql: "[dbo].[sp_VisitItems_Create]", param: new { patientID = item.PatientID, timeItemID = item.TimeItemID }, commandType: CommandType.StoredProcedure, transaction: _transaction ); return(visitItemID); }
public NewVisitItemPage() { InitializeComponent(); DateNow = DateTime.Now; VisitItem = new VisitItem { Id = -1, MedicalSpeciality = "", Date = DateTime.Now, Location = "", Details = "", IsSended = false }; BindingContext = this; }
/// <summary> /// Update the pin tile of a visit. /// </summary> /// <param name="visitItem">Visit item</param> /// <param name="tile">Tile</param> public async void UpdatePinTile(VisitItem visitItem, SecondaryTile tile) { try { tileUpdater = TileUpdateManager.CreateTileUpdaterForSecondaryTile(tile.TileId); tileUpdater.Clear(); tileUpdater.EnableNotificationQueue(true); await CreateTile(visitItem, IMAGE_FILENAME + tile.TileId + IMAGE_FORMAT); CreateImageTile(visitItem, IMAGE_FILENAME + tile.TileId + IMAGE_FORMAT); } catch (Exception) { } }
public IActionResult GetCurrent(string userName) { IActionResult result = Unauthorized(); try { VisitItem visit = _db.GetCurrentVisit(userName); VisitDTO dTo = MapToDTO(visit); result = Ok(dTo); } catch (Exception) { result = BadRequest(new { Message = "Failed to get current visit" }); } return(result); }
private async Task <XmlDocument> CreateWideTemplate(VisitItem visitItem, string fileName) { XmlDocument tileXml = TileUpdateManager.GetTemplateContent(TileTemplateType.TileWide310x150SmallImageAndText02); // Visitor Name var nameText = (XmlElement)tileXml.GetElementsByTagName("text")[0]; nameText.AppendChild(tileXml.CreateTextNode(visitItem.VisitorName)); // Visitor Company var companyText = (XmlElement)tileXml.GetElementsByTagName("text")[1]; companyText.AppendChild(tileXml.CreateTextNode(visitItem.CompanyName)); // Visitor Picture string path; if ((visitItem.VisitorSmallPhotoBytes != null)) { var pictureStoraged = await this.storageService.ByteToFile(visitItem.VisitorSmallPhotoBytes, fileName); path = IMAGE_FOLDER + pictureStoraged.Name; } else { path = NOIMAGE_PATH; } var picture = (XmlElement)tileXml.GetElementsByTagName("image")[0]; picture.SetAttribute("src", path); // Visit Time (local) var dateText = (XmlElement)tileXml.GetElementsByTagName("text")[2]; var formattedDate = visitItem.VisitFormattedDate; dateText.AppendChild(tileXml.CreateTextNode(formattedDate)); // Visit Hour (local) var hourText = (XmlElement)tileXml.GetElementsByTagName("text")[3]; var formattedTime = visitItem.VisitFormattedTime; hourText.AppendChild(tileXml.CreateTextNode(formattedTime)); return(tileXml); }
public IActionResult Get(int id) { // Assume the user is not authorized IActionResult result = Unauthorized(); try { VisitItem visit = _db.GetVisit(id); VisitDTO dTO = MapToDTO(visit); result = Ok(dTO); } catch (Exception) { result = BadRequest(new { Message = "Get visit failed." }); } return(result); }
/// <summary> /// Initialize Data Function. /// </summary> public async Task InitializeData(int visitId = 0) { IsBusy = true; Visit result = await this.clientService.VisitService.Get(visitId, PictureType.All); if (result == null) { var loader = new ResourceLoader(); messageService.ShowMessage(loader.GetString("ElementNotFound"), loader.GetString("Error")); } else { Visit = new VisitItem(result, 0); ValidateButtonIsEnabled = !this.visitItem.HasArrived; } IsBusy = false; }
public Int32 Create(VisitItem item) { if (_dataContext.VisitItems.FirstOrDefault(vi => vi.TimeItemID == item.TimeItemID) != null) { throw new Exception("Visit item already exists!"); } item.TimeItem = _dataContext.TimeItems.FirstOrDefault(ti => ti.ID == item.TimeItemID); item.TimeItem.VisitItem = item; item.Patient = _dataContext.Patients.FirstOrDefault(p => p.ID == item.PatientID); item.ID = _dataContext.VisitItems.Count > 0 ? _dataContext.VisitItems.Max(vi => vi.ID) + 1 : 1; _dataContext.VisitItems.Add(item); return(item.ID); }
/// <summary> /// Update the main tile with next visits. /// </summary> /// <param name="visits">Visits collection.</param> public async void UpdateMainTile(IList <Visit> visits) { if (visits.Any()) { tileUpdater = TileUpdateManager.CreateTileUpdaterForApplication(); tileUpdater.Clear(); tileUpdater.EnableNotificationQueue(true); var i = 0; foreach (var visit in visits) { var visitItem = new VisitItem(visit, 0); await CreateTile(visitItem, string.Format("mainTile_{0}.jpg", i.ToString())); i++; } } }
/// <summary> /// This method get the 9 first visits others than today visits. /// </summary> /// <returns></returns> private async Task <int> GetOtherVisits() { IList <Visit> otherResults = await this.clientService.VisitService.GetVisitsFromDate(string.Empty, PictureType.Small, ITEMS_TO_RETRIEVE_OTHER, ITEMS_TO_RETRIEVE_PAGEZERO, DateTime.Today.AddDays(1).ToUniversalTime()); int otherItems = await this.clientService.VisitService.GetCountFromDate(string.Empty, DateTime.Today.AddDays(1).ToUniversalTime()); ShowOtherVisits = otherResults.Any(); OtherVisits = new ObservableCollection <VisitItem>(otherResults.Select(v => new VisitItem(v, OTHER_GROUP_ID))); if (otherResults.Any() && NextVisit == null) { // Set the next visit of another day. var id = otherResults.First().VisitId; var nextVisit = await this.clientService.VisitService.Get(id, PictureType.Big); NextVisit = new VisitItem(nextVisit, TODAY_GROUP_ID); } OtherVisitsCount = otherItems; return(otherItems); }
private void CreateImageTile(VisitItem visitItem, string fileName) { XmlDocument tileXml = TileUpdateManager.GetTemplateContent(TileTemplateType.TileSquare150x150Image); string path; if (visitItem.VisitorPhotoBytes != null) { path = IMAGE_FOLDER + fileName; } else { path = NOIMAGE_PATH; } var picture = (XmlElement)tileXml.GetElementsByTagName("image")[0]; picture.SetAttribute("src", path); var tileNotification = new TileNotification(tileXml); tileUpdater.Update(tileNotification); }
public VisitItem Get(Int32 visitItemID) { VisitItem result = _db.Query <VisitItem, TimeItem, Resource, Doctor, Specialty, Room, VisitItem>( sql: "[dbo].[sp_VisitItems_Get]", map: (visitItem, timeItem, resource, doctor, specialty, room) => { visitItem.TimeItem = timeItem; visitItem.TimeItem.Resource = resource; visitItem.TimeItem.Resource.Doctor = doctor; visitItem.TimeItem.Resource.Doctor.Specialty = specialty; visitItem.TimeItem.Resource.Room = room; visitItem.TimeItem.VisitItem = visitItem; return(visitItem); }, param: new { visitItemID }, commandType: CommandType.StoredProcedure, transaction: _transaction ) .FirstOrDefault(); return(result); }
public UpdateVisit(VisitItem visit = null) { InitializeComponent(); patients = DataManipulations.GetPatients(); if (patients.Count == 0) { btOk.IsEnabled = false; } cbPatient.ItemsSource = patients; cbDiagnosis.ItemsSource = Diagnoses.diagnoses; if (visit != null) { visitId = visit.Id; if (Diagnoses.diagnoses.Contains(visit.Diagnosis)) { cbDiagnosis.SelectedItem = visit.Diagnosis; } var patient = patients.FirstOrDefault(x => x.Id == visit.PatientId); if (patient != null) { cbPatient.SelectedItem = patient; } cbVisit.SelectedIndex = visit.Initial ? 0 : 1; //tbName.Text = patient.Name; //tbAddress.Text = patient.Address; //tbPhone.Text = patient.Phone; //cbGender.SelectedIndex = patient.Gender == "♂" ? 0 : 1; } }
public override void run() { try { if (this._client == null) { return; } Account player = this._client._player; if (player == null || player.player_name.Length == 0 || this.type > 1) { this.erro = EventErrorEnum.VisitEvent_UserFail; } else if (player._event != null) { if (player._event.LastVisitSequence1 == player._event.LastVisitSequence2) { this.erro = EventErrorEnum.VisitEvent_AlreadyCheck; } else { EventVisitModel eventVisitModel = EventVisitSyncer.getEvent(this.eventId); if (eventVisitModel == null) { this.erro = EventErrorEnum.VisitEvent_Unknown; } else if (eventVisitModel.EventIsEnabled()) { VisitItem reward = eventVisitModel.getReward(player._event.LastVisitSequence2, this.type); if (reward != null) { GoodItem good = ShopManager.getGood(reward.good_id); if (good != null) { PlayerEvent playerEvent = player._event; DateTime dateTime = DateTime.Now; dateTime = dateTime.AddDays(1.0); int num = int.Parse(dateTime.ToString("yyMMdd")); playerEvent.NextVisitDate = num; ComDiv.updateDB("player_events", "player_id", (object)player.player_id, new string[2] { "next_visit_date", "last_visit_sequence2" }, (object)player._event.NextVisitDate, (object)++player._event.LastVisitSequence2); this._client.SendPacket((SendPacket) new INVENTORY_ITEM_CREATE_PAK(1, player, new ItemsModel(good._item._id, good._item._category, good._item._name, good._item._equip, (uint)reward.count, 0L))); } else { this.erro = EventErrorEnum.VisitEvent_NotEnough; } } else { this.erro = EventErrorEnum.VisitEvent_Unknown; } } else { this.erro = EventErrorEnum.VisitEvent_WrongVersion; } } } else { this.erro = EventErrorEnum.VisitEvent_Unknown; } this._client.SendPacket((SendPacket) new EVENT_VISIT_REWARD_PAK(this.erro)); } catch (Exception ex) { Logger.info("[EVENT_VERIFICATION_REWARD_REC] " + ex.ToString()); } }
public DemoDataContext(IDateTimeProvider dateTimeProvider) { _dateTimeProvider = dateTimeProvider; Dispanserizations = new List <Dispanserization>(); Patients = new List <Patient> { new Patient { ID = 1, Code = "30000000", FirstName = "Иван", MiddleName = "Иванович", BirthDate = new DateTime(1980, 1, 1), Gender = 0, Dispanserizations = new List <Dispanserization>(), VisitItems = new List <VisitItem>() }, new Patient { ID = 2, Code = "31000000", FirstName = "Михаил", MiddleName = "Михайлович", BirthDate = new DateTime(1980, 1, 1), Gender = 0, Dispanserizations = new List <Dispanserization>(), VisitItems = new List <VisitItem>() }, new Patient { ID = Int32.MaxValue, Code = "32020444", FirstName = "Владимир", MiddleName = "Сергеевич", BirthDate = new DateTime(1993, 1, 1), Gender = 0, Dispanserizations = new List <Dispanserization>(), VisitItems = new List <VisitItem>() } }; Resources = new List <Resource> { new Resource { ID = 1, DoctorID = 1, Doctor = new Doctor { ID = 1, Code = "100", FirstName = "Пётр", MiddleName = "Петрович", LastName = "Петров", SpecialtyID = 1, Specialty = new Specialty { ID = 1, Code = "1", Name = "Терапия" } }, RoomID = 1, Room = new Room { ID = 1, Code = "1", Flat = 1 } }, new Resource { ID = 2, DoctorID = 2, Doctor = new Doctor { ID = 2, Code = "200", FirstName = "Сергей", MiddleName = "Владимирович", LastName = "Кузнецов", SpecialtyID = 1, Specialty = new Specialty { ID = 1, Code = "1", Name = "Терапия" } }, RoomID = 2, Room = new Room { ID = 2, Code = "200", Flat = 2 } }, new Resource { ID = 3, DoctorID = 3, Doctor = new Doctor { ID = 3, Code = "300", FirstName = "Михаил", MiddleName = "Семёнович", LastName = "Костоломов", SpecialtyID = 2, Specialty = new Specialty { ID = 2, Code = "2", Name = "Хирургия" } }, RoomID = 3, Room = new Room { ID = 3, Code = "300", Flat = 3 } }, new Resource { ID = 4, DoctorID = 4, Doctor = new Doctor { ID = 4, Code = "400", FirstName = "Кирилл", MiddleName = "Александрович", LastName = "Яковлев", SpecialtyID = 3, Specialty = new Specialty { ID = 3, Code = "3", Name = "Диспансеризация" } }, RoomID = 4, Room = new Room { ID = 4, Code = "400", Flat = 4 } }, new Resource { ID = 5, DoctorID = 5, Doctor = new Doctor { ID = 5, Code = "500", FirstName = "Анастасия", MiddleName = "Яковлевна", LastName = "Пономаренко", SpecialtyID = 0, Specialty = new Specialty { ID = 0, Code = "0", Name = "Не определено" } }, RoomID = 500, Room = new Room { ID = 500, Code = "500", Flat = 5 } }, new Resource { ID = 6, DoctorID = 6, Doctor = new Doctor { ID = 6, Code = "600", FirstName = "Яков", MiddleName = "Анастархович", LastName = "Вахроменко", SpecialtyID = 0, Specialty = new Specialty { ID = 0, Code = "0", Name = "Не определено" } }, RoomID = 6, Room = new Room { ID = 6, Code = "600", Flat = 6 } } }; TimeItems = new List <TimeItem>(); VisitItems = new List <VisitItem>(); Int32 timeItemID = 0; foreach (Resource resource in Resources) { for (Int32 i = 0; i < 28; i++) { for (Int32 j = 0; j < 24; j++) { TimeItems.Add(new TimeItem { ID = ++timeItemID, Date = _dateTimeProvider.Now.Date.AddDays(i), BeginDateTime = _dateTimeProvider.Now.Date.AddDays(i).AddHours(8).AddMinutes(j * 15), EndDateTime = _dateTimeProvider.Now.Date.AddDays(i).AddHours(8).AddMinutes(j * 15 + 15), ResourceID = resource.ID, Resource = resource }); } } } VisitItem visitItem = new VisitItem { ID = 1, PatientID = 1, Patient = Patients.FirstOrDefault(p => p.ID == 1), TimeItemID = 1, TimeItem = TimeItems.FirstOrDefault(ti => ti.ID == 1) }; visitItem.TimeItem.VisitItem = visitItem; visitItem.Patient.VisitItems.Add(visitItem); VisitItems.Add(visitItem); }
public VisitItemDetailViewModel(VisitItem visitItem = null) { Title = visitItem?.MedicalSpeciality + " " + visitItem?.Date.ToString(); VisitItem = visitItem; }