private void OnOpenClick(object sender, EventArgs e)
        {
            OPDTreatmentProcedure obj = this.GetSelectedProcedure(this.dgvTreatmentProcedure);

            if (obj != null)
            {
                obj.RefershData();
                this.mOpdTreatmentProcedure = obj;
                for (int i = 0; i < cmbTreatment.Items.Count; i++)
                {
                    if (cmbTreatment.GetItemChecked(i))
                    {
                        cmbTreatment.SetItemChecked(i, false);
                    }
                }
                if (this.mOpdTreatmentProcedure.OPDTreatments.Count > 0)
                {
                    for (int i = 0; i < cmbTreatment.Items.Count; i++)
                    {
                        for (int j = 0; j < this.mOpdTreatmentProcedure.OPDTreatments.Count; j++)
                        {
                            if (mOpdTreatmentProcedure.OPDTreatments[j].TreatmentGuid == new Guid(cmbTreatment.Items[i].ToString()))
                            {
                                cmbTreatment.SetItemChecked(i, true);
                                break;
                            }
                        }
                    }
                }
                this.dptTreatmentDate.Value = obj.OPDTreatmentDate;
            }
        }
        private OPDTreatmentProcedure GetSelectedProcedure(DataGridView dgv)
        {
            OPDTreatmentProcedure obj = null;

            if (dgv != null && dgv.CurrentRow != null)
            {
                obj = dgv.CurrentRow.Tag as OPDTreatmentProcedure;
            }
            return(obj);
        }
        protected override void OnSaveComplete()
        {
            base.OnSaveComplete();
            OPDTreatmentProcedure obj = this.GetSelectedProcedure(this.dgvTreatmentProcedure);

            this.LoadOPDTreatmentProcedure(obj);

            this.cmbTreatment.SelectedIndex = 0;
            this.dptTreatmentDate.Value     = DateTime.Now;
            this.mOpdTreatmentProcedure     = new OPDTreatmentProcedure();
        }
        public OPDTreatmentProcedureForm(Patient obj)
            : base(obj, false)
        {
            this.mPatient = obj;
            this.mOpdTreatmentProcedure = new OPDTreatmentProcedure();

            this.mOPDTreatmentProcedureCollection = new OPDTreatmentProcedureCollection(this.mPatient.ObjectGuid);
            this.OPDTreatments = new OPDTreatments(this.mOpdTreatmentProcedure.ObjectGuid);

            this.InitializeComponent();
            this.UserInitialize();
        }
        //#region OnDataValidation
        //protected override bool OnDataValidation()
        //{
        //    bool r = true;
        //    if (Objectbase.IsNullOrEmpty(this.cmbTreatment.SelectedItem as OPDTreatment))
        //    {
        //        this.ShowTooltip(this.cmbTreatment, "OPDTreatment", "Treatment is required", ContentAlignment.TopRight);
        //        if (r)
        //            this.cmbTreatment.Select();
        //        r = false;
        //    }
        //    return r && base.OnDataValidation();
        //}
        //#endregion

        #region LoadOPDTreatmentProcedure

        private void LoadOPDTreatmentProcedure(OPDTreatmentProcedure selected)
        {
            int count = 0;

            this.LoadEntityList <OPDTreatmentProcedure>(this.dgvTreatmentProcedure, this.clmId.Index, new OPDTreatmentProcedureCollection(this.mPatient.ObjectGuid), selected, true, true,
                                                        delegate(DataGridViewRow row, OPDTreatmentProcedure obj)
            {
                count++;
                row.Cells[this.clmTreatment.Index].Value     = obj.Treatment;
                row.Cells[this.clmTreatmentDate.Index].Value = obj.OPDTreatmentDate.ToString() != string.Empty ? string.Format("{0:dd/MM/yyyy}", obj.OPDTreatmentDate) : string.Empty;
            }
                                                        );
        }
        protected override void OnDeleteClick()
        {
            OPDTreatmentProcedure obj = this.GetSelectedProcedure(this.dgvTreatmentProcedure);

            if (obj != null)
            {
                this.mOpdTreatmentProcedure = obj;
                this.mOpdTreatmentProcedure.MarkToDelete();
                this.mOpdTreatmentProcedure.UpdateChanges();
            }
            for (int i = 0; i < cmbTreatment.Items.Count; i++)
            {
                if (cmbTreatment.GetItemChecked(i))
                {
                    cmbTreatment.SetItemChecked(i, false);
                }
            }
            this.dptTreatmentDate.Value = DateTime.Now;
            LoadOPDTreatmentProcedure(GetSelectedProcedure(this.dgvTreatmentProcedure));
            this.mOpdTreatmentProcedure    = new OPDTreatmentProcedure();
            this.cmbTreatment.SelectedItem = null;
        }