Ejemplo n.º 1
0
        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();
        }
Ejemplo n.º 2
0
        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();
        }
Ejemplo n.º 3
0
        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();
        }