private void btnDoctorSearch_Click(object sender, EventArgs e) { SearchDoctor search = new SearchDoctor(); search.ShowDialog(); if (search.xDoctorId.ToString() != "0") { txtDoctorName.Text = search.xDoctorName.ToString(); txtDoctorId.Text = search.xDoctorId.ToString(); } GetMaxTokenNo(); cmbCaseType.Select(); }
private void SearchDoctor(SearchDoctor search = null) { dataGridView1.Rows.Clear(); //if (search == null) // search = new SearchDoctor(); search ??= new SearchDoctor(); search.Page = _page; var result = DoctorService.Search(_context, search); foreach (var item in result.Doctors) { object[] row = { item.Id, item.Name, item.Stage, item.Department }; dataGridView1.Rows.Add(row); } int begin = (_page - 1) * search.CountShowOnePage + 1; int end = begin + (search.CountShowOnePage - 1); lblRange.Text = $"Показ: {begin} - {end}"; lblCount.Text = "Всього записів: " + result.CountRows.ToString(); int totalPage = (int)Math.Ceiling((double)result.CountRows / search.CountShowOnePage); //Малюю кнопки 1, 2, ... int positionX = 10; int dx = 50; gbBoxButtons.Controls.Clear(); for (int i = 1; i <= totalPage; i++) { Button btn = new Button(); btn.Font = new System.Drawing.Font("Segoe UI", 12F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point); btn.Location = new System.Drawing.Point(positionX, 10); btn.Name = $"btnPage{i}"; btn.Size = new System.Drawing.Size(45, 45); btn.Text = $"{i}"; btn.UseVisualStyleBackColor = true; btn.Click += new System.EventHandler(this.btnPage_Click); gbBoxButtons.Controls.Add(btn); positionX += dx; } }
private SearchDoctor GetSearchInputValue() { SearchDoctor search = new SearchDoctor(); var item = cbDepatments.SelectedItem; if (item != null) { var dep = cbDepatments.SelectedItem as CustomComboBoxItem; search.DepartmentId = dep.Id; } search.FirstName = txtName.Text; search.LastName = txtLastName.Text; var countSelect = cbCountShowOnePage.SelectedItem as CustomComboBoxItem; search.CountShowOnePage = int.Parse(countSelect.Name); return(search); }
public static DoctorViewGrid Search(MyContext context, SearchDoctor search) { DoctorViewGrid model = new DoctorViewGrid(); //отримуємо усі записи в оперативку //var query = context.Doctors.AsEnumerable();//.AsQueryable(); //ми формуємо sql запит до БД - нічого з БД не отримуємо в цьому рядку var query = context.Doctors.AsQueryable(); //Якщо DepartmentId !=null if (search.DepartmentId.HasValue) { query = query.Where(x => x.DepartmentId == search.DepartmentId.Value); } //Якщо у search.Name != null if (!string.IsNullOrEmpty(search.FirstName)) { query = query.Where(x => x.FirstName.Contains(search.FirstName)); } if (!string.IsNullOrEmpty(search.LastName)) { query = query.Where(x => x.LastName.Contains(search.LastName)); } int page = search.Page - 1; int showItems = search.CountShowOnePage; model.CountRows = query.Count(); model.Doctors = query .OrderBy(x => x.Id) .Skip(page * showItems) .Take(showItems) .Select(x => new DoctorItemView { Id = x.Id, Name = x.LastName + " " + x.FirstName, Stage = x.Stage, Department = x.Department.Name }).ToList(); return(model); }
public async Task <IActionResult> Search(SearchDoctor search) { ViewData["Role"] = GetRole(); var query = _context.Doctors.Include(d => d.User).ToArray(); if (search.SearchId != 0) { search.Doctors = query.Where(d => d.Id == search.SearchId).ToArray(); return(View(search)); } if (search.FirstName != null) { query = query.Where(d => d.FirstName == search.FirstName).ToArray(); } if (search.MiddleName != null) { query = query.Where(d => d.MiddleName == search.MiddleName).ToArray(); } if (search.LastName != null) { query = query.Where(d => d.LastName == search.LastName).ToArray(); } if (search.Speciality != null) { query = query.Where(d => d.Speciality == search.Speciality).ToArray(); } if (search.Order == "desc") { query = query.OrderByDescending(d => d.FirstName).ToArray(); } else { query = query.OrderBy(d => d.FirstName).ToArray(); } search.Doctors = query; return(View(search)); }