Example #1
0
        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();
        }
Example #2
0
        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;
            }
        }
Example #3
0
        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);
        }
Example #4
0
        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));
        }