Example #1
0
 private void butView_Click(object sender, EventArgs e)
 {
     //only visible if there is already a sheet.
     if (!SaveRx())
     {
         return;
     }
     SheetFields.GetFieldsAndParameters(sheet);
     FormSheetFillEdit.ShowForm(sheet, FormSheetFillEdit_FormClosing);
 }
Example #2
0
        private void listSheets_DoubleClick(object sender, EventArgs e)
        {
            if (listSheets.SelectedIndex == -1)
            {
                return;
            }
            Sheet sheet = SheetList[listSheets.SelectedIndex];

            SheetFields.GetFieldsAndParameters(sheet);
            FormSheetFillEdit.ShowForm(sheet, delegate { FillSheets(); });
        }
Example #3
0
        /*private void buttonEmail_Click(object sender,EventArgs e) {
         *      int CurPatNum=CaseCur.PatNum;
         *      EmailMessage message=new EmailMessage();
         *      message.PatNum=CurPatNum;
         *      Patient pat=Patients.GetPat(CurPatNum);
         *      message.ToAddress="";//pat.Email;
         *      message.FromAddress=PrefC.GetString(PrefName.EmailSenderAddress");
         *      message.Subject=Lan.g(this,"RE: ")+pat.GetNameFL();
         *      FormEmailMessageEdit FormE=new FormEmailMessageEdit(message);
         *      FormE.IsNew=true;
         *      FormE.ShowDialog();
         *
         * }*/

        private void butSlip_Click(object sender, EventArgs e)
        {
            if (sheet == null)           //create new
            {
                if (!SaveToDb())
                {
                    return;
                }
                Laboratory lab = ListLabs[listLab.SelectedIndex];
                SheetDef   sheetDef;
                if (lab.Slip == 0)
                {
                    sheetDef = SheetsInternal.GetSheetDef(SheetInternalType.LabSlip);
                }
                else
                {
                    sheetDef = SheetDefs.GetSheetDef(lab.Slip);
                }
                sheet = SheetUtil.CreateSheet(sheetDef, CaseCur.PatNum);
                SheetParameter.SetParameter(sheet, "PatNum", CaseCur.PatNum);
                SheetParameter.SetParameter(sheet, "LabCaseNum", CaseCur.LabCaseNum);
                SheetFiller.FillFields(sheet);
                SheetUtil.CalculateHeights(sheet, this.CreateGraphics());
                FormSheetFillEdit FormS = new FormSheetFillEdit(sheet);
                FormS.ShowDialog();
                //if(FormS.DialogResult!=DialogResult.OK) {
                //	sheet=null;
                //	return;
                //}
            }
            else              //edit existing
            {
                SheetFields.GetFieldsAndParameters(sheet);
                FormSheetFillEdit FormS = new FormSheetFillEdit(sheet);
                FormS.ShowDialog();
                //if(FormS.DialogResult!=DialogResult.OK) {
                //	return;
                //}
            }
            //refresh
            sheet = Sheets.GetLabSlip(CaseCur.PatNum, CaseCur.LabCaseNum);
            if (sheet == null)
            {
                butSlip.Text = Lan.g(this, "New Slip");
            }
            else
            {
                butSlip.Text = Lan.g(this, "Edit Slip");
            }
        }
Example #4
0
        private void butView_Click(object sender, EventArgs e)
        {
            //only visible if there is already a sheet.
            if (!SaveRx())
            {
                return;
            }
            SheetFields.GetFieldsAndParameters(sheet);
            FormSheetFillEdit FormSF = new FormSheetFillEdit(sheet);

            FormSF.ShowDialog();
            if (FormSF.DialogResult == DialogResult.OK)
            {
                DialogResult = DialogResult.OK;
            }
            //if user clicked cancel, then we can just stay in this form.
        }
Example #5
0
        /*private void buttonEmail_Click(object sender,EventArgs e) {
         *      int CurPatNum=CaseCur.PatNum;
         *      EmailMessage message=new EmailMessage();
         *      message.PatNum=CurPatNum;
         *      Patient pat=Patients.GetPat(CurPatNum);
         *      message.ToAddress="";//pat.Email;
         *      message.FromAddress=PrefC.GetString(PrefName.EmailSenderAddress");
         *      message.Subject=Lan.g(this,"RE: ")+pat.GetNameFL();
         *      FormEmailMessageEdit FormE=new FormEmailMessageEdit(message);
         *      FormE.IsNew=true;
         *      FormE.ShowDialog();
         *
         * }*/

        private void butSlip_Click(object sender, EventArgs e)
        {
            if (sheet == null)           //create new
            {
                if (!SaveToDb())
                {
                    return;
                }
                Laboratory lab = ListLabs[listLab.SelectedIndex];
                SheetDef   sheetDef;
                if (lab.Slip == 0)
                {
                    sheetDef = SheetsInternal.GetSheetDef(SheetInternalType.LabSlip);
                }
                else
                {
                    sheetDef = SheetDefs.GetSheetDef(lab.Slip);
                }
                sheet = SheetUtil.CreateSheet(sheetDef, CaseCur.PatNum);
                SheetParameter.SetParameter(sheet, "PatNum", CaseCur.PatNum);
                SheetParameter.SetParameter(sheet, "LabCaseNum", CaseCur.LabCaseNum);
                SheetFiller.FillFields(sheet);
                SheetUtil.CalculateHeights(sheet, this.CreateGraphics());
                FormSheetFillEdit FormS = new FormSheetFillEdit(sheet);
                FormS.ShowDialog();
            }
            else              //edit existing
            {
                SheetFields.GetFieldsAndParameters(sheet);
                FormSheetFillEdit FormS = new FormSheetFillEdit(sheet);
                FormS.ShowDialog();
            }
            //refresh
            sheet = Sheets.GetLabSlip(CaseCur.PatNum, CaseCur.LabCaseNum);
            if (sheet == null)
            {
                butSlip.Text = Lan.g(this, "New Slip");
            }
            else
            {
                butSlip.Text      = Lan.g(this, "Edit Slip");
                butCancel.Enabled = false;              //user can still click X to close window, but we do handle that as well.
            }
        }
Example #6
0
        private bool TryToSaveData()
        {
            if (!butOK.Enabled)             //if the OK button is not enabled, user does not have permission.
            {
                return(true);
            }
            if (textShowInTerminal.errorProvider1.GetError(textShowInTerminal) != "")
            {
                MsgBox.Show(this, "Please fix data entry errors first.");
                return(false);
            }
            DateTime dateTimeSheet = DateTime.MinValue;

            try{
                dateTimeSheet = DateTime.Parse(textDateTime.Text);
            }
            catch {
                MsgBox.Show(this, "Please fix data entry errors first.");
                return(false);
            }
            SheetCur.DateTimeSheet  = dateTimeSheet;
            SheetCur.Description    = textDescription.Text;
            SheetCur.InternalNote   = textNote.Text;
            SheetCur.ShowInTerminal = PIn.Byte(textShowInTerminal.Text);
            FillFieldsFromControls();            //But SheetNums will still be 0 for a new sheet.
            bool isNew = SheetCur.IsNew;

            if (isNew)
            {
                Sheets.Insert(SheetCur);
            }
            else
            {
                Sheets.Update(SheetCur);
            }
            List <SheetField> drawingList = new List <SheetField>();

            foreach (SheetField fld in SheetCur.SheetFields)
            {
                if (fld.FieldType == SheetFieldType.SigBox)
                {
                    continue;                    //done in a separate step
                }
                if (fld.FieldType == SheetFieldType.Image ||
                    fld.FieldType == SheetFieldType.Rectangle ||
                    fld.FieldType == SheetFieldType.Line)
                {
                    if (!fld.IsNew)
                    {
                        continue;                        //it only saves them when the sheet is first created because user can't edit anyway.
                    }
                }
                fld.SheetNum = SheetCur.SheetNum;              //whether or not isnew
                if (fld.FieldType == SheetFieldType.Drawing)
                {
                    fld.IsNew = true;
                    drawingList.Add(fld);
                }
                else
                {
                    if (fld.IsNew)
                    {
                        SheetFields.Insert(fld);
                    }
                    else
                    {
                        SheetFields.Update(fld);
                    }
                }
            }
            if (drawingsAltered)
            {
                //drawings get saved as a group rather than with the other fields.
                SheetFields.SetDrawings(drawingList, SheetCur.SheetNum);
            }
            if (isNew)
            {
                Sheets.SaveParameters(SheetCur);
            }
            //SigBoxes must come after ALL other types in order for the keyData to be in the right order.
            SheetField field;

            foreach (Control control in panelMain.Controls)
            {
                if (control.GetType() != typeof(OpenDental.UI.SignatureBoxWrapper))
                {
                    continue;
                }
                if (control.Tag == null)
                {
                    continue;
                }
                field = (SheetField)control.Tag;
                OpenDental.UI.SignatureBoxWrapper sigBox = (OpenDental.UI.SignatureBoxWrapper)control;
                if (sigBox.GetSigChanged())
                {
                    //refresh the fields so they are in the correct order
                    SheetFields.GetFieldsAndParameters(SheetCur);
                    bool   sigIsTopaz = sigBox.GetSigIsTopaz();
                    string keyData    = Sheets.GetSignatureKey(SheetCur);
                    string signature  = sigBox.GetSignature(keyData);
                    field.FieldValue = "";
                    if (signature != "")
                    {
                        if (sigIsTopaz)
                        {
                            field.FieldValue += "1";
                        }
                        else
                        {
                            field.FieldValue += "0";
                        }
                        field.FieldValue += signature;
                    }
                }
                field.SheetNum = SheetCur.SheetNum; //whether or not isnew
                if (isNew)                          //is this really testing the proper object?
                {
                    SheetFields.Insert(field);
                }
                else
                {
                    SheetFields.Update(field);
                }
            }
            return(true);
        }
Example #7
0
        /// <summary>
        private static void FillPatientFields(Patient newPat, FieldInfo field, string SheetWebFieldValue, string RadioButtonValue, string cultureName,
                                              bool isWebForm, bool isCemtTransfer)
        {
            try {
                switch (field.Name)
                {
                case "Birthdate":
                    field.SetValue(newPat, SheetFields.GetBirthDate(SheetWebFieldValue, isWebForm, isCemtTransfer, cultureName: cultureName));
                    break;

                case "Gender":
                    if (RadioButtonValue == "Male")
                    {
                        if (SheetWebFieldValue == "X")
                        {
                            field.SetValue(newPat, PatientGender.Male);
                        }
                    }
                    if (RadioButtonValue == "Female")
                    {
                        if (SheetWebFieldValue == "X")
                        {
                            field.SetValue(newPat, PatientGender.Female);
                        }
                    }
                    break;

                case "Position":
                    if (RadioButtonValue == "Married")
                    {
                        if (SheetWebFieldValue == "X")
                        {
                            field.SetValue(newPat, PatientPosition.Married);
                        }
                    }
                    if (RadioButtonValue == "Single")
                    {
                        if (SheetWebFieldValue == "X")
                        {
                            field.SetValue(newPat, PatientPosition.Single);
                        }
                    }
                    break;

                case "PreferContactMethod":
                case "PreferConfirmMethod":
                case "PreferRecallMethod":
                    ContactMethod method;
                    if (Enum.TryParse(SheetWebFieldValue, out method))
                    {
                        field.SetValue(newPat, method);
                    }
                    if (RadioButtonValue == "HmPhone" && SheetWebFieldValue == "X")
                    {
                        field.SetValue(newPat, ContactMethod.HmPhone);
                    }
                    if (RadioButtonValue == "WkPhone" && SheetWebFieldValue == "X")
                    {
                        field.SetValue(newPat, ContactMethod.WkPhone);
                    }
                    if (RadioButtonValue == "WirelessPh" && SheetWebFieldValue == "X")
                    {
                        field.SetValue(newPat, ContactMethod.WirelessPh);
                    }
                    if (RadioButtonValue == "Email" && SheetWebFieldValue == "X")
                    {
                        field.SetValue(newPat, ContactMethod.Email);
                    }
                    break;

                case "StudentStatus":
                    if (RadioButtonValue == "Nonstudent")
                    {
                        if (SheetWebFieldValue == "X")
                        {
                            field.SetValue(newPat, "");
                        }
                    }
                    if (RadioButtonValue == "Fulltime")
                    {
                        if (SheetWebFieldValue == "X")
                        {
                            field.SetValue(newPat, "F");
                        }
                    }
                    if (RadioButtonValue == "Parttime")
                    {
                        if (SheetWebFieldValue == "X")
                        {
                            field.SetValue(newPat, "P");
                        }
                    }
                    break;

                case "ins1Relat":
                case "ins2Relat":
                    if (RadioButtonValue == "Self")
                    {
                        if (SheetWebFieldValue == "X")
                        {
                            field.SetValue(newPat, Relat.Self);
                        }
                    }
                    if (RadioButtonValue == "Spouse")
                    {
                        if (SheetWebFieldValue == "X")
                        {
                            field.SetValue(newPat, Relat.Spouse);
                        }
                    }
                    if (RadioButtonValue == "Child")
                    {
                        if (SheetWebFieldValue == "X")
                        {
                            field.SetValue(newPat, Relat.Child);
                        }
                    }
                    break;

                default:
                    field.SetValue(newPat, SheetWebFieldValue);
                    break;
                }                //switch case
            }
            catch (Exception e) {
                MessageBox.Show(field.Name + e.Message);
            }
        }