private void Page_Load(object sender, System.EventArgs e)
        {
            string sBack;
            bool   bBack = false;

            try
            {
                OrgId = _functions.GetUserOrgId(HttpContext.Current.User.Identity.Name, false);

                if (Request.QueryString["id"] == null)
                {
                    Session["lastpage"] = "wo_default.aspx";
                    Session["error"]    = _functions.ErrorMessage(104);
                    Response.Redirect("error.aspx", false);
                    return;
                }
                try
                {
                    OrderId = Convert.ToInt32(Request.QueryString["id"]);
                }
                catch (FormatException fex)
                {
                    Session["lastpage"] = "wo_default.aspx";
                    Session["error"]    = _functions.ErrorMessage(105);
                    Response.Redirect("error.aspx", false);
                    return;
                }

                if (Request.QueryString["back"] != null)
                {
                    // see whence came user
                    switch (Request.QueryString["back"])
                    {
                    case "view":                             // from the work order detail screen
                        m_sCurrentUrl  = "wo_addPreventiveMaintenance.aspx?id=" + OrderId.ToString() + "&back=view";
                        m_sMainBackUrl = "wo_viewWorkOrder.aspx?id=" + OrderId.ToString();
                        m_sNextUrl     = m_sMainBackUrl;

                        tblMain.Rows[4].Visible = false;
                        tblMain.Rows[5].Visible = true;

                        // getting the Bread Crumbs from Cookie and add last item
                        if (Request.Cookies.Count > 0 && Request.Cookies["bfp_navigate"] != null)
                        {
                            Header.BrdCrumbsSerialization = Request.Cookies["bfp_navigate"].Value;
                        }
                        Header.AddBreadCrumb("Work Order Detail", "/wo_viewWorkOrder.aspx?id=" + OrderId.ToString() + "&#Issues");

                        SaveCancelControl.ParentPageURL = ParentPageURL;
                        SaveCancelControl.ButtonText    = " Save ";

                        bBack = false;
                        break;

                    case "inspect":                             // from the Add Inpection screen
                        m_sCurrentUrl  = "wo_addPreventiveMaintenance.aspx?id=" + OrderId.ToString() + "&back=inspect";
                        m_sMainBackUrl = "wo_addInspections.aspx?id=" + OrderId.ToString();
                        m_sNextUrl     = "wo_addRepairs.aspx?id=" + OrderId.ToString() + "&back=open";

                        bBack = true;
                        break;

                    case "preview":                             // from the Preview screen
                        m_sCurrentUrl  = "wo_addPreventiveMaintenance.aspx?id=" + OrderId.ToString() + "&back=preview";
                        m_sMainBackUrl = "wo_preview.aspx?id=" + OrderId.ToString();
                        m_sNextUrl     = "wo_preview.aspx?id=" + OrderId.ToString();

                        bBack = true;
                        break;

                    default:                             // from the Add Issues screen
                        m_sCurrentUrl  = "wo_addPreventiveMaintenance.aspx?id=" + OrderId.ToString();
                        m_sMainBackUrl = "wo_addRepairs.aspx?id=" + OrderId.ToString() + "&back=open";
                        m_sNextUrl     = "wo_addInspections.aspx?id=" + OrderId.ToString();

                        bBack = true;
                        break;
                    }
                }
                else
                {
                    m_sCurrentUrl  = "wo_addPreventiveMaintenance.aspx?id=" + OrderId.ToString();
                    m_sMainBackUrl = "wo_addRepairs.aspx?id=" + OrderId.ToString() + "&back=open";
                    m_sNextUrl     = "wo_addInspections.aspx?id=" + OrderId.ToString();
                    bBack          = true;
                }
                // if previos screen was from wizard screen then
                if (bBack)
                {
                    tblMain.Rows[4].Visible = true;
                    tblMain.Rows[5].Visible = false;

//					Header.PageTitle = PageTitle;

                    NextBackControl.BackPage = "wo_addRepairs.aspx?id=" + OrderId.ToString() + "&back=open";
                }

                // reloading if coming from the PM Item History screen
                if (Session["reload"] != null)
                {
                    if ((bool)Session["reload"] == true)
                    {
                        Session["reload"] = null;
                        Response.Redirect(m_sCurrentUrl, false);
                        return;
                    }
                }

                if (!IsPostBack)
                {
                    order        = new clsWorkOrders();
                    order.iOrgId = OrgId;
                    order.iId    = OrderId;
                    dtPMServices = order.GetPMServicesListForWorkOrder();
                    if (dtPMServices.Rows.Count > 0)
                    {
                        lblCurrentUnits.Text = "The current units for this Equipment is <b>" +
                                               (order.dmMileage.IsNull?"Unknown":Convert.ToDouble(order.dmMileage.Value).ToString()) +
                                               "</b>, date is <b>" + (order.daReportDate.IsNull?DateTime.Now.ToString("MM/dd/yyyy"):order.daReportDate.Value.ToString("MM/dd/yyyy")) + "</b>";
                        dgPMServices.DataSource = new DataView(dtPMServices);
                        dgPMServices.DataBind();

                        dtFuturePMService = order.GetFuturePMItems();
                        if (dtFuturePMService.Rows.Count > 0)
                        {
                            dgFuturePMItems.DataSource = new DataView(dtFuturePMService);
                            dgFuturePMItems.DataBind();
                        }
                        else
                        {
                            tblMain.Rows[2].Visible = false;
                            tblMain.Rows[3].Visible = false;
                        }
                    }
                    else
                    {
                        Response.Redirect(m_sNextUrl, false);
                    }
                }
            }
            catch (Exception ex)
            {
                _functions.Log(ex, HttpContext.Current.User.Identity.Name, SourcePageName);
                Session["lastpage"]     = m_sMainBackUrl;
                Session["error"]        = ex.Message;
                Session["error_report"] = ex.ToString();
                Response.Redirect("error.aspx", false);
            }
            finally
            {
                if (order != null)
                {
                    order.Dispose();
                }
            }
        }
        private void Page_Load(object sender, System.EventArgs e)
        {
            //try
            //{
            ReportViewerControl.LocalReport.ReportPath = _functions.GetValueFromConfig("SQLRS.DefaultPath") + ".rdlc";
            if (Request["Report"] != null)
            {
                ReportViewerControl.LocalReport.ReportPath = Request["Report"] + ".rdlc";
            }

            ReportViewerControl.LocalReport.EnableExternalImages = true;

            clsWorkOrders wo = new clsWorkOrders();

            if (!string.IsNullOrEmpty(Request["OrgId"]))
            {
                wo.iOrgId = Convert.ToInt32(Request["OrgId"]);
            }

            if (!string.IsNullOrEmpty(Request["OrderId"]))
            {
                wo.iId = Convert.ToInt32(Request["OrderId"]);
            }

            if (!string.IsNullOrEmpty(Request["InspectId"]))
            {
                wo.iInspectionId = Convert.ToInt32(Request["InspectId"]);
            }

            string url = string.Empty;

            if (!string.IsNullOrEmpty(Request["URL"]))
            {
                url = Request["URL"];
            }

            foreach (string dataSource in ReportViewerControl.LocalReport.GetDataSourceNames())
            {
                switch (dataSource)
                {
                case "ReportedIssueList":
                    DataSet ds = wo.GetReportedIssueLists();
                    if (ds != null && ds.Tables.Count > 0)
                    {
                        ReportViewerControl.LocalReport.DataSources.Add(new Microsoft.Reporting.WebForms.ReportDataSource(dataSource, ds.Tables[0]));
                    }
                    break;

                case "PMItemList":
                    ReportViewerControl.LocalReport.DataSources.Add(new Microsoft.Reporting.WebForms.ReportDataSource(dataSource, wo.GetPMServicesListForWorkOrder()));
                    break;

                case "InspectionsList":
                    ReportViewerControl.LocalReport.DataSources.Add(new Microsoft.Reporting.WebForms.ReportDataSource(dataSource, wo.GetInspectionsListForWorkOrder()));
                    break;

                case "WorkOrderDetail":
                    ReportViewerControl.LocalReport.DataSources.Add(new Microsoft.Reporting.WebForms.ReportDataSource(dataSource, wo.GetDetailsForWorkOrder()));
                    break;

                case "CreationNotesList":
                    wo.iNoteTypeId = 1;
                    ReportViewerControl.LocalReport.DataSources.Add(new Microsoft.Reporting.WebForms.ReportDataSource(dataSource, wo.GetNotesList()));
                    break;

                case "OperatorNotesList":
                    wo.iNoteTypeId = 2;
                    ReportViewerControl.LocalReport.DataSources.Add(new Microsoft.Reporting.WebForms.ReportDataSource(dataSource, wo.GetNotesList()));
                    break;

                case "PartsList":
                    ReportViewerControl.LocalReport.DataSources.Add(new Microsoft.Reporting.WebForms.ReportDataSource(dataSource, wo.GetPartsUsedListForReport()));
                    break;

                case "ReportedIssuesList":
                    ReportViewerControl.LocalReport.DataSources.Add(new Microsoft.Reporting.WebForms.ReportDataSource(dataSource, wo.GetReportedIssues()));
                    break;

                case "PMItemsList":
                    ReportViewerControl.LocalReport.DataSources.Add(new Microsoft.Reporting.WebForms.ReportDataSource(dataSource, wo.GetPMItemsList()));
                    break;

                case "RepairsList":
                    ReportViewerControl.LocalReport.DataSources.Add(new Microsoft.Reporting.WebForms.ReportDataSource(dataSource, wo.GetRepairsListForReport()));
                    break;

                case "TechNotesList":
                    wo.iNoteTypeId = 3;
                    ReportViewerControl.LocalReport.DataSources.Add(new Microsoft.Reporting.WebForms.ReportDataSource(dataSource, wo.GetNotesList()));
                    break;

                case "CheckOutNotesList":
                    wo.iNoteTypeId = 4;
                    ReportViewerControl.LocalReport.DataSources.Add(new Microsoft.Reporting.WebForms.ReportDataSource(dataSource, wo.GetNotesList()));
                    break;

                case "CheckInDetails":
                    ReportViewerControl.LocalReport.DataSources.Add(new Microsoft.Reporting.WebForms.ReportDataSource(dataSource, wo.CheckInDetailsForReport(url)));
                    break;

                case "InstructionList":
                    ReportViewerControl.LocalReport.DataSources.Add(new Microsoft.Reporting.WebForms.ReportDataSource(dataSource, wo.GetInstructionByCheckIn()));
                    break;

                case "InspectionDetail":
                    ReportViewerControl.LocalReport.DataSources.Add(new Microsoft.Reporting.WebForms.ReportDataSource(dataSource, wo.GetInspectionDetailForReport()));
                    break;

                case "InspectionItemsList":
                    ReportViewerControl.LocalReport.DataSources.Add(new Microsoft.Reporting.WebForms.ReportDataSource(dataSource, wo.GetInspectionItemsListForReport()));
                    break;

                case "InspectionList":
                    ReportViewerControl.LocalReport.DataSources.Add(new Microsoft.Reporting.WebForms.ReportDataSource(dataSource, wo.GetInspectionListForReport()));
                    break;
                }
            }
        }
        private void dgFuturePMItems_ItemCommand(object source, System.Web.UI.WebControls.DataGridCommandEventArgs e)
        {
            try
            {
                int FutureOrderId;
                if (e.CommandName == "Assign")
                {
                    order           = new clsWorkOrders();
                    order.cAction   = "S";
                    order.iOrgId    = OrgId;
                    order.iPMItemId = Convert.ToInt32(e.Item.Cells[0].Text);
                    // getting the undone repair information
                    if (order.WorkOrderPMItemsDetail() == -1)
                    {
                        Session["lastpage"] = m_sCurrentUrl;
                        Session["error"]    = _functions.ErrorMessage(123);
                        Response.Redirect("error.aspx", false);
                    }
                    FutureOrderId = order.iId.Value;
                    // updating the old undone repair
                    order.cAction          = "U";
                    order.iId              = OrderId;
                    order.iServiceResultId = SqlInt32.Null;
                    order.iServiceCheckId  = SqlInt32.Null;
                    order.iRepairMultId    = SqlInt32.Null;
                    if (order.WorkOrderPMItemsDetail() == -1)
                    {
                        Session["lastpage"] = m_sCurrentUrl;
                        Session["error"]    = _functions.ErrorMessage(123);
                        Response.Redirect("error.aspx", false);
                    }
                    // check future work order
                    // if it is empty then to delete it
                    order.iId = FutureOrderId;
                    if (order.DeleteFutureWorkOrder() == -1)
                    {
                        Session["lastpage"] = m_sCurrentUrl;
                        Session["error"]    = _functions.ErrorMessage(120);
                        Response.Redirect("error.aspx", false);
                    }

                    // show updated PM Items
                    order.iId               = OrderId;
                    dtPMServices            = order.GetPMServicesListForWorkOrder();
                    dgPMServices.DataSource = new DataView(dtPMServices);
                    dgPMServices.DataBind();

                    dtFuturePMService = order.GetFuturePMItems();
                    if (dtFuturePMService.Rows.Count > 0)
                    {
                        dgFuturePMItems.DataSource = new DataView(dtFuturePMService);
                        dgFuturePMItems.DataBind();
                    }
                    else
                    {
                        tblMain.Rows[2].Visible = false;
                        tblMain.Rows[3].Visible = false;
                    }
                }
            }
            catch (Exception ex)
            {
                _functions.Log(ex, HttpContext.Current.User.Identity.Name, SourcePageName);
                Session["lastpage"]     = m_sCurrentUrl;
                Session["error"]        = ex.Message;
                Session["error_report"] = ex.ToString();
                Response.Redirect("error.aspx", false);
            }
            finally
            {
                if (order != null)
                {
                    order.Dispose();
                }
            }
        }
Exemple #4
0
        private void Page_Load(object sender, System.EventArgs e)
        {
            string sTypeName;

            try
            {
                OrgId = _functions.GetUserOrgId(HttpContext.Current.User.Identity.Name, false);

                if (Request.QueryString["id"] == null)
                {
                    Session["lastpage"] = "main.aspx";
                    Session["error"]    = _functions.ErrorMessage(104);
                    Response.Redirect("error.aspx", false);
                    return;
                }
                try
                {
                    OrderId = Convert.ToInt32(Request.QueryString["id"]);
                }
                catch (FormatException fex)
                {
                    Session["lastpage"] = "main.aspx";
                    Session["error"]    = _functions.ErrorMessage(105);
                    Response.Redirect("error.aspx", false);
                    return;
                }
                NextBackControl.BackPage    = "wo_addInspections.aspx?id=" + OrderId.ToString();
                NextBackControl.BackVisible = true;
                NextBackControl.NextText    = "Open/Finish";

                if (!IsPostBack)
                {
                    hlStart.NavigateUrl       = "wo_openWorkOrder.aspx?id=" + OrderId.ToString();
                    hlInspections.NavigateUrl = "wo_addInspections.aspx?id=" + OrderId.ToString();
                    hlIssues.NavigateUrl      = "wo_addRepairs.aspx?id=" + OrderId.ToString() + "&back=open";
                    hlPMItems.NavigateUrl     = "wo_addPreventiveMaintenance.aspx?id=" + OrderId.ToString() + "&back=preview";

                    dtCustomFields = new DataTable();
                    dtCustomFields.Columns.Add("ValueName");
                    dtCustomFields.Columns.Add("Value");

                    order         = new clsWorkOrders();
                    order.cAction = "S";
                    order.iOrgId  = OrgId;
                    order.iId     = OrderId;
                    if (order.WorkOrderDetails() == -1)
                    {
                        Session["lastpage"] = "wo_addInspections.aspx?id=" + OrderId.ToString();
                        Session["error"]    = _functions.ErrorMessage(120);
                        Response.Redirect("error.aspx", false);
                        return;
                    }
                    if (order.iStatusId.Value != (int)WorkOrderStatus.Scheduled ||
                        order.iOperatorStatusId.Value != (int)WorkOrderOperatorStatus.Checked_In)
                    {
                        Signature.sError            = _functions.ErrorMessage(144);
                        NextBackControl.NextEnabled = false;
                    }


                    // showing main info
                    lblWorkOrderN.Text     = order.daCreated.Value.ToString("yyyy-MM-dd") + "-" + order.iWorkOrderNumber.Value.ToString();
                    lblWOType.Text         = order.sType.Value;
                    lblStatus.Text         = order.sStatusId.Value;
                    lblOperatorStatus.Text = order.sOperatorStatus.Value;
                    lblOperator.Text       = order.sOperatorName.Value;
                    lblStaying.Text        = order.bStaying.IsNull?"not defined":(order.bStaying.Value?"Yes":"No");
                    lblSpare.Text          = order.sSpareEquipId.Value;
                    lblTech.Text           = order.sTechName.Value;
                    lblDroppedOffBy.Text   = order.sDropedOffBy.Value;
                    lblArrivalDate.Text    = order.daArrival.IsNull?"":order.daArrival.Value.ToLongDateString();
                    lblScheduledDate.Text  = order.daScheduled.Value.ToLongDateString();

                    hlEquipId.Text        = order.sEquipId.Value;
                    hlEquipId.NavigateUrl = "e_view.aspx?id=" + order.iEquipId.Value.ToString();
                    lblType.Text          = order.sEquipTypeName.Value;
                    lblMakeModel.Text     = order.sEquipMakeModel.Value;
                    lblYear.Text          = (order.sEquipYear.Value == "0")?"unknown":order.sEquipYear.Value;
                    lblUnits.Text         = Convert.ToDouble(order.dmMileage.Value).ToString();

                    // showing issues
                    dsRepairs = order.GetReportedIssueLists();
                    if (dsRepairs.Tables[0].Rows.Count > 0)
                    {
                        html_tblNoneIssues.Visible = false;
                    }
                    else
                    {
                        html_tblNoneIssues.Visible = true;
                    }
                    repIssues.DataSource = new DataView(dsRepairs.Tables[0]);
                    repIssues.DataBind();

                    // showing the pm items
                    dwPMItems           = new DataView(order.GetPMServicesListForWorkOrder());
                    dwPMItems.RowFilter = "IsChecked='True'";
                    if (dwPMItems.Count > 0)
                    {
                        html_tblNonePMItems.Visible = false;
                    }
                    else
                    {
                        html_tblNonePMItems.Visible = true;
                    }
                    repPMItems.DataSource = dwPMItems;
                    repPMItems.DataBind();

                    // showing the inspections
                    dwInspections           = new DataView(order.GetInspectionsListForWorkOrder());
                    dwInspections.RowFilter = "IsChecked='True'";
                    if (dwInspections.Count > 0)
                    {
                        html_tblNoneInspections.Visible = false;
                    }
                    else
                    {
                        html_tblNoneInspections.Visible = true;
                    }
                    repInspections.DataSource = dwInspections;
                    repInspections.DataBind();

                    // showing notes

                    order.iItemId               = OrderId;
                    order.iNoteTypeId           = (int)NoteTypes.CreationNote;
                    repCreationNotes.DataSource = new DataView(order.GetNotesList());
                    repCreationNotes.DataBind();

                    order.iNoteTypeId           = (int)NoteTypes.OperatorNote;
                    repOperatorNotes.DataSource = new DataView(order.GetNotesList());
                    repOperatorNotes.DataBind();

                    #region Showing custom fields of order on screen
                    dtCustomFieldsFromDB = order.WorkOrderDetail_CustomFields(null);

                    if (dtCustomFieldsFromDB.Rows.Count > 0)
                    {
                        arrCFD = _functions.GetCustomFields(CFDataType.WorkOrder, 0, HttpContext.Current.User.Identity.Name);
                        if (arrCFD.Count > 0)
                        {
                            // fill custom fields
                            for (int j = 0; j < arrCFD.Count; j++)
                            {
                                cfd       = (clsCustomFieldsDef)arrCFD[j];
                                sTypeName = _functions.GetFieldTypeText(cfd.FieldTypeId) + cfd.NumberColumn.ToString();

                                switch (cfd.FieldTypeId)
                                {
                                case DBFieldType._lookup:
                                    switch (cfd.NameLookupTable)
                                    {
                                    case "EquipModels":
                                        if (dtCustomFieldsFromDB.Rows[0][sTypeName] == DBNull.Value)
                                        {
                                            dtCustomFields.Rows.Add(new object [] { "Make/Model", "" });
                                        }
                                        else
                                        {
                                            mm          = new clsMakesModels();
                                            mm.iOrgId   = _functions.GetUserOrgId(HttpContext.Current.User.Identity.Name, false);
                                            mm.iModelId = Convert.ToInt32(dtCustomFieldsFromDB.Rows[0][sTypeName]);
                                            mm.GetModelMakes();
                                            dtCustomFields.Rows.Add(new object [] { "Make/Model", mm.sMakeName + "/" + mm.sModelName });
                                            if (mm != null)
                                            {
                                                mm.Dispose();
                                            }
                                        }
                                        break;

                                    case "Departments":
                                        if (dtCustomFieldsFromDB.Rows[0][sTypeName] == DBNull.Value)
                                        {
                                            dtCustomFields.Rows.Add(new object [] { cfd.NameText, "" });
                                        }
                                        else
                                        {
                                            dep         = new clsDepartments();
                                            dep.cAction = "S";
                                            dep.iOrgId  = _functions.GetUserOrgId(HttpContext.Current.User.Identity.Name, false);
                                            dep.iId     = Convert.ToInt32(dtCustomFieldsFromDB.Rows[0][sTypeName]);
                                            if (dep.DepartmentDetail() == 0)
                                            {
                                                dtCustomFields.Rows.Add(new object [] { cfd.NameText, dep.sName.Value });
                                            }
                                            else
                                            {
                                                dtCustomFields.Rows.Add(new object [] { cfd.NameText, "" });
                                            }
                                            if (dep != null)
                                            {
                                                dep.Dispose();
                                            }
                                        }
                                        break;

                                    case "Locations":
                                        if (dtCustomFieldsFromDB.Rows[0][sTypeName] == DBNull.Value)
                                        {
                                            dtCustomFields.Rows.Add(new object [] { cfd.NameText, "" });
                                        }
                                        else
                                        {
                                            loc         = new clsLocations();
                                            loc.cAction = "S";
                                            loc.iOrgId  = _functions.GetUserOrgId(HttpContext.Current.User.Identity.Name, false);
                                            loc.iId     = Convert.ToInt32(dtCustomFieldsFromDB.Rows[0][sTypeName]);
                                            if (loc.LocationDetail() == 0)
                                            {
                                                dtCustomFields.Rows.Add(new object [] { cfd.NameText, loc.sName.Value });
                                            }
                                            else
                                            {
                                                dtCustomFields.Rows.Add(new object [] { cfd.NameText, "" });
                                            }
                                            if (loc != null)
                                            {
                                                loc.Dispose();
                                            }
                                        }
                                        break;

                                    default:
                                        break;
                                    }
                                    break;

                                case DBFieldType._datetime:
                                    if (dtCustomFieldsFromDB.Rows[0][sTypeName] == DBNull.Value)
                                    {
                                        dtCustomFields.Rows.Add(new object [] { cfd.NameText, "" });
                                    }
                                    else
                                    {
                                        dtCustomFields.Rows.Add(new object [] { cfd.NameText, ((DateTime)dtCustomFieldsFromDB.Rows[0][sTypeName]).ToShortDateString() });
                                    }
                                    break;

                                case DBFieldType._bit:
                                    if (dtCustomFieldsFromDB.Rows[0][sTypeName] == DBNull.Value)
                                    {
                                        dtCustomFields.Rows.Add(new object [] { cfd.NameText, "" });
                                    }
                                    else
                                    {
                                        if (((bool)dtCustomFieldsFromDB.Rows[0][sTypeName]) == true)
                                        {
                                            dtCustomFields.Rows.Add(new object [] { cfd.NameText, "Yes" });
                                        }
                                        else
                                        {
                                            dtCustomFields.Rows.Add(new object [] { cfd.NameText, "No" });
                                        }
                                    }
                                    break;

                                default:
                                    if (dtCustomFieldsFromDB.Rows[0][sTypeName] == DBNull.Value)
                                    {
                                        dtCustomFields.Rows.Add(new object [] { cfd.NameText, "" });
                                    }
                                    else
                                    {
                                        dtCustomFields.Rows.Add(new object [] { cfd.NameText, dtCustomFieldsFromDB.Rows[0][sTypeName] });
                                    }
                                    break;
                                }
                                cfd = null;
                            }

                            // showing a Equipment's data from custom fields
                            repCustomFields.DataSource = new DataView(dtCustomFields);
                            repCustomFields.DataBind();
                        }
                    }
                    #endregion
                }
            }
            catch (Exception ex)
            {
                _functions.Log(ex, HttpContext.Current.User.Identity.Name, SourcePageName);
                Session["lastpage"]     = "wo_addInspections.aspx?id=" + OrderId.ToString();
                Session["error"]        = ex.Message;
                Session["error_report"] = ex.ToString();
                Response.Redirect("error.aspx", false);
            }
            finally
            {
                if (order != null)
                {
                    order.Dispose();
                }
            }
        }