public string GeneratePVTBill(bool isReferingFacility, string szCompanyId, string szCaseId, string szSpecility, string szCompanyName, string szBillId, string szUserName, string szUserId, ServerConnection conn)
    {
        string szDefaultPath = "";
        string szReturnPath  = "";

        try
        {
            log.Debug("in GeneratePVTBill");
            objNF3Template            = new Bill_Sys_NF3_Template();
            _bill_Sys_BillTransaction = new Bill_Sys_BillTransaction_BO();
            #region Generate Bill For Private cases

            String szLastPDFFileName = "";
            String szDestinationDir  = "";


            //changes for Doc manager for new Bill path -- pravin

            objVerification_Desc = new Bill_Sys_Verification_Desc();
            log.Debug("create  Bill_Sys_Verification_Desc object");


            objVerification_Desc.sz_bill_no    = szBillId;
            objVerification_Desc.sz_company_id = szCompanyId;
            objVerification_Desc.sz_flag       = "BILL";

            ArrayList arrNf_Para     = new ArrayList();
            ArrayList arrNf_NodeType = new ArrayList();

            objCaseDetailsBO = new CaseDetailsBO();
            DataSet ds1500from   = new DataSet();
            string  sz_Type      = "";
            string  bt_1500_Form = "";


            arrNf_Para.Add(objVerification_Desc);

            arrNf_NodeType = _bill_Sys_BillTransaction.Get_Node_Type(arrNf_Para, conn);
            log.Debug("called  _bill_Sys_BillTransaction ");
            log.Debug("arrNf_NodeType =" + arrNf_NodeType);
            if (arrNf_NodeType.Contains("NFVER"))
            {
                sz_Type          = "OLD";
                szDestinationDir = szCompanyName + "/" + szCaseId + "/No Fault File/Bills/" + szSpecility + "/";
            }
            else
            {
                sz_Type          = "NEW";
                szDestinationDir = szCompanyName + "/" + szCaseId + "/No Fault File/Medicals/" + szSpecility + "/" + "Bills/";
            }

            //szDestinationDir = szCompanyName + "/" + szCaseId + "/No Fault File/Bills/" + szSpecility + "/";

            String szSourceDir = "";
            szSourceDir = szCompanyName + "/" + szCaseId + "/Packet Document/";
            log.Debug("szSourceDir =" + szSourceDir);
            //changes for Add only 1500 Form For Insurance Company -- pravin

            ds1500from = objCaseDetailsBO.Get1500FormBitForInsurance(szCompanyId, szBillId, conn);

            if (ds1500from.Tables[0].Rows.Count > 0)
            {
                for (int i = 0; i < ds1500from.Tables[0].Rows.Count; i++)
                {
                    bt_1500_Form = ds1500from.Tables[0].Rows[i]["BT_1500_FORM"].ToString();
                }
            }
            if (bt_1500_Form == "1")
            {
                string str_1500 = "";
                _MUVGenerateFunction = new MUVGenerateFunction();

                //str_1500 = _MUVGenerateFunction.FillPdf(szBillId.ToString());
                string szOriginalTemplatePDFFileName        = ConfigurationManager.AppSettings["PVT_PDF_FILE"].ToString();
                Bill_Sys_PVT_Bill_PDF_Replace objPVTReplace = new Bill_Sys_PVT_Bill_PDF_Replace();
                str_1500 = objPVTReplace.ReplacePDFvalues(szOriginalTemplatePDFFileName, szBillId, szCompanyName, szCaseId, szCompanyId, conn);

                if (File.Exists(objNF3Template.getPhysicalPath() + szSourceDir + str_1500))
                {
                    if (!Directory.Exists(objNF3Template.getPhysicalPath() + szDestinationDir))
                    {
                        Directory.CreateDirectory(objNF3Template.getPhysicalPath() + szDestinationDir);
                    }
                    File.Copy(objNF3Template.getPhysicalPath() + szSourceDir + str_1500, objNF3Template.getPhysicalPath() + szDestinationDir + str_1500);
                }
                szReturnPath = ApplicationSettings.GetParameterValue("DocumentManagerURL") + szDestinationDir + str_1500;

                ArrayList objAL = new ArrayList();

                if (sz_Type == "OLD")
                {
                    objAL.Add(szBillId);
                    objAL.Add(szDestinationDir + str_1500);
                    objAL.Add(szCompanyId);
                    objAL.Add(szCaseId);
                    objAL.Add(str_1500);
                    objAL.Add(szDestinationDir);
                    objAL.Add(szUserName);
                    objAL.Add(szSpecility);
                    //objAL.Add("");
                    objAL.Add("PVT");
                    objAL.Add(szCaseId);
                    //objAL.Add(txtCaseNo.Text);
                    objNF3Template.saveGeneratedBillPath(objAL, conn);
                }
                else
                {
                    objAL.Add(szBillId);
                    objAL.Add(szDestinationDir + str_1500);
                    objAL.Add(szCompanyId);
                    objAL.Add(szCaseId);
                    objAL.Add(str_1500);
                    objAL.Add(szDestinationDir);
                    objAL.Add(szUserName);
                    objAL.Add(szSpecility);
                    //objAL.Add("");
                    objAL.Add("PVT");
                    objAL.Add(szCaseId);
                    objAL.Add(arrNf_NodeType[0].ToString());
                    objNF3Template.saveGeneratedBillPath_New(objAL, conn);
                }



                // Start : Save Notes for Bill.

                _DAO_NOTES_EO = new DAO_NOTES_EO();
                _DAO_NOTES_EO.SZ_MESSAGE_TITLE = "BILL_GENERATED";
                _DAO_NOTES_EO.SZ_ACTIVITY_DESC = str_1500;

                _DAO_NOTES_BO               = new DAO_NOTES_BO();
                _DAO_NOTES_EO.SZ_USER_ID    = szUserId;
                _DAO_NOTES_EO.SZ_CASE_ID    = szCaseId;
                _DAO_NOTES_EO.SZ_COMPANY_ID = szCompanyId;
                _DAO_NOTES_BO.SaveActivityNotes(_DAO_NOTES_EO);
            }

            else
            {
                String szGenereatedFileName = "";
                objPDFReplacement = new PDFValueReplacement.PDFValueReplacement();
                string szXMLFileName;
                string szOriginalPDFFileName;
                szXMLFileName = ConfigurationManager.AppSettings["HCFA1500_XML_FILE"].ToString();
                string path = GetPdfFilePath() + szCompanyId + "/HCFA -1500.pdf";
                log.Debug("szXMLFileName =" + szXMLFileName);
                log.Debug("path =" + path);
                if (File.Exists(path))
                {
                    szOriginalPDFFileName = path;
                }
                else
                {
                    szOriginalPDFFileName = ConfigurationManager.AppSettings["HCFA1500_PDF_FILE"].ToString();
                }
                String szPDFPage = "";
                log.Debug("Before PdfValue ReplacePDFvalues");
                string szOriginalTemplatePDFFileName        = ConfigurationManager.AppSettings["PVT_PDF_FILE"].ToString();
                Bill_Sys_PVT_Bill_PDF_Replace objPVTReplace = new Bill_Sys_PVT_Bill_PDF_Replace();
                szPDFPage = objPVTReplace.ReplacePDFvalues(szOriginalTemplatePDFFileName, szBillId, szCompanyName, szCaseId, szCompanyId, conn);
                //szPDFPage = objPDFReplacement.ReplacePDFvalues(szXMLFileName, szOriginalTemplatePDFFileName, szBillId, szCompanyName, szCaseId);
                log.Debug("after PdfValue ReplacePDFvalues");
                log.Debug("szPDFPage" + szPDFPage);

                #region File saving logic
                String szOpenFilePath = "";
                szGenereatedFileName = szDestinationDir + szPDFPage;
                log.Debug("szGenereatedFileName" + szGenereatedFileName);
                szOpenFilePath = ApplicationSettings.GetParameterValue("DocumentManagerURL") + szGenereatedFileName;
                log.Debug("szOpenFilePath" + szOpenFilePath);
                string szFileNameWithFullPath = objNF3Template.getPhysicalPath() + "/" + szGenereatedFileName;
                log.Debug("szFileNameWithFullPath" + szFileNameWithFullPath);
                string szFileNameForSaving = "";
                szReturnPath = szOpenFilePath;
                log.Debug("szReturnPath" + szReturnPath);
                // Save Entry in Table
                if (System.IO.File.Exists(szFileNameWithFullPath) && System.IO.File.Exists(szFileNameWithFullPath.Replace(".pdf", "_New.pdf").ToString()))
                {
                    szGenereatedFileName = szFileNameWithFullPath.Replace(".pdf", "_New.pdf").ToString();
                }
                log.Debug("szGenereatedFileName" + szGenereatedFileName);
                // End

                if (System.IO.File.Exists(szFileNameWithFullPath) && System.IO.File.Exists(szFileNameWithFullPath.Replace(".pdf", "_NewMerge.pdf").ToString()))
                {
                    szFileNameForSaving = szOpenFilePath.Replace(".pdf", "_NewMerge.pdf").ToString();
                    //Page.ClientScript.RegisterClientScriptBlock(typeof(GridView), "Msg", "window.open('" + szOpenFilePath.Replace(".pdf", "_NewMerge.pdf").ToString() + "'); ", true);
                }
                else
                {
                    if (System.IO.File.Exists(szFileNameWithFullPath) && System.IO.File.Exists(szFileNameWithFullPath.Replace(".pdf", "_New.pdf").ToString()))
                    {
                        szFileNameForSaving = szOpenFilePath.Replace(".pdf", "_New.pdf").ToString();
                        //Page.ClientScript.RegisterClientScriptBlock(typeof(GridView), "Msg", "window.open('" + szOpenFilePath.Replace(".pdf", "_New.pdf").ToString() + "'); ", true);
                    }
                    else
                    {
                        szFileNameForSaving = szOpenFilePath.ToString();
                        //Page.ClientScript.RegisterClientScriptBlock(typeof(GridView), "Msg", "window.open('" + szOpenFilePath.ToString() + "'); ", true);
                    }
                }

                log.Debug("szFileNameForSaving" + szFileNameForSaving);
                String[] szTemp;
                string   szBillName = "";
                szTemp = szFileNameForSaving.Split('/');
                log.Debug("szTemp" + szTemp);
                ArrayList objAL = new ArrayList();
                szFileNameForSaving = szFileNameForSaving.Remove(0, ApplicationSettings.GetParameterValue("DocumentManagerURL").Length);
                log.Debug("szFileNameForSaving" + szFileNameForSaving);
                szBillName = szTemp[szTemp.Length - 1].ToString();
                log.Debug("szBillName" + szBillName);
                string bt_CaseType, bt_include, str_1500;
                string strComp = szCompanyId.ToString();
                _MUVGenerateFunction = new MUVGenerateFunction();
                if (System.Configuration.ConfigurationManager.AppSettings["Only_1500_in_PVT_Bill"].ToString() == "true")
                {
                    str_1500 = _MUVGenerateFunction.FillPdf(szBillId.ToString(), conn);
                    log.Debug("str_1500" + str_1500);
                    if (File.Exists(objNF3Template.getPhysicalPath() + szSourceDir + str_1500))
                    {
                        if (!Directory.Exists(objNF3Template.getPhysicalPath() + szDestinationDir))
                        {
                            Directory.CreateDirectory(objNF3Template.getPhysicalPath() + szDestinationDir);
                        }
                        File.Copy(objNF3Template.getPhysicalPath() + szSourceDir + str_1500, objNF3Template.getPhysicalPath() + szDestinationDir + str_1500);
                    }
                    szBillName = str_1500;
                    //szBillName = str_1500.Replace(".pdf", "_MER.pdf");
                    szReturnPath = ApplicationSettings.GetParameterValue("DocumentManagerURL") + szDestinationDir + szBillName;
                    log.Debug("szReturnPath" + szReturnPath);
                }
                else
                {
                    log.Debug("bjNF3Template.getPhysicalPath() + szSourceDir + szBillName" + objNF3Template.getPhysicalPath() + szSourceDir + szBillName);
                    if (File.Exists(objNF3Template.getPhysicalPath() + szSourceDir + szBillName))
                    {
                        if (!Directory.Exists(objNF3Template.getPhysicalPath() + szDestinationDir))
                        {
                            Directory.CreateDirectory(objNF3Template.getPhysicalPath() + szDestinationDir);
                        }
                        File.Copy(objNF3Template.getPhysicalPath() + szSourceDir + szBillName, objNF3Template.getPhysicalPath() + szDestinationDir + szBillName);
                    }



                    //Tushar
                    bt_include = _MUVGenerateFunction.get_bt_include(strComp, szSpecility, "", "Speciality");
                    log.Debug("bt_include" + bt_include);
                    bt_CaseType = _MUVGenerateFunction.get_bt_include(strComp, "", "WC000000000000000003", "CaseType");
                    log.Debug("bt_CaseType" + bt_CaseType);
                    if (bt_include == "True" && bt_CaseType == "True")
                    {
                        str_1500 = _MUVGenerateFunction.FillPdf(szBillId.ToString(), conn);

                        MergePDF.MergePDFFiles(objNF3Template.getPhysicalPath() + szDestinationDir + szBillName, objNF3Template.getPhysicalPath() + szSourceDir + str_1500, objNF3Template.getPhysicalPath() + szDestinationDir + str_1500.Replace(".pdf", "_MER.pdf"));
                        szBillName   = str_1500.Replace(".pdf", "_MER.pdf");
                        szReturnPath = ApplicationSettings.GetParameterValue("DocumentManagerURL") + szDestinationDir + szBillName;
                    }

                    log.Debug("szReturnPath" + szReturnPath);
                }

                //changes for Doc manager for new Bill path -- pravin

                if (sz_Type == "OLD")
                {
                    objAL.Add(szBillId);
                    objAL.Add(szDestinationDir + szBillName);
                    objAL.Add(szCompanyId);
                    objAL.Add(szCaseId);
                    objAL.Add(szBillName);
                    objAL.Add(szDestinationDir);
                    objAL.Add(szUserName);
                    objAL.Add(szSpecility);
                    //objAL.Add("");
                    objAL.Add("PVT");
                    objAL.Add(szCaseId);
                    //objAL.Add(txtCaseNo.Text);
                    objNF3Template.saveGeneratedBillPath(objAL, conn);
                }
                else
                {
                    objAL.Add(szBillId);
                    objAL.Add(szDestinationDir + szBillName);
                    objAL.Add(szCompanyId);
                    objAL.Add(szCaseId);
                    objAL.Add(szBillName);
                    objAL.Add(szDestinationDir);
                    objAL.Add(szUserName);
                    objAL.Add(szSpecility);
                    //objAL.Add("");
                    objAL.Add("PVT");
                    objAL.Add(szCaseId);
                    objAL.Add(arrNf_NodeType[0].ToString());
                    objNF3Template.saveGeneratedBillPath_New(objAL, conn);
                }



                // Start : Save Notes for Bill.

                _DAO_NOTES_EO = new DAO_NOTES_EO();
                _DAO_NOTES_EO.SZ_MESSAGE_TITLE = "BILL_GENERATED";
                _DAO_NOTES_EO.SZ_ACTIVITY_DESC = szBillName;

                _DAO_NOTES_BO               = new DAO_NOTES_BO();
                _DAO_NOTES_EO.SZ_USER_ID    = szUserId;
                _DAO_NOTES_EO.SZ_CASE_ID    = szCaseId;
                _DAO_NOTES_EO.SZ_COMPANY_ID = szCompanyId;
                _DAO_NOTES_BO.SaveActivityNotes(_DAO_NOTES_EO);
                #endregion

                //Page.ClientScript.RegisterClientScriptBlock(typeof(GridView), "Msg", "window.open('" +  ApplicationSettings.GetParameterValue("DocumentManagerURL") + szPDFPage + "'); ", true);
                #endregion
            }
        }
        catch (Exception ex)
        {
            throw new Exception(ex.Message, ex);
        }
        return(szReturnPath);
    }
Beispiel #2
0
    protected void btnSave_Click(object sender, EventArgs e)
    {
        string id = string.Format("Id: {0} Uri: {1}", Guid.NewGuid(), HttpContext.Current.Request.Url);

        using (Utils utility = new Utils())
        {
            utility.MethodStart(id, System.Reflection.MethodBase.GetCurrentMethod());
        }
        try
        {
            Boolean _valid = true;
            if (ddlStatus.SelectedValue == "1")
            {
                if (txtReScheduleDate.Text == "" && ddlReSchHours.SelectedValue == "00")
                {
                    lblMessage.Text = "Please enter Res-Schedule Date and Time";
                    _valid          = false;
                }
            }
            else if (ddlStatus.SelectedValue == "2")
            {
                if (ddlTestNames.GetSelectedIndices().Length == 0)
                {
                    lblMessage.Text = "Please select procedure";
                    _valid          = false;
                }

                DateTime dtPassDate;
                dtPassDate = Convert.ToDateTime(lblDate.Text);
                if (dtPassDate > DateTime.Now)
                {
                    lblMessage.Text = "Cannot complete visit at future date.";
                    _valid          = false;
                }
            }
            else if (ddlStatus.SelectedValue == "3")
            {
                DateTime dtPassDate;
                dtPassDate = Convert.ToDateTime(lblDate.Text);
                if (dtPassDate > DateTime.Now)
                {
                    lblMessage.Text = "Cannot no show visit at future date.";
                    _valid          = false;
                }
            }
            if (_valid == true)
            {
                string            eventID            = Request.QueryString["id"].ToString();
                Bill_Sys_Calender _bill_Sys_Calender = new Bill_Sys_Calender();
                ArrayList         objAdd;
                if (ddlStatus.SelectedValue == "2")
                {
                    foreach (ListItem lst in ddlTestNames.Items)
                    {
                        if (lst.Selected == true)
                        {
                            objAdd = new ArrayList();
                            objAdd.Add(lst.Value);
                            objAdd.Add(eventID);
                            objAdd.Add(ddlStatus.SelectedValue);
                            _bill_Sys_Calender.Update_Event_RefferPrcedure(objAdd);

                            Bill_Sys_ReferalEvent _bill_Sys_ReferalEvent = new Bill_Sys_ReferalEvent();
                            ArrayList             arrOBJ = new ArrayList();
                            arrOBJ.Add(lblDoctorID.Text);
                            arrOBJ.Add(lst.Value);
                            arrOBJ.Add(((Bill_Sys_BillingCompanyObject)Session["BILLING_COMPANY_OBJECT"]).SZ_COMPANY_ID);
                            arrOBJ.Add(lst.Value);
                            _bill_Sys_ReferalEvent.AddDoctorAmount(arrOBJ);

                            _bill_Sys_Calender.UpdateProcedure(((Bill_Sys_BillingCompanyObject)Session["BILLING_COMPANY_OBJECT"]).SZ_COMPANY_ID, lblDoctorID.Text, lst.Value, true, "");
                        }
                        else
                        {
                            _bill_Sys_Calender.UpdateProcedure(((Bill_Sys_BillingCompanyObject)Session["BILLING_COMPANY_OBJECT"]).SZ_COMPANY_ID, lblDoctorID.Text, lst.Value, false, eventID);
                        }
                    }
                }
                else if (ddlStatus.SelectedValue == "1")
                {
                    objAdd = new ArrayList();
                    objAdd.Add(txtCaseID.Text);
                    objAdd.Add(txtReScheduleDate.Text);
                    objAdd.Add(ddlReSchHours.SelectedValue.ToString() + "." + ddlReSchMinutes.SelectedValue.ToString());
                    objAdd.Add(txtNotes.Text);
                    objAdd.Add(lblDoctorID.Text);
                    objAdd.Add(lblTypeCode.Text);
                    objAdd.Add(((Bill_Sys_BillingCompanyObject)Session["BILLING_COMPANY_OBJECT"]).SZ_COMPANY_ID);
                    objAdd.Add(ddlReSchTime.SelectedValue);
                    ////////////////
                    int    endMin  = Convert.ToInt32(ddlReSchMinutes.SelectedValue) + Convert.ToInt32("30");
                    int    endHr   = Convert.ToInt32(ddlReSchHours.SelectedValue);
                    string endTime = ddlReSchTime.SelectedValue;
                    if (endMin >= 60)
                    {
                        endMin = endMin - 60;
                        endHr  = endHr + 1;
                        if (endHr > 12)
                        {
                            endHr = endHr - 12;
                            if (ddlReSchHours.SelectedValue != "12")
                            {
                                if (endTime == "AM")
                                {
                                    endTime = "PM";
                                }
                                else if (endTime == "PM")
                                {
                                    endTime = "AM";
                                }
                            }
                        }
                        else if (endHr == 12)
                        {
                            if (ddlReSchHours.SelectedValue != "12")
                            {
                                if (endTime == "AM")
                                {
                                    endTime = "PM";
                                }
                                else if (endTime == "PM")
                                {
                                    endTime = "AM";
                                }
                            }
                        }
                    }

                    //ddlEndHours.SelectedValue = endHr.ToString().PadLeft(2, '0');
                    //ddlEndMinutes.SelectedValue = endMin.ToString().PadLeft(2, '0');
                    //ddlEndTime.SelectedValue = endTime.ToString();
                    /////////////////
                    objAdd.Add(endHr.ToString().PadLeft(2, '0').ToString() + "." + endMin.ToString().PadLeft(2, '0').ToString());
                    objAdd.Add(endTime.ToString());
                    _bill_Sys_Calender.SaveEvent(objAdd, ((Bill_Sys_UserObject)Session["USER_OBJECT"]).SZ_USER_ID.ToString());
                    objAdd = new ArrayList();
                    objAdd.Add(txtCaseID.Text);
                    objAdd.Add(lblDoctorID.Text);
                    objAdd.Add(((Bill_Sys_BillingCompanyObject)Session["BILLING_COMPANY_OBJECT"]).SZ_COMPANY_ID);
                    int reScheventID = _bill_Sys_Calender.GetEventID(objAdd);
                    if (_bill_Sys_Calender.CheckReferralExists(lblDoctorID.Text, ((Bill_Sys_BillingCompanyObject)Session["BILLING_COMPANY_OBJECT"]).SZ_COMPANY_ID) == true)
                    {
                        foreach (ListItem lstItem in ddlTestNames.Items)
                        {
                            if (lstItem.Selected == true)
                            {
                                objAdd = new ArrayList();
                                objAdd.Add(lstItem.Value);
                                objAdd.Add(reScheventID);
                                objAdd.Add(0);
                                _bill_Sys_Calender.Update_Event_RefferPrcedure(objAdd, eventID);
                                //              _bill_Sys_Calender.Save_Event_RefferPrcedure(objAdd);


                                _bill_Sys_Calender.UpdateProcedure(((Bill_Sys_BillingCompanyObject)Session["BILLING_COMPANY_OBJECT"]).SZ_COMPANY_ID, lblDoctorID.Text, lstItem.Value, true, "");
                            }
                            else
                            {
                                _bill_Sys_Calender.UpdateProcedure(((Bill_Sys_BillingCompanyObject)Session["BILLING_COMPANY_OBJECT"]).SZ_COMPANY_ID, lblDoctorID.Text, lstItem.Value, false, reScheventID.ToString());
                            }
                        }
                    }
                }

                _bill_Sys_Calender = new Bill_Sys_Calender();
                objAdd             = new ArrayList();
                objAdd.Add(eventID);
                objAdd.Add(false);
                objAdd.Add(ddlStatus.SelectedValue);
                _bill_Sys_Calender.UPDATE_Event_Status(objAdd);
                // Start : Save appointment Notes.

                _DAO_NOTES_EO = new DAO_NOTES_EO();
                _DAO_NOTES_EO.SZ_MESSAGE_TITLE = "APPOINTMENT_UPDATED";
                //  _DAO_NOTES_EO.SZ_ACTIVITY_DESC = "Date : " + lblDate.Text;

                _DAO_NOTES_EO.SZ_ACTIVITY_DESC = "Date : " + lblDate.Text.Substring(0, lblDate.Text.IndexOf(" ")) + " " + lblHours.Text + ":" + lblMinutes.Text + " " + lblTime.Text;

                _DAO_NOTES_BO               = new DAO_NOTES_BO();
                _DAO_NOTES_EO.SZ_USER_ID    = ((Bill_Sys_UserObject)Session["USER_OBJECT"]).SZ_USER_ID;
                _DAO_NOTES_EO.SZ_CASE_ID    = txtCaseID.Text;
                _DAO_NOTES_EO.SZ_COMPANY_ID = ((Bill_Sys_BillingCompanyObject)Session["BILLING_COMPANY_OBJECT"]).SZ_COMPANY_ID;
                _DAO_NOTES_BO.SaveActivityNotes(_DAO_NOTES_EO);


                // End
                Page.ClientScript.RegisterClientScriptBlock(this.GetType(), "ss", "<script language='javascript'>  parent.document.getElementById('divid').style.visibility = 'hidden';window.parent.document.location.href=window.parent.document.location.href;window.self.close();window.parent.document.location.reload(); parent.document.getElementById('lblMsg').value='Event added successfully.';</script>");
            }
        }
        catch (Exception ex)
        {
            Elmah.ErrorSignal.FromCurrentContext().Raise(ex);
            using (Utils utility = new Utils())
            {
                utility.MethodEnd(id, System.Reflection.MethodBase.GetCurrentMethod());
            }
            string str2 = "Error Request=" + id + ".Please share with Technical support.";
            base.Response.Redirect("Bill_Sys_ErrorPage.aspx?ErrMsg=" + str2);
        }
        //Method End
        using (Utils utility = new Utils())
        {
            utility.MethodEnd(id, System.Reflection.MethodBase.GetCurrentMethod());
        }
    }
Beispiel #3
0
    protected void btnUpdate_Click(object sender, EventArgs e)
    {
        string id = string.Format("Id: {0} Uri: {1}", Guid.NewGuid(), HttpContext.Current.Request.Url);

        using (Utils utility = new Utils())
        {
            utility.MethodStart(id, System.Reflection.MethodBase.GetCurrentMethod());
        }

        _bill_Sys_Visit_BO = new Bill_Sys_Visit_BO();
        objAdd             = new ArrayList();
        Bill_Sys_Calender _bill_Sys_Calender;
        string            eventId = Request.QueryString["eventId"].ToString();

        try
        {
            if (Convert.ToDateTime(txtAppointmentDate.Text) > Convert.ToDateTime(DateTime.Now.ToString("MM/dd/yyyy")) && ddlStatus.SelectedValue == "2")
            {
                Page.ClientScript.RegisterClientScriptBlock(this.GetType(), "ss", "<script language='javascript'>alert('Visit for future date cannot be completed...!');</script>");
            }
            else
            {
                //////////

                //Boolean iEvisitExists = false;
                //Boolean visitExists = false;
                //Boolean reVisitExists = false;
                //SqlConnection con = new SqlConnection(ConfigurationManager.AppSettings.Get("MyConnectionString"));
                //SqlCommand comd = new SqlCommand("SP_CHECK_UPDATE_INITIALE_VALUATIONEXISTS");
                //comd.CommandType = CommandType.StoredProcedure;
                //comd.Connection = con;
                //comd.Connection.Open();
                //comd.Parameters.AddWithValue("@SZ_CASE_ID", ((Bill_Sys_CaseObject)Session["CASE_OBJECT"]).SZ_CASE_ID);
                //comd.Parameters.AddWithValue("@SZ_COMPANY_ID", ((Bill_Sys_BillingCompanyObject)Session["BILLING_COMPANY_OBJECT"]).SZ_COMPANY_ID);
                //comd.Parameters.AddWithValue("@SZ_PATIENT_ID", ((Bill_Sys_CaseObject)Session["CASE_OBJECT"]).SZ_PATIENT_ID);
                //comd.Parameters.AddWithValue("@SZ_DOCTOR_ID", extddlDoctor.Text);
                //comd.Parameters.AddWithValue("@VISIT_DATE", txtAppointmentDate.Text);
                //comd.Parameters.AddWithValue("@I_EVENT_ID", eventId);
                ////int intCountVisits = Convert.ToInt32(comd.ExecuteScalar());
                //if (ddlStatus.SelectedValue == "1") { comd.Parameters.AddWithValue("@RE_VISIT_DATE", txtReDate.Text); }
                //SqlParameter objIEExists = new SqlParameter("@INITIAL_EXISTS", SqlDbType.Bit);
                //objIEExists.Direction = ParameterDirection.Output;
                //comd.Parameters.Add(objIEExists);
                //SqlParameter objVisitStatus = new SqlParameter("@VISIT_EXISTS", SqlDbType.Bit, 20);
                //objVisitStatus.Direction = ParameterDirection.Output;
                //comd.Parameters.Add(objVisitStatus);
                //SqlParameter objReVisitStatus = new SqlParameter("@RE_VISIT_EXISTS", SqlDbType.Bit, 20);
                //objReVisitStatus.Direction = ParameterDirection.Output;
                //comd.Parameters.Add(objReVisitStatus);
                //comd.ExecuteNonQuery();
                //comd.Connection.Close();

                //iEvisitExists = Convert.ToBoolean(objIEExists.Value);
                //visitExists = Convert.ToBoolean(objVisitStatus.Value);
                //if (objReVisitStatus.Value.ToString() != "") reVisitExists = Convert.ToBoolean(objReVisitStatus.Value);
                //if (iEvisitExists == false && extddlVisitType.Selected_Text != "IE")
                //{
                //    lblMsg.Text = "Schedule can not be saved patient is visiting first time hence there visit type should be Initial Evaluation.";
                //    lblMsg.Focus();
                //    lblMsg.Visible = true;
                //    return;
                //}
                //if (iEvisitExists == true && extddlVisitType.Selected_Text == "IE")
                //{
                //    lblMsg.Text = "Schedule can not be saved because patient already has Initial Evaluation.";
                //    lblMsg.Focus();
                //    lblMsg.Visible = true;
                //    return;
                //}
                //if (visitExists == true && ddlStatus.SelectedValue!="1")
                //{
                //    lblMsg.Text = "Schedule can not be saved because patient already has this visit";
                //    lblMsg.Focus();
                //    lblMsg.Visible = true;
                //    return;
                //}
                //if (reVisitExists == true && ddlStatus.SelectedValue == "1" && txtReEventID.Text == "")
                //{
                //    lblMsg.Text = "Schedule can not be saved because patient already has visit on re-schedule date";
                //    lblMsg.Focus();
                //    lblMsg.Visible = true;
                //    return;
                //}
                /////////

                ////////////RE-Schedule
                ////////////RE-Schedule add
                int    reendMin  = Convert.ToInt32(ddlReSchMinutes.SelectedValue) + Convert.ToInt32(30);
                int    reendHr   = Convert.ToInt32(ddlReSchHours.SelectedValue);
                string reendTime = ddlReSchTime.SelectedValue;
                if (reendMin >= 60)
                {
                    reendMin = reendMin - 60;
                    reendHr  = reendHr + 1;
                    if (reendHr > 12)
                    {
                        reendHr = reendHr - 12;
                        if (ddlReSchHours.SelectedValue != "12")
                        {
                            if (reendTime == "AM")
                            {
                                reendTime = "PM";
                            }
                            else if (reendTime == "PM")
                            {
                                reendTime = "AM";
                            }
                        }
                    }
                    else if (reendHr == 12)
                    {
                        if (ddlReSchHours.SelectedValue != "12")
                        {
                            if (reendTime == "AM")
                            {
                                reendTime = "PM";
                            }
                            else if (reendTime == "PM")
                            {
                                reendTime = "AM";
                            }
                        }
                    }
                }
                if (ddlStatus.SelectedValue == "1" && txtReEventID.Text == "")
                {
                    _bill_Sys_Calender = new Bill_Sys_Calender();
                    objAdd             = new ArrayList();
                    objAdd.Add(txtCaseID.Text);                                                                          //Case Id
                    objAdd.Add(txtReDate.Text);                                                                          //Appointment date
                    objAdd.Add(ddlReSchHours.SelectedValue.ToString() + "." + ddlReSchMinutes.SelectedValue.ToString()); //Appointment time
                    objAdd.Add("");                                                                                      //Notes
                    objAdd.Add(extddlDoctor.Text);
                    objAdd.Add("TY000000000000000003");
                    objAdd.Add(((Bill_Sys_BillingCompanyObject)Session["BILLING_COMPANY_OBJECT"]).SZ_COMPANY_ID);
                    objAdd.Add(ddlReSchTime.SelectedValue);
                    objAdd.Add(reendHr.ToString().PadLeft(2, '0') + "." + reendMin.ToString().PadLeft(2, '0'));
                    objAdd.Add(reendTime);
                    if (Convert.ToDateTime(txtReDate.Text) >= Convert.ToDateTime(DateTime.Now.ToString("MM/dd/yyyy")))
                    {
                        objAdd.Add("0");
                    }
                    else
                    {
                        objAdd.Add("2");
                    }
                    objAdd.Add(extddlVisitType.Text);
                    _bill_Sys_Calender.SaveEvent(objAdd, ((Bill_Sys_UserObject)Session["USER_OBJECT"]).SZ_USER_ID.ToString());
                    ArrayList objGetEvent = new ArrayList();
                    objGetEvent.Add(txtCaseID.Text);
                    objGetEvent.Add(extddlDoctor.Text);
                    objGetEvent.Add(txtCompanyID.Text);
                    int reeventID = _bill_Sys_Calender.GetEventID(objGetEvent);
                    txtReEventID.Text = reeventID.ToString();
                    foreach (ListItem lstItem in ddlTestNames.Items)
                    {
                        if (lstItem.Selected == true)
                        {
                            objAdd = new ArrayList();
                            objAdd.Add(lstItem.Value);
                            objAdd.Add(reeventID);
                            if (Convert.ToDateTime(txtReDate.Text) >= Convert.ToDateTime(DateTime.Now.ToString("MM/dd/yyyy")))
                            {
                                objAdd.Add("0");
                            }
                            else
                            {
                                objAdd.Add("2");
                            }
                            _bill_Sys_Calender.Save_Event_RefferPrcedure(objAdd);
                        }
                    }
                    // Start : Save appointment Notes.

                    _DAO_NOTES_EO = new DAO_NOTES_EO();
                    _DAO_NOTES_EO.SZ_MESSAGE_TITLE = "APPOINTMENT_ADDED";
                    _DAO_NOTES_EO.SZ_ACTIVITY_DESC = "Date : " + txtReDate.Text;

                    _DAO_NOTES_BO               = new DAO_NOTES_BO();
                    _DAO_NOTES_EO.SZ_USER_ID    = ((Bill_Sys_UserObject)Session["USER_OBJECT"]).SZ_USER_ID;
                    _DAO_NOTES_EO.SZ_CASE_ID    = ((Bill_Sys_CaseObject)Session["CASE_OBJECT"]).SZ_CASE_ID;
                    _DAO_NOTES_EO.SZ_COMPANY_ID = ((Bill_Sys_BillingCompanyObject)Session["BILLING_COMPANY_OBJECT"]).SZ_COMPANY_ID;
                    _DAO_NOTES_BO.SaveActivityNotes(_DAO_NOTES_EO);

                    lblMsg.Visible = true;
                    lblMsg.Text    = "Appointment Added successfully.";
                }
                ////////////RE-Schedule add
                ////////////RE-Schedule Update
                else if (ddlStatus.SelectedValue == "1" && txtReEventID.Text != "")
                {
                    _bill_Sys_Calender = new Bill_Sys_Calender();
                    objAdd             = new ArrayList();
                    objAdd.Add(txtReEventID.Text);                                                                       //event Id
                    objAdd.Add(txtCaseID.Text);                                                                          //Case Id
                    objAdd.Add(txtReDate.Text);                                                                          //Appointment date
                    objAdd.Add(ddlReSchHours.SelectedValue.ToString() + "." + ddlReSchMinutes.SelectedValue.ToString()); //Appointment time
                    objAdd.Add("");                                                                                      //Notes
                    objAdd.Add(extddlDoctor.Text);
                    objAdd.Add("TY000000000000000003");
                    objAdd.Add(txtCompanyID.Text);

                    objAdd.Add(ddlReSchTime.SelectedValue);
                    objAdd.Add(reendHr.ToString().PadLeft(2, '0') + "." + reendMin.ToString().PadLeft(2, '0'));
                    objAdd.Add(reendTime);

                    if (Convert.ToDateTime(txtReDate.Text) >= Convert.ToDateTime(DateTime.Now.ToString("MM/dd/yyyy")))
                    {
                        objAdd.Add("0");
                    }
                    else
                    {
                        objAdd.Add("2");
                    }
                    objAdd.Add(extddlVisitType.Text);
                    _bill_Sys_Calender.UPDATEEvent(objAdd, ((Bill_Sys_UserObject)Session["USER_OBJECT"]).SZ_USER_ID.ToString());

                    _bill_Sys_Calender.Delete_Event_RefferPrcedure(Convert.ToInt32(txtReEventID.Text));

                    foreach (ListItem lstItem in ddlTestNames.Items)
                    {
                        if (lstItem.Selected == true)
                        {
                            objAdd = new ArrayList();
                            objAdd.Add(lstItem.Value);
                            objAdd.Add(txtReEventID.Text);
                            if (ddlTestNames.Visible == true && Convert.ToDateTime(txtAppointmentDate.Text) >= Convert.ToDateTime(DateTime.Now.ToString("MM/dd/yyyy")))
                            {
                                objAdd.Add("0");
                            }
                            else
                            {
                                objAdd.Add("2");
                            }
                            _bill_Sys_Calender.Save_Event_RefferPrcedure(objAdd);
                        }
                    }
                }
                ////////////RE-Schedule Update
                ////////////RE-Schedule

                _bill_Sys_Calender = new Bill_Sys_Calender();
                objAdd             = new ArrayList();
                objAdd.Add(eventId);                                                                       //event Id
                objAdd.Add(txtCaseID.Text);                                                                //Case Id
                objAdd.Add(txtAppointmentDate.Text);                                                       //Appointment date
                objAdd.Add(ddlHours.SelectedValue.ToString() + "." + ddlMinutes.SelectedValue.ToString()); //Appointment time
                objAdd.Add("");                                                                            //Notes
                objAdd.Add(extddlDoctor.Text);
                objAdd.Add("TY000000000000000003");
                objAdd.Add(txtCompanyID.Text);

                int    endMin  = Convert.ToInt32(ddlMinutes.SelectedValue) + Convert.ToInt32(30);
                int    endHr   = Convert.ToInt32(ddlHours.SelectedValue);
                string endTime = ddlTime.SelectedValue;
                if (endMin >= 60)
                {
                    endMin = endMin - 60;
                    endHr  = endHr + 1;
                    if (endHr > 12)
                    {
                        endHr = endHr - 12;
                        if (ddlHours.SelectedValue != "12")
                        {
                            if (endTime == "AM")
                            {
                                endTime = "PM";
                            }
                            else if (endTime == "PM")
                            {
                                endTime = "AM";
                            }
                        }
                    }
                    else if (endHr == 12)
                    {
                        if (ddlHours.SelectedValue != "12")
                        {
                            if (endTime == "AM")
                            {
                                endTime = "PM";
                            }
                            else if (endTime == "PM")
                            {
                                endTime = "AM";
                            }
                        }
                    }
                }
                objAdd.Add(ddlTime.SelectedValue);
                objAdd.Add(endHr.ToString().PadLeft(2, '0') + "." + endMin.ToString().PadLeft(2, '0'));
                objAdd.Add(endTime);



                objAdd.Add(ddlStatus.SelectedValue);
                objAdd.Add(extddlVisitType.Text);
                if (ddlStatus.SelectedValue == "1")
                {
                    objAdd.Add(txtReEventID.Text);
                    objAdd.Add(txtReDate.Text);
                }
                _bill_Sys_Calender.UPDATEEvent(objAdd, ((Bill_Sys_UserObject)Session["USER_OBJECT"]).SZ_USER_ID.ToString());
                _bill_Sys_Calender.Delete_Event_RefferPrcedure(Convert.ToInt32(eventId));


                ArrayList Olditems = new ArrayList();
                foreach (ListItem lstItem in ddlTestNames.Items)
                {
                    if (lstItem.Selected == true)
                    {
                        objAdd = new ArrayList();
                        objAdd.Add(lstItem.Value);
                        objAdd.Add(eventId);
                        if (ddlTestNames.Visible == true && Convert.ToDateTime(txtAppointmentDate.Text) >= Convert.ToDateTime(DateTime.Now.ToString("MM/dd/yyyy")))
                        {
                            objAdd.Add("0");
                        }
                        else
                        {
                            objAdd.Add("2");
                        }
                        _bill_Sys_Calender.Save_Event_RefferPrcedure(objAdd);
                    }

                    if (ddlOldTestNames.Items.FindByValue(lstItem.Value).Selected == true && lstItem.Selected == false)
                    {
                        Olditems.Add(lstItem.Value);
                    }
                }

                //////////If appointment is updated from schedule to completed and remove any existing treatments
                if (txtVisitStatus.Text == "0" && ddlStatus.SelectedValue != "0" && Olditems.Count > 0)
                {
                    _bill_Sys_Calender = new Bill_Sys_Calender();
                    objAdd             = new ArrayList();
                    objAdd.Add(txtCaseID.Text);                                                                //Case Id
                    objAdd.Add(txtAppointmentDate.Text);                                                       //Appointment date
                    objAdd.Add(ddlHours.SelectedValue.ToString() + "." + ddlMinutes.SelectedValue.ToString()); //Appointment time
                    objAdd.Add("");                                                                            //Notes
                    objAdd.Add(extddlDoctor.Text);
                    objAdd.Add("TY000000000000000003");
                    objAdd.Add(txtCompanyID.Text);

                    objAdd.Add(ddlTime.SelectedValue);
                    objAdd.Add(endHr.ToString().PadLeft(2, '0') + "." + endMin.ToString().PadLeft(2, '0'));
                    objAdd.Add(endTime);
                    objAdd.Add("0");
                    objAdd.Add(extddlVisitType.Text);

                    _bill_Sys_Calender.SaveEvent(objAdd, ((Bill_Sys_UserObject)Session["USER_OBJECT"]).SZ_USER_ID.ToString());

                    ArrayList objOldGetEvent = new ArrayList();
                    objOldGetEvent.Add(txtCaseID.Text);
                    objOldGetEvent.Add(extddlDoctor.Text);
                    objOldGetEvent.Add(txtCompanyID.Text);
                    int neweventID = _bill_Sys_Calender.GetEventID(objOldGetEvent);

                    foreach (Object obj in Olditems)
                    {
                        objAdd = new ArrayList();
                        objAdd.Add(obj.ToString());
                        objAdd.Add(neweventID);
                        objAdd.Add("0");
                        _bill_Sys_Calender.Save_Event_RefferPrcedure(objAdd);
                    }
                }
                //////////If appointment is updated from schedule to completed and remove any existing treatments


                // Start : Save appointment Notes.

                _DAO_NOTES_EO = new DAO_NOTES_EO();
                _DAO_NOTES_EO.SZ_MESSAGE_TITLE = "APPOINTMENT_ADDED";
                _DAO_NOTES_EO.SZ_ACTIVITY_DESC = "Date : " + txtAppointmentDate.Text;

                _DAO_NOTES_BO               = new DAO_NOTES_BO();
                _DAO_NOTES_EO.SZ_USER_ID    = ((Bill_Sys_UserObject)Session["USER_OBJECT"]).SZ_USER_ID;
                _DAO_NOTES_EO.SZ_CASE_ID    = ((Bill_Sys_CaseObject)Session["CASE_OBJECT"]).SZ_CASE_ID;
                _DAO_NOTES_EO.SZ_COMPANY_ID = ((Bill_Sys_BillingCompanyObject)Session["BILLING_COMPANY_OBJECT"]).SZ_COMPANY_ID;
                _DAO_NOTES_BO.SaveActivityNotes(_DAO_NOTES_EO);

                lblMsg.Visible = true;
                lblMsg.Text    = "Appointment Updated successfully.";

                if (Request.QueryString["GRD_ID"] != null)
                {
                    Session["GRD_ID"] = Request.QueryString["GRD_ID"].ToString();
                }
                Page.ClientScript.RegisterStartupScript(this.GetType(), "ss", "<script language='javascript'> window.parent.document.location.href='Bill_SysPatientDesk.aspx';window.self.close(); </script>");
            }
        }
        catch (Exception ex)
        {
            Elmah.ErrorSignal.FromCurrentContext().Raise(ex);
            using (Utils utility = new Utils())
            {
                utility.MethodEnd(id, System.Reflection.MethodBase.GetCurrentMethod());
            }
            string str2 = "Error Request=" + id + ".Please share with Technical support.";
            base.Response.Redirect("Bill_Sys_ErrorPage.aspx?ErrMsg=" + str2);
        }
        //Method End
        using (Utils utility = new Utils())
        {
            utility.MethodEnd(id, System.Reflection.MethodBase.GetCurrentMethod());
        }
    }