private void gridMain_CellDoubleClick(object sender, ODGridClickEventArgs e) { if (gridMain.Rows.Count == 0) { return; } if (IsSelectionMode) { SelectedClinicNum = ((Clinic)gridMain.Rows[e.Row].Tag).ClinicNum; DialogResult = DialogResult.OK; return; } if (IncludeHQInList && e.Row == 0) { return; } Clinic clinic = (Clinic)gridMain.Rows[e.Row].Tag; DefLinkClinic defLinkClinic = _listDefLinkClinicSpecialties.Find(x => x.Clinic.Equals(clinic)); FormClinicEdit FormCE = new FormClinicEdit(((Clinic)gridMain.Rows[e.Row].Tag).Copy(), defLinkClinic); if (FormCE.ShowDialog() == DialogResult.OK) { if (FormCE.ClinicCur == null) //Clinic was deleted //Fix ItemOrders { for (int i = 0; i < ListClinics.Count; i++) { if (ListClinics[i].ItemOrder > (clinic.ItemOrder)) { ListClinics[i].ItemOrder--; //Fix item orders } } ListClinics.Remove(clinic); //ListDefLinkClinic.Remove() } else { ListClinics[ListClinics.IndexOf(clinic)] = FormCE.ClinicCur; defLinkClinic = _listDefLinkClinicSpecialties.Find(x => x.Clinic.Equals(clinic)); if (defLinkClinic != null) { defLinkClinic = FormCE.DefLinkClinicSpecialties; } } } FillGrid(); }
private void butAdd_Click(object sender, System.EventArgs e) { Clinic ClinicCur = new Clinic(); ClinicCur.IsNew = true; DefLinkClinic defLinkClinic = new DefLinkClinic(ClinicCur, new List <DefLink>()); if (PrefC.GetBool(PrefName.PracticeIsMedicalOnly)) { ClinicCur.IsMedicalOnly = true; } ClinicCur.ItemOrder = gridMain.Rows.Count; //Set it last in the last position. FormClinicEdit FormCE = new FormClinicEdit(ClinicCur, defLinkClinic); FormCE.IsNew = true; if (FormCE.ShowDialog() == DialogResult.OK) { ListClinics.Add(ClinicCur); _listDefLinkClinicSpecialties.Add(FormCE.DefLinkClinicSpecialties); } FillGrid(); }
private void FillGrid() { gridMain.BeginUpdate(); gridMain.Columns.Clear(); gridMain.Columns.Add(new ODGridColumn(Lan.g("TableClinics", "Abbr"), 120)); gridMain.Columns.Add(new ODGridColumn(Lan.g("TableClinics", "Description"), 200)); gridMain.Columns.Add(new ODGridColumn(Lan.g("TableClinics", "Specialty"), 150)); gridMain.Columns.Add(new ODGridColumn(Lan.g("TableClinics", "Pat Count"), 80, HorizontalAlignment.Center)); if (!IsSelectionMode) { gridMain.Columns.Add(new ODGridColumn(Lan.g("TableClinics", "Hidden"), 0, HorizontalAlignment.Center)); } gridMain.Rows.Clear(); ODGridRow row; int patCount = 0; if (IncludeHQInList) { row = new ODGridRow(); row.Tag = new Clinic { //creating new clinic with Headquarters as description. The clinic will not get inserted into the db. ClinicNum = 0, Description = "Headquarters", Abbr = "HQ" }; //With a ClinicNum of 0, this will act as Headquarters. row.Cells.Add(""); row.Cells.Add(Lan.g("TableClinics", "Headquarters")); row.Cells.Add(""); if (_dictClinicalCounts.ContainsKey(0)) { patCount = _dictClinicalCounts[0]; } row.Cells.Add(POut.Int(patCount)); if (!IsSelectionMode) { row.Cells.Add(""); } gridMain.Rows.Add(row); } for (int i = 0; i < ListClinics.Count; i++) { if (!checkShowHidden.Checked && ListClinics[i].IsHidden) { continue; } string specialty = ""; DefLinkClinic defLinkClinic = _listDefLinkClinicSpecialties.FirstOrDefault(x => x.Clinic.ClinicNum == ListClinics[i].ClinicNum); if (defLinkClinic != null) { specialty = string.Join(",", defLinkClinic.ListDefLink.Select(x => Defs.GetName(DefCat.ClinicSpecialty, x.DefNum))); } row = new ODGridRow(); row.Tag = ListClinics[i]; row.Cells.Add(ListClinics[i].Abbr); row.Cells.Add(ListClinics[i].Description); row.Cells.Add(specialty); patCount = 0; if (ListClinics[i].IsNew) //a new clinic was just added { patCount = 0; } else if (_dictClinicalCounts.ContainsKey(ListClinics[i].ClinicNum)) { patCount = _dictClinicalCounts[ListClinics[i].ClinicNum]; } row.Cells.Add(POut.Int(patCount)); if (!IsSelectionMode) { row.Cells.Add(ListClinics[i].IsHidden ? "X" : ""); } gridMain.Rows.Add(row); } gridMain.EndUpdate(); }