/// <summary>
 /// Selecting or creating of the Work Order for 
 /// current Equipment if for current equipment there aren't 
 /// the scheduled work order then it will be created. 
 /// If there are one work order then select him. 
 /// If them more than one then we are selecting the one that has 
 /// the scheduled time by closer to the current moment.
 /// </summary>
 /// <param name="sender"></param>
 /// <param name="e"></param>
 private void btNext_FormSubmit(object sender, EventArgs e)
 {
     try
     {
         order = new clsWorkOrders();
         order.iOrgId = OrgId;
         order.iId = OrderId;
         order.iEquipId = EquipId;
         order.daCurrentDate = DateTime.Now;
         order.dmMileage = Convert.ToDecimal(tbUnits.Text);
         order.iUserId = op.Id;
         order.SelectWorkOrder();
         Response.Redirect("ok_addIssues.aspx?orderid=" + order.iId.Value.ToString() + "&equipid=" + EquipId.ToString(), false);
     }
     catch(Exception ex)
     {
         _functions.Log(ex, HttpContext.Current.User.Identity.Name, SourcePageName);
         Session["lastpage"] = "ok_editCurrentUnits.aspx?orderid=" + OrderId.ToString() + "&equipid=" + EquipId.ToString();
         Session["error"] = ex.Message;
         Session["error_report"] = ex.ToString();
         Response.Redirect("error.aspx", false);
     }
     finally
     {
         if(order != null)
             order.Dispose();
     }
 }
 private void btnNO_Click(object sender, System.EventArgs e)
 {
     try
     {
         order = new clsWorkOrders();
         order.iOrgId = OrgId;
         order.iId = OrderId;
         order.bStaying = false;
         if(order.UpdateStayingWorkOrder() == -1)
         {
             Session["lastpage"] = "ok_editStaying.aspx?orderid=" + OrderId.ToString() + "&equipid=" + EquipId.ToString();
             Session["error"] = _functions.ErrorMessage(120);
             Response.Redirect("error.aspx", false);
         }
         else
             Response.Redirect("ok_editNote.aspx?orderid=" + OrderId.ToString() + "&equipid=" + EquipId.ToString(), false);
     }
     catch(Exception ex)
     {
         _functions.Log(ex, HttpContext.Current.User.Identity.Name, SourcePageName);
         Session["lastpage"] = "ok_editStaying.aspx?orderid=" + OrderId.ToString() + "&equipid=" + EquipId.ToString();
         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
     {
         if(!IsPostBack)
         {
             order = new clsWorkOrders();
             order.iOrgId = _functions.GetUserOrgId(HttpContext.Current.User.Identity.Name, false);
             dgUnsignedWorkOrders.DataSource = new DataView(order.GetWOUnsignedList());
             dgUnsignedWorkOrders.DataBind();
         }
     }
     catch(Exception ex)
     {
         _functions.Log(ex, HttpContext.Current.User.Identity.Name, SourcePageName);
         Session["lastpage"] = "main.aspx";
         Session["error"] = ex.Message;
         Session["error_report"] = ex.ToString();
         Response.Redirect("error.aspx", false);
     }
     finally
     {
         if(order != null)
             order.Dispose();
     }
 }
        private void btnYes_Click(object sender, System.EventArgs e)
        {
            try
            {
                order = new clsWorkOrders();
                order.iOrgId = OrgId;
                order.iId = OrderId;
                order.iUserId = _functions.GetUserOrgId(HttpContext.Current.User.Identity.Name, true);
                order.daCurrentDate = DateTime.Now;

                if(order.DeleteWorkOrder() == -1)
                {
                    Session["lastpage"] = "wo_deleteWorkOrder.aspx?id=" + OrderId.ToString();
                    Session["error"] = _functions.ErrorMessage(120);
                    Response.Redirect("error.aspx", false);
                    return;
                }
                // redirect to the finish screen
                BackFinishScreen finish = new BackFinishScreen();

                finish.sMainText = "The Work Order has been successfully deleted!";

                finish.bMainMenuVisible = true;
                finish.sMainMenuText = "[Return to Main Menu]";
                finish.sMainMenuURL = "main.aspx";

                finish.bContinueVisible = false;

                finish.bViewVisible = false;

                finish.bAdditionalVisible = false;

                finish.bPrintVisible = false;

                Session["BackFinish"] = finish;

                Response.Redirect("wo_finish.aspx", false);
            }
            catch(Exception ex)
            {
                _functions.Log(ex, HttpContext.Current.User.Identity.Name, SourcePageName);
                Session["lastpage"] = "wo_deleteWorkOrder.aspx?id=" + OrderId.ToString();
                Session["error"] = ex.Message;
                Session["error_report"] = ex.ToString();
                Response.Redirect("error.aspx", false);
            }
            finally
            {
                if(order != null)
                    order.Dispose();
            }
        }
 private void btNext_FormSubmit(object sender, EventArgs e)
 {
     try
     {
         DateTime dtCurrentTime = DateTime.Now;
         order = new clsWorkOrders();
         order.iOrgId = OrgId;
         order.iId = OrderId;
         order.iOperatorId = op.Id;
         if(Operation == "AddIssueReOpen")
             order.iReOpenCategoryId = 2; //Forgot to report an issue
         else if(Operation == "AddCommentReOpen")
             order.iReOpenCategoryId = 1; //Issue not resolved
         else
         {
             Header.ErrorMessage = _functions.ErrorMessage(166);
             return;
         }
         order.daCurrentDate = dtCurrentTime;
         if(order.UpdateReOpenWorkOrder() == -1)
         {
             Session["lastpage"] = "ok_reopenWorkOrder.aspx?id=" + OrderId.ToString() + "&op=Issue";
             Session["error"] = _functions.ErrorMessage(120);
             Response.Redirect("error.aspx", false);
             return;
         }
         order.iUserId = op.Id;
         if(order.SigningWorkOrderReOpen() == -1)
         {
             Session["lastpage"] = "ok_reopenWorkOrder.aspx?id=" + OrderId.ToString() + "&op=Issue";
             Session["error"] = _functions.ErrorMessage(120);
             Response.Redirect("error.aspx", false);
             return;
         }
         Response.Redirect("ok_viewReOpen.aspx?id=" + OrderId.ToString(), false);
     }
     catch(Exception ex)
     {
         _functions.Log(ex, HttpContext.Current.User.Identity.Name, SourcePageName);
         Session["lastpage"] = "ok_reopenWorkOrder.aspx?id=" + OrderId.ToString() + "&op=Issue";
         Session["error"] = ex.Message;
         Session["error_report"] = ex.ToString();
         Response.Redirect("error.aspx", false);
     }
     finally
     {
         if(order != null)
             order.Dispose();
     }
 }
Beispiel #6
0
 private void btnFind_Click(object sender, System.EventArgs e)
 {
     int EquipId, OrderId;
     DataView dwOrders;
     try
     {
         equip = new clsEquipment();
         equip.iOrgId = OrgId;
         equip.sEquipId = tbEquipmentId.Text;
         if(equip.SearchEquipId() == 0)
         {
             Header.ErrorMessage = "<span style='FONT-SIZE:12pt;'>The specified equipment could not be located</span>";
             tbEquipmentId.Text = "";
         }
         else
         {
             EquipId = equip.iId.Value;
             order = new clsWorkOrders();
             order.iOrgId = OrgId;
             order.daCurrentDate = DateTime.Now;
             dwOrders = new DataView(order.GetActivityWorkOrder());
             dwOrders.RowFilter = "EquipId = " + EquipId.ToString();
             if(dwOrders.Count > 0)
             {
                 dwOrders.Sort = "StatusColor desc, OperatorStatusName asc";
                 OrderId = Convert.ToInt32(dwOrders[0]["Id"].ToString());
                 Response.Redirect("ok_mainDetails.aspx?id=" + OrderId.ToString() + "&back=mainmenu2", false);
             }
             else
                 Response.Redirect("ok_selectEquipment.aspx?orderid=0&equipid=" + EquipId.ToString() + "&back=mainmenu2", false);
         }
     }
     catch(Exception ex)
     {
         _functions.Log(ex, HttpContext.Current.User.Identity.Name, SourcePageName);
         Session["lastpage"] = "ok_mainMenu2.aspx";
         Session["error"] = ex.Message;
         Session["error_report"] = ex.ToString();
         Response.Redirect("error.aspx", false);
     }
     finally
     {
         if(equip != null)
             equip.Dispose();
         if(order != null)
             order.Dispose();
     }
 }
Beispiel #7
0
        private void btnAddRepair_Click(object sender, System.EventArgs e)
        {
            try
            {
                order = new clsWorkOrders();
                equip = new clsEquipment();
                equip.iId = EquipId;
                equip.iOrgId = OrgId;
                order.cAction = "U";
                order.iOrgId = OrgId;
                order.iEquipId = EquipId;
                order.iReportedIssueId = 0;
                order.iRepairCatId = Convert.ToInt32(ddlCategory.SelectedValue);
                order.sReportDesc = tbDesc.Text;
                order.iId = SqlInt32.Null;
                order.iServiceResultId = SqlInt32.Null;
                order.iServiceCheckId = SqlInt32.Null;
                order.iRepairMultId = SqlInt32.Null;
                if(order.WorkOrderReportedIssuesDetail() == -1)
                {
                    Session["lastpage"] = sCurrentPage;
                    Session["error"] = _functions.ErrorMessage(121);
                    Response.Redirect("error.aspx", false);
                }
                tbDesc.Text = "";
                ddlCategory.SelectedIndex = 0;

                ShowIssues();
            }
            catch(Exception ex)
            {
                _functions.Log(ex, HttpContext.Current.User.Identity.Name, SourcePageName);
                Session["lastpage"] = sCurrentPage;
                Session["error"] = ex.Message;
                Session["error_report"] = ex.ToString();
                Response.Redirect("error.aspx", false);
            }
            finally
            {
                if(equip != null)
                    equip.Dispose();
                if(order != null)
                    order.Dispose();
            }
        }
        private void Page_Load(object sender, System.EventArgs e)
        {
            try
            {
                OrgId = _functions.GetUserOrgId(HttpContext.Current.User.Identity.Name, false);

                Session["PathToViewOrder"] = "Today";

                if(!IsPostBack)
                {
                    order = new clsWorkOrders();
                    order.iOrgId = OrgId;
                    order.daCurrentDate = DateTime.Now;
                    dsWorkOrders = order.GetWOListForToday();

                    dgWorkOrders_Past.DataSource = new DataView(dsWorkOrders.Tables[0]);
                    dgWorkOrders_Past.DataBind();

                    dgWorkOrders_Today.DataSource = new DataView(dsWorkOrders.Tables[1]);
                    dgWorkOrders_Today.DataBind();

                    dgWorkOrders_Tomorrow.DataSource = new DataView(dsWorkOrders.Tables[2]);
                    dgWorkOrders_Tomorrow.DataBind();

                    dgWorkOrders_Future.DataSource = new DataView(dsWorkOrders.Tables[3]);
                    dgWorkOrders_Future.DataBind();
                }
            }
            catch(Exception ex)
            {
                _functions.Log(ex, HttpContext.Current.User.Identity.Name, SourcePageName);
                Session["lastpage"] = "main.aspx";
                Session["error"] = ex.Message;
                Session["error_report"] = ex.ToString();
                Response.Redirect("error.aspx", false);
            }
            finally
            {
                if(order != null)
                    order.Dispose();
            }
        }
        private void btnAddPart_Click(object sender, System.EventArgs e)
        {
            try
            {
                OrderId = (int)ViewState["OrderId"];
                RepairId = (int)ViewState["RepairId"];
                InspectId = (int)ViewState["InspectId"];

                order = new clsWorkOrders();
                order.cAction = "U";
                order.iOrgId = _functions.GetUserOrgId(HttpContext.Current.User.Identity.Name, false);
                order.iPartUsedId = 0;
                order.iRepairId = RepairId;
                order.iPartUsedQty = Convert.ToInt32(tbQty.Text);
                order.sPartUsedStock = tbStock.Text;
                order.sPartUsedDesc = tbDesc.Text;
                if(tbCost.Text.Length > 0)
                    order.dmPartUsedCost = Convert.ToDecimal(tbCost.Text);
                order.PartsUsedDetails();
                tbQty.Text = "";
                tbStock.Text = "";
                tbDesc.Text = "";
                tbCost.Text = "";
                dgParts.DataSource = new DataView(order.GetPartsUsedList());
                dgParts.DataBind();
            }
            catch(Exception ex)
            {
                _functions.Log(ex, HttpContext.Current.User.Identity.Name, SourcePageName);
                Session["lastpage"] = "wo_editPartsUsed.aspx?id=" + OrderId.ToString() + "&repairid=" + RepairId.ToString() + "&inspectid=" + InspectId.ToString();
                Session["error"] = ex.Message;
                Session["error_report"] = ex.ToString();
                Response.Redirect("error.aspx", false);
            }
            finally
            {
                if(order != null)
                    order.Dispose();
            }
        }
 private void btnReport_Click(object sender, System.EventArgs e)
 {
     try
     {
         order = new clsWorkOrders();
         order.iOrgId = OrgId;
         order.sEquipId = tbEquipId.Text;
         order.daMinDate = adtStartDate.Date;
         order.daMaxDate = adtEndDate.Date;
         order.iTypeId = Convert.ToInt32(ddlWOTypes.SelectedValue);
         order.iRepairCatId = Convert.ToInt32(ddlRepairCats.SelectedValue);
         order.iTechId = Convert.ToInt32(ddlTech.SelectedValue);
         order.iOperatorId = Convert.ToInt32(ddlOperators.SelectedValue);
         DataTable dtReport = order.GetEquipWorkOrderReport();
         repWorkOrders.DataSource = new DataView(dtReport);
         repWorkOrders.DataBind();
         double dmTotalCost = 0.0;
         foreach(DataRow _row in dtReport.Rows)
         {
             dmTotalCost += Convert.ToDouble(_row["TotalCost"]);
         }
         lblTotalCost.Text = "$" + dmTotalCost.ToString();
     }
     catch(Exception ex)
     {
         _functions.Log(ex, HttpContext.Current.User.Identity.Name, SourcePageName);
         Session["lastpage"] = "wo_viewEquipWorkOrderReport.aspx";
         Session["error"] = ex.Message;
         Session["error_report"] = ex.ToString();
         Response.Redirect("error.aspx", false);
     }
     finally
     {
         if(order != null)
             order.Dispose();
     }
 }
 private void btnSave_Click(object sender, System.EventArgs e)
 {
     try
     {
         order = new clsWorkOrders();
         order.cAction = "U";
         if(((DateTime)ViewState["Date"]).CompareTo(adtLastTime.Date) <= 0)
         {
             lblError.Text = "The date cannot more then " + ((DateTime)ViewState["Date"]).ToShortDateString();
         }
         else
         {
             order.iInspectHistoryId = HistoryId;
             order.iOrgId = OrgId;
             order.iInspectSchedDetailId = InspectSchedDetailId;
             order.iId = OrderId;
             order.iEquipId = (Int32)ViewState["EquipId"];
             order.daDateHistory = adtLastTime.Date;
             if(order.InspectHistoryDetail() != -1)
             {
                 // closing the current window and reloading the parent window
                 sOnLoad = "window.close();opener.document.formSelectInspect.submit();";
                 Session["reload"] = true;
             }
         }
     }
     catch(Exception ex)
     {
         _functions.Log(ex, HttpContext.Current.User.Identity.Name, SourcePageName);
     }
     finally
     {
         if(order != null)
             order.Dispose();
     }
 }
 /// <summary>
 /// Saving the history for current PM item
 /// </summary>
 /// <param name="sender"></param>
 /// <param name="e"></param>
 private void btnSave_Click(object sender, System.EventArgs e)
 {
     try
     {
         order = new clsWorkOrders();
         order.cAction = "U";
         order.iPMHistoryId = HistoryId;
         order.iOrgId = OrgId;
         order.iSchedDetailId = SchedDetailId;
         order.iId = OrderId;
         order.iEquipId = (Int32)ViewState["EquipId"];
         if(tblMain.Rows[4].Visible == false)
             order.daDateHistory = DateTime.Now;
         else
             order.daDateHistory = adtLastTime.Date;
         if(tblMain.Rows[5].Visible == false)
             order.dmUnitsHistory = (SqlDecimal)0;
         else
             order.dmUnitsHistory = Convert.ToDecimal(tbUnits.Text);
         if(order.PMHistoryDetail() != -1)
         {
             // closing current window and relaod parent window
             sOnLoad = "window.close();opener.document.formAddPMItems.submit();";
             Session["reload"] = true;
         }
     }
     catch(Exception ex)
     {
         _functions.Log(ex, HttpContext.Current.User.Identity.Name, SourcePageName);
     }
     finally
     {
         if(order != null)
             order.Dispose();
     }
 }
Beispiel #13
0
        private void Page_Load(object sender, System.EventArgs e)
        {
            try
            {
                SourcePageName = "wo_viewDates.aspx.cs";

                Header.MainMenuVisible = false;
                Header.Visible = false;

                OrgId = _functions.GetUserOrgId(HttpContext.Current.User.Identity.Name, false);
                OrderId = Convert.ToInt32(Request.QueryString["id"]);

                order = new clsWorkOrders();
                order.cAction = "S";
                order.iOrgId = OrgId;
                order.iId = OrderId;
                if(order.WorkOrderDetails() != -1)
                {
                    lblDateCreated.Text = order.daCreated.Value.ToLongDateString();
                    lblArrivalDate.Text = order.daArrival.IsNull?"":order.daArrival.Value.ToLongDateString();
                    lblDateScheduled.Text = order.daScheduled.IsNull?"":order.daScheduled.Value.ToLongDateString() + " " + order.daScheduled.Value.ToLongTimeString();
                    lblDateOpened.Text = order.daOpened.IsNull?"":order.daOpened.Value.ToLongDateString();
                    lblDateClosed.Text = order.daClosed.IsNull?"":order.daClosed.Value.ToLongDateString();
                    lblDepartureDate.Text = order.daDeparture.IsNull?"":order.daDeparture.Value.ToLongDateString();
                }
            }
            catch(Exception ex)
            {
                _functions.Log(ex, HttpContext.Current.User.Identity.Name, SourcePageName);
            }
            finally
            {
                if(order != null)
                    order.Dispose();
            }
        }
Beispiel #14
0
        private void btNext_FormSubmit(object sender, EventArgs e)
        {
            try
            {

                order = new clsWorkOrders();
                order.iOrgId = OrgId;
                order.iId = OrderId;
                CheckOutEquipment();
            }
            catch(Exception ex)
            {
                _functions.Log(ex, HttpContext.Current.User.Identity.Name, SourcePageName);
                Session["lastpage"] = "ok_viewNotes.aspx?id=" + OrderId.ToString();
                Session["error"] = ex.Message;
                Session["error_report"] = ex.ToString();
                Response.Redirect("error.aspx", false);
            }
            finally
            {
                if(order != null)
                    order.Dispose();
            }
        }
 /// <summary>
 /// the common procedure of saving for all associations in the Add mode in database
 /// </summary>
 private void SaveAssociations()
 {
     try
     {
         order = new clsWorkOrders();
         order.iOrgId = OrgId;
         order.iId = OrderId;
         order.sTypeService = sType;
         order.iItemId = ItemId;
         if (ServiceResult == "Repair")
             order.iServiceResultId = (int)ServiceResults._Repaired;
         else
             order.iServiceResultId = (int)ServiceResults._Replaced;
         foreach (RepeaterItem item in repRepairs.Items)
         {
             order.iRepairId = Convert.ToInt32(((LinkButton)item.FindControl("lbEditRepair")).CommandArgument);
             order.bChecked = ((CheckBox)item.FindControl("cbRepair")).Checked;
             order.SetAssociationsRepair();
         }
     }
     catch (Exception ex)
     {
         throw new Exception(ex.Message, ex);
     }
     finally
     {
         if (order != null)
             order.Dispose();
     }
 }
Beispiel #16
0
        private void Page_Load(object sender, System.EventArgs e)
        {
            try
            {
                OrgId = _functions.GetUserOrgId(HttpContext.Current.User.Identity.Name, false);

                if(Request.QueryString["id"] == null)
                {
                    Session["lastpage"] = "ok_mainMenu.aspx";
                    Session["error"] = _functions.ErrorMessage(104);
                    Response.Redirect("error.aspx", false);
                    return;
                }
                try
                {
                    OrderId = Convert.ToInt32(Request.QueryString["id"]);
                }
                catch(FormatException fex)
                {
                    Session["lastpage"] = "ok_mainMenu.aspx";
                    Session["error"] = _functions.ErrorMessage(105);
                    Response.Redirect("error.aspx", false);
                    return;
                }
                NextBackControl.BackText = "<< Back";
                NextBackControl.BackPage = "ok_reopenWorkOrder.aspx?id=" + OrderId.ToString() + "&op=Issue";
                NextBackControl.NextText = "  Finish  ";
                NextBackControl.sCSSClass = "ok_input_button";

                op = new OperatorInfo(Request.Cookies["bfp_operator"].Value);

                if(!IsPostBack)
                {
                    lblFirstName.Text = op.FirstName;
                    order = new clsWorkOrders();
                    order.iOrgId = OrgId;
                    order.iId = OrderId;
                    if(order.GetEquipInfo() != -1)
                    {
                        lblEquipId.Text = order.sEquipId.Value;
                        lblEquipType.Text = order.sEquipTypeName.Value;

                        dtInstructions = order.GetInstructionByReOpen();
                        repInstructions.DataSource = new DataView(dtInstructions);
                        repInstructions.DataBind();
                    }
                    else
                    {
                        Session["lastpage"] = "ok_reopenWorkOrder.aspx?id=" + OrderId.ToString() + "&op=Issue";
                        Session["error"] = _functions.ErrorMessage(102);
                        Response.Redirect("error.aspx", false);
                        return;
                    }
                }
            }
            catch(Exception ex)
            {
                _functions.Log(ex, HttpContext.Current.User.Identity.Name, SourcePageName);
                Session["lastpage"] = "ok_reopenWorkOrder.aspx?id=" + OrderId.ToString() + "&op=Issue";
                Session["error"] = ex.Message;
                Session["error_report"] = ex.ToString();
                Response.Redirect("error.aspx", false);
            }
            finally
            {
                if(order != null)
                    order.Dispose();
            }
        }
        private void btnAddTimeLog_Click(object sender, System.EventArgs e)
        {
            try
            {
                double Hours = 0.0;
                DateTime daStartTime, daStopTime;
                TimeSpan tsDiff = new TimeSpan(0);
                daStopTime = rdiStopTime.SelectedDate;
                daStartTime = rdiStartTime.SelectedDate;

                if(tbHours.Text.Length > 0 || tbMinutes.Text.Length > 0)
                {
                    if(tbHours.Text.Length > 0) Hours += Convert.ToDouble(tbHours.Text);
                    if(tbMinutes.Text.Length > 0) Hours += Convert.ToDouble(tbMinutes.Text)/60;
                }
                else
                {
                    // get hours from the difference betweent the Stop and Start time entries
                    if(daStopTime <= daStartTime)
                    {
                        Header.ErrorMessage = _functions.ErrorMessage(204);
                        return;
                    }
                    else
                    {
                        tsDiff = daStopTime - daStartTime;
                        Hours = tsDiff.TotalHours;
                    }
                }
                if(Hours >= 1000)
                {
                    Header.ErrorMessage = _functions.ErrorMessage(203);
                    return;
                }
                order = new clsWorkOrders();
                order.cAction = "U";
                order.iTimeLogId = 0;
                order.iOrgId = OrgId;
                order.iId = OrderId;
                order.iRepairId = Convert.ToInt32(ddlRepairs.SelectedValue);
                order.iTechId = Convert.ToInt32(ddlTechnicians.SelectedValue);
                if(tsDiff.Ticks != 0)
                {
                    order.daStartTime = daStartTime;
                    order.daStopTime = daStopTime;
                }
                else
                {
                    order.daStartTime = SqlDateTime.Null;
                    order.daStopTime = SqlDateTime.Null;
                }
                order.dmHours = Convert.ToDecimal(Hours);
                if(ViewState["HourlyRate"] == null)
                    order.dmHourlyRate = Convert.ToDecimal(tbHourlyRate.Text);
                else
                    order.dmHourlyRate = Convert.ToDecimal(ViewState["HourlyRate"]);
                order.sNote = tbNote.Text;
                order.TimeLogDetails();
                //order.Dispose();
                //order = new clsWorkOrders();
                //order.iOrgId = OrgId;
                tbHourlyRate.Text = "";
                tbHours.Text = "";
                tbMinutes.Text = "";
                tbNote.Text = "";
                rdiStartTime.SelectedDate = dtNow;
                rdiStopTime.SelectedDate = dtNow;
                Response.Redirect("wo_updateTimeLog.aspx?id=" + OrderId.ToString() + "&repairid=" + RepairId.ToString(), false);
            }
            catch(FormatException fex)
            {
                Header.ErrorMessage = _functions.ErrorMessage(108);
            }
            catch(Exception ex)
            {
                _functions.Log(ex, HttpContext.Current.User.Identity.Name, SourcePageName);
                Session["lastpage"] = "wo_updateTimeLog.aspx?id=" + OrderId.ToString();
                Session["error"] = ex.Message;
                Session["error_report"] = ex.ToString();
                Response.Redirect("error.aspx", false);
            }
            finally
            {
                if(order != null)
                    order.Dispose();
            }
        }
 private void repTimeLog_ItemCommand(object source, System.Web.UI.WebControls.RepeaterCommandEventArgs e)
 {
     try
     {
         if(e.CommandName == "Delete")
         {
             order = new clsWorkOrders();
             order.cAction = "D";
             order.iOrgId = OrgId;
             order.iTimeLogId = Convert.ToInt32(e.CommandArgument);
             order.TimeLogDetails();
             order.iId = OrderId;
             order.iTechId = 0;
             dtTimeLog = order.GetTimeLogList();
             if(dtTimeLog.Rows.Count > 0)
             {
                 repTimeLog.DataSource = new DataView(dtTimeLog);
                 repTimeLog.DataBind();
                 html_tblNoneTimeLog.Visible = false;
                 lblTotalHours.Text = order.sReportDesc.Value;
                 lblTotalCosts.Text = order.sDecs.Value;
             }
             else
             {
                 repTimeLog.Visible = false;
                 html_tblNoneTimeLog.Visible = true;
                 html_trTotalHours.Visible = false;
                 html_trTotalCosts.Visible = false;
             }
         }
     }
     catch(Exception ex)
     {
         _functions.Log(ex, HttpContext.Current.User.Identity.Name, SourcePageName);
         Session["lastpage"] = "wo_updateTimeLog.aspx?id=" + OrderId.ToString();
         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
            {
                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"]);
                    OrgId = _functions.GetUserOrgId(HttpContext.Current.User.Identity.Name, false);
                }
                catch(FormatException fex)
                {
                    Session["lastpage"] = "wo_default.aspx";
                    Session["error"] = _functions.ErrorMessage(105);
                    Response.Redirect("error.aspx", false);
                    return;
                }
                if(Request.QueryString["repairid"] != null)
                    RepairId = Convert.ToInt32(Request.QueryString["repairid"]);
                else
                    RepairId = 0;

                html_btnBack.Attributes.Add("onclick", "document.location='wo_viewWorkOrder.aspx?id=" + OrderId.ToString() + "&#TimeLog';");
                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());
                dtNow = DateTime.Now;
                if(!IsPostBack)
                {
                    rdiStartTime.SelectedDate = dtNow;
                    rdiStopTime.SelectedDate = dtNow;
                    order = new clsWorkOrders();
                    user = new clsUsers();
                    order.cAction = "S";
                    order.iOrgId = OrgId;
                    order.iId = OrderId;
                    user.iOrgId = OrgId;
                    user.iOrderId = OrderId;
                    user.iTypeId = (int)UserTypes.Technician;

                    DataTable dtTechList = user.GetUserListByType();
                    dtTechList.Rows[0].Delete();
                    ddlTechnicians.DataSource = new DataView(dtTechList);
                    ddlTechnicians.DataBind();

                    DataTable dtRepairList = order.GetRepairsShortList();
                    dtRepairList.Rows[0].Delete();
                    ddlRepairs.DataSource = new DataView(dtRepairList);
                    ddlRepairs.DataBind();

                    if(order.WorkOrderDetails() == -1)
                    {
                        Session["lastpage"] = this.ParentPageURL;
                        Session["error"] = _functions.ErrorMessage(120);
                        Response.Redirect("error.aspx", false);
                        return;
                    }

                    if(!user.IsTechnician(_functions.GetUserOrgId(HttpContext.Current.User.Identity.Name, true)))
                    {
                        Session["lastpage"] = this.ParentPageURL;
                        Session["error"] = _functions.ErrorMessage(131);
                        Response.Redirect("error.aspx", false);
                        return;
                    }
                    lblWorkOrderId.Text = order.daCreated.Value.ToString("yyyy-MM-dd") + "-" + order.iWorkOrderNumber.Value.ToString();
                    lblEquipId.Text = order.sEquipId.Value;
                    lblOperator.Text = order.sOperatorName.Value;
                    lblTech.Text = order.sTechName.Value;
                    if(user.GetTechnicianInfo() != -1)
                    {
                        tbHourlyRate.Text = user.dmHourlyRate.Value.ToString("F");
                        if(!user.bTechCanViewHourlyRate.Value)
                        {
                            ViewState["HourlyRate"] = user.dmHourlyRate.Value;
                            html_tblMain.Rows[12].Visible = false;
                            html_trTotalCosts.Visible = false;
                        }
                        else
                        {
                            ViewState["HourlyRate"] = null;
                            html_tblMain.Rows[12].Visible = true;
                            html_trTotalCosts.Visible = true;
                        }
                    }
                    else
                    {
                        html_trTotalCosts.Visible = true;
                        html_tblMain.Rows[12].Visible = true;
                        tbHourlyRate.Text = "0.0";
                        ViewState["HourlyRate"] = null;
                    }
                    if(ddlTechnicians.Items.FindByValue(order.iTechId.Value.ToString()) != null)
                    {
                        ddlTechnicians.SelectedValue = order.iTechId.Value.ToString();
                    }
                    else
                    {
                        ddlTechnicians.SelectedIndex = 0;
                    }
                    if(ddlRepairs.Items.FindByValue(RepairId.ToString()) != null)
                    {
                        ddlRepairs.SelectedValue = RepairId.ToString();
                    }
                    else
                    {
                        ddlRepairs.SelectedIndex = 0;
                    }
                    order.iTechId = 0;
                    dtTimeLog = order.GetTimeLogList();
                    if(dtTimeLog.Rows.Count > 0)
                    {
                        repTimeLog.DataSource = new DataView(dtTimeLog);
                        repTimeLog.DataBind();
                        html_tblNoneTimeLog.Visible = false;
                        lblTotalHours.Text = order.sReportDesc.Value;
                        lblTotalCosts.Text = order.sDecs.Value;
                    }
                    else
                    {
                        html_tblNoneTimeLog.Visible = true;
                        repTimeLog.Visible = false;
                        html_trTotalHours.Visible = false;
                        html_trTotalCosts.Visible = false;
                    }
                }
            }
            catch(Exception ex)
            {
                _functions.Log(ex, HttpContext.Current.User.Identity.Name, SourcePageName);
                Session["lastpage"] = this.ParentPageURL;
                Session["error"] = ex.Message;
                Session["error_report"] = ex.ToString();
                Response.Redirect("error.aspx", false);
            }
            finally
            {
                if(user != null)
                    user.Dispose();
                if(order != null)
                    order.Dispose();
            }
        }
        /// <summary>
        /// Procedure close the work order detail
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void btSave_FormSubmit(object sender, EventArgs e)
        {
            DateTime daCurrentDate;
            try
            {
                daCurrentDate = DateTime.Now;
                order = new clsWorkOrders();
                order.iOrgId = OrgId;
                order.iId = OrderId;
                order.sInitials = Signature.sInitials;
                order.sPIN = Signature.sPIN;
                order.sReleasedTo = tbReleasedTo.Text;
                order.daCurrentDate = _functions.CorrectDate(adtCheckOut.Date);
                // signing the Check-Out of Equipment by Technician
                if(order.SigningEquipmentCheckOut() == -1)
                {
                    Signature.sError = _functions.ErrorMessage(140);
                }
                else
                {
                    equip = new clsEquipment();
                    equip.iOrgId = OrgId;
                    equip.iUserId = order.iUserId;
                    equip.iOrderId = OrderId;
                    equip.iId = System.Data.SqlTypes.SqlInt32.Null;
                    equip.sNote = "";
                    equip.EquipSpareTo(false);

                    // redirect to the finish screen
                    BackFinishScreen finish = new BackFinishScreen();

                    finish.sMainText = "The Equipment has been checked-out successfully!";

                    finish.bMainMenuVisible = true;
                    finish.sMainMenuText = "[Return to Main Menu]";
                    finish.sMainMenuURL = "main.aspx";

                    finish.bContinueVisible = false;

                    finish.bViewVisible = true;
                    finish.sViewText = "[Return to Work Order Detail]";
                    finish.sViewURL = "wo_viewWorkOrder.aspx?id=" + OrderId.ToString();

                    finish.bAdditionalVisible = false;

                    finish.bPrintVisible = false;

                    Session["BackFinish"] = finish;

                    Response.Redirect("wo_finish.aspx", false);
                }
            }
            catch(Exception ex)
            {
                _functions.Log(ex, HttpContext.Current.User.Identity.Name, SourcePageName);
                Session["lastpage"] = "wo_viewCheckOut.aspx?id=" + OrderId.ToString();
                Session["error"] = ex.Message;
                Session["error_report"] = ex.ToString();
                Response.Redirect("error.aspx", false);
            }
            finally
            {
                if(equip != null)
                    equip.Dispose();
                if(order != null)
                    order.Dispose();
            }
        }
        private void Page_Load(object sender, System.EventArgs e)
        {
            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;
                }

                // 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());

                SaveCancelControl.ParentPageURL = ParentPageURL;
                SaveCancelControl.IsCancel = true;
                SaveCancelControl.CausesValidation = true;
                SaveCancelControl.ButtonText = "  Check-Out/Sign  ";

                if(!IsPostBack)
                {
                    order = new clsWorkOrders();
                    order.cAction = "S";
                    order.iOrgId = OrgId;
                    order.iId = OrderId;

                    if(order.WorkOrderDetails() == -1)
                    {
                        Session["lastpage"] = "wo_viewWorkOrder.aspx?id=" + OrderId.ToString();;
                        Session["error"] = _functions.ErrorMessage(120);
                        Response.Redirect("error.aspx", false);
                        return;
                    }

                    if(order.iStatusId.Value != (int)WorkOrderStatus.Closed)
                    {
                        Signature.sError = _functions.ErrorMessage(138);
                        Signature.Enabled = false;
                        tbReleasedTo.Enabled = false;
                        SaveCancelControl.EnableSave = false;
                    }
                    lblWorkOrderId.Text = order.daCreated.Value.ToString("yyyy-MM-dd") + "-" + order.iWorkOrderNumber.Value.ToString();
                    lblEquipId.Text = order.sEquipId.Value;
                    lblSpareEquipId.Text = order.sSpareEquipId.Value;
                    lblTech.Text = order.sTechName.Value;
                    lblOperator.Text = order.sOperatorName.Value;
                    lblDroppedOffBy.Text = order.sDropedOffBy.Value;
                    tbReleasedTo.Text = order.sReleasedTo.Value;
                    lblCleanliness.Text = order.sCleanliness.Value;
                    lblScheduledDate.Text = order.daScheduled.IsNull?"":order.daScheduled.Value.ToLongDateString();
                    if(order.daDeparture.IsNull)
                        adtCheckOut.Date = DateTime.Now;
                    else
                        adtCheckOut.Date = order.daDeparture.Value;

                    order.iItemId = OrderId;
                    order.iNoteTypeId = (int)NoteTypes.CheckOutNote;

                    repCheckOutNotes.DataSource = new DataView(order.GetNotesList());
                    repCheckOutNotes.DataBind();
                }
            }
            catch(Exception ex)
            {
                _functions.Log(ex, HttpContext.Current.User.Identity.Name, SourcePageName);
                Session["lastpage"] = "wo_viewWorkOrder.aspx?id=" + OrderId.ToString();
                Session["error"] = ex.Message;
                Session["error_report"] = ex.ToString();
                Response.Redirect("error.aspx", false);
            }
            finally
            {
                if(order != null)
                    order.Dispose();
            }
        }
        /// <summary>
        /// The common procedure what will save filled Repair 
        // and his used parts both Add mode and Edit mode.
        /// </summary>
        private void UpdateRepair(bool newRepair)
        {
            double Hours = 0.0;
            try
            {
                //				if(tbNotes.Text.Length > 0)
                //				{
                if (tbMinutes.Text.Length > 0 && Convert.ToDouble(tbMinutes.Text) >= 60)
                {
                    Header.ErrorMessage = _functions.ErrorMessage(206);
                    return;
                }
                if (tbHours.Text.Length > 0 || tbMinutes.Text.Length > 0)
                {
                    if (tbHours.Text.Length > 0) Hours += Convert.ToDouble(tbHours.Text);
                    if (tbMinutes.Text.Length > 0) Hours += Convert.ToDouble(tbMinutes.Text) / 60;
                }
                if (Hours >= 1000)
                {
                    Header.ErrorMessage = _functions.ErrorMessage(203);
                    return;
                }
                order = new clsWorkOrders();
                order.iOrgId = OrgId;
                order.iId = OrderId;
                order.sTypeService = sType;
                order.iItemId = ItemId;
                if (ServiceResult == "Repair")
                    order.iServiceResultId = (int)ServiceResults._Repaired;
                else
                    order.iServiceResultId = (int)ServiceResults._Replaced;
                if (Mode) // Add mode
                {
                    order.iRepairId = 0;
                }
                else // Edit mode
                    order.iRepairId = RepairId;

                if (RepairId == 0 && newRepair)
                {
                    order.iRepairId = preRepairId;
                    order.iInsert = true;
                }

                order.sRepairDesc = tbNotes.Text;
                order.iRepairItemId = Convert.ToInt32(ddlRepairItems.SelectedValue);
                order.iRepairCatId = Convert.ToInt32(ddlRepairCats.SelectedValue);
                if (order.UpdateRepair() == -1)
                {
                    Session["lastpage"] = sCurrentPage;
                    Session["error"] = _functions.ErrorMessage(128);
                    Response.Redirect("error.aspx", false);
                    return;
                }
                RepairId = order.iRepairId.Value;
                // saving the parts for entered repair
                dtParts = (DataTable)ViewState["PartsUsed"];
                foreach (DataRow item in dtParts.Rows)
                {
                    if ((int)item["IsNew"] == 1)
                    {
                        order.cAction = "U";
                        order.iPartUsedId = 0;
                        order.iPartUsedQty = (int)item["Qty"];
                        order.sPartUsedStock = (string)item["Stock"];
                        order.sPartUsedDesc = (string)item["Desc"];
                        order.dmPartUsedCost = (decimal)item["Cost"];
                        order.PartsUsedDetails();
                    }
                    if ((int)item["IsDeleted"] == 1)
                    {
                        order.cAction = "D";
                        order.iPartUsedId = (int)item["Id"];
                        if (order.PartsUsedDetails() == -1)
                        {
                            Session["lastpage"] = sCurrentPage;
                            Session["error"] = _functions.ErrorMessage(125);
                            Response.Redirect("error.aspx", false);
                            return;
                        }
                    }
                }
                if (Mode && html_chNewRepair.Checked && sType == "II")
                {
                    order.iInspectItemId = ItemId;
                    foreach (RepeaterItem item in repReportedIssues.Items)
                    {
                        CheckBox cbTmp = (CheckBox)item.FindControl("cbIssue");
                        if (cbTmp.Checked && cbTmp.Enabled)
                        {
                            order.iReportedIssueId = Convert.ToInt32(cbTmp.Attributes["CommandArgument"]);
                            order.SetAssociationsIssue();
                        }
                    }
                }
                if (Hours > 0.0)
                {
                    user = new clsUsers();
                    user.iOrgId = OrgId;
                    user.iOrderId = OrderId;
                    if (user.GetTechnicianInfo() != -1)
                    {
                        order.cAction = "U";
                        order.iTimeLogId = 0;
                        order.iTechId = user.iId;
                        order.daStartTime = SqlDateTime.Null;
                        order.daStopTime = SqlDateTime.Null;
                        order.dmHours = Convert.ToDecimal(Hours);
                        order.dmHourlyRate = user.dmHourlyRate;
                        order.sNote = tbNotes.Text;
                        order.TimeLogDetails();
                    }
                }
                //				}
                //				else
                //					lblRequestor.Visible = true;
            }
            catch (FormatException fex)
            {
                Header.ErrorMessage = _functions.ErrorMessage(205);
            }
            catch (Exception ex)
            {
                throw new Exception(ex.Message, ex);
            }
            finally
            {
                if (user != null)
                    user.Dispose();
                if (order != null)
                    order.Dispose();
            }
        }
Beispiel #23
0
        private void btSave_FormSubmit(object sender, EventArgs e)
        {
            DateTime daCurrentDate;
            try
            {
                daCurrentDate = DateTime.Now;
                order = new clsWorkOrders();
                order.iOrgId = OrgId;
                order.iId = OrderId;
                order.sInitials = Signature.sInitials;
                order.sPIN = Signature.sPIN;
                order.dmMileage = Convert.ToDecimal(tbMileage.Text);
                order.bStaying = Convert.ToBoolean(rblStaying.SelectedValue);
                order.sDropedOffBy = tbDroppedOffBy.Text;
                order.daCurrentDate = _functions.CorrectDate(adtCheckIn.Date);
                if(order.SigningEquipmentCheckIn() == -1)
                {
                    Signature.sError = _functions.ErrorMessage(140);
                }
                else
                {
                    order.cAction = "U";
                    order.iNoteId = 0;
                    order.iItemId = OrderId;
                    order.daCreated = daCurrentDate;

                    if(tbNotes.Text.Length > 0)
                    {
                        order.iNoteTypeId = (int)NoteTypes.OperatorNote;
                        order.sNote = tbNotes.Text;
                        order.NoteDetails();
                    }

                    // redirect to the finish screen
                    BackFinishScreen finish = new BackFinishScreen();

                    finish.sMainText = "The Equipment has been checked-in successfully!";

                    finish.bMainMenuVisible = true;
                    finish.sMainMenuText = "[Return to Main Menu]";
                    finish.sMainMenuURL = "main.aspx";

                    finish.bContinueVisible = true;
                    finish.sContinueText = "[Continue to Open Work Order]";
                    finish.sContinueURL = "wo_openWorkOrder.aspx?id=" + OrderId.ToString();

                    finish.bViewVisible = true;
                    finish.sViewText = "[Return to Work Order Detail]";
                    finish.sViewURL = "wo_viewWorkOrder.aspx?id=" + OrderId.ToString();

                    finish.bAdditionalVisible = false;

                    finish.bPrintVisible = false;

                    Session["BackFinish"] = finish;

                    Response.Redirect("wo_finish.aspx", false);
                }
            }
            catch(Exception ex)
            {
                _functions.Log(ex, HttpContext.Current.User.Identity.Name, SourcePageName);
                Session["lastpage"] = "wo_viewCheckIn.aspx?id=" + OrderId.ToString();
                Session["error"] = ex.Message;
                Session["error_report"] = ex.ToString();
                Response.Redirect("error.aspx", false);
            }
            finally
            {
                if(order != null)
                    order.Dispose();
            }
        }
 private void btNext_FormSubmit(object sender, EventArgs e)
 {
     DateTime daCurrentDate;
     try
     {
         UserId = Convert.ToInt32(ddlTech.SelectedValue);
         daCurrentDate = DateTime.Now;
         order = new clsWorkOrders();
         order.iOrgId = OrgId;
         order.iEquipId = EquipId;
         order.daCurrentDate = daCurrentDate;
         order.iUserId = _functions.GetUserOrgId(HttpContext.Current.User.Identity.Name, true);
         order.iId = OrderId;
         order.iTechId = UserId;
         order.SetRoadsideWorkOrder();
         OrderId = order.iId.Value;
         Response.Redirect("wo_selectSpareEquip.aspx?select=AddRoadside&id=" + OrderId.ToString() + "&equipid=" + EquipId.ToString(), false);
     }
     catch(Exception ex)
     {
         _functions.Log(ex, HttpContext.Current.User.Identity.Name, SourcePageName);
         Session["lastpage"] = "wo_selectOperator.aspx?equipid=" + EquipId.ToString() + "&orderid=" + OrderId.ToString();
         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
            {
                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;
                }

                // 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() + "&#Main");

                SaveCancelControl.ParentPageURL = this.ParentPageURL;

                if(!IsPostBack)
                {
                    order = new clsWorkOrders();
                    user = new clsUsers();
                    order.cAction = "S";
                    order.iOrgId = OrgId;
                    order.iId = OrderId;
                    user.iOrgId = OrgId;
                    user.iTypeId = (int)UserTypes.Technician;

                    rblWOTypes.DataSource = order.GetTypesList();
                    rblWOTypes.DataBind();

                    ddlTech.DataSource = new DataView(user.GetUserListByType());
                    ddlTech.DataBind();

                    if(order.WorkOrderDetails() == -1)
                    {
                        Session["lastpage"] = "wo_viewWorkOrder.aspx?id=" + OrderId.ToString();
                        Session["error"] = _functions.ErrorMessage(120);
                        Response.Redirect("error.aspx", false);
                        return;
                    }

                    status = (WorkOrderStatus)order.iStatusId.Value;
                    opstatus = order.iOperatorStatusId.IsNull?WorkOrderOperatorStatus.Null:(WorkOrderOperatorStatus)order.iOperatorStatusId.Value;

                    ViewState["StatusId"] = status;

                    lblWorkOrderId.Text = order.daCreated.Value.ToString("yyyy-MM-dd") + "-" + order.iWorkOrderNumber.Value.ToString();
                    rblWOTypes.SelectedValue = order.iTypeId.Value.ToString();
                    hlEquipId.Text = order.sEquipId.Value;
                    hlEquipId.NavigateUrl = "e_view.aspx?id=" + order.iEquipId.Value.ToString();
                    hlSpareEquipId.Text = order.sSpareEquipId.Value;
                    hlChangeSpare.NavigateUrl = "wo_selectSpareEquip.aspx?id=" + OrderId.ToString() + "&back=edit";
                    if(order.iSpareEquipId.Value > 0)
                        hlSpareEquipId.NavigateUrl = "e_view.aspx?id=" + order.iSpareEquipId.Value.ToString();
                    if(order.iTechId.Value != 0)
                    {
                        ddlTech.Items.Remove(ddlTech.Items[0]);
                        if(ddlTech.Items.FindByValue(order.iTechId.Value.ToString()) != null)
                            ddlTech.SelectedValue = order.iTechId.Value.ToString();
                        else
                            Header.ErrorMessage = "Cannot find the assigned technician in the technician list";
                    }
                    lblOperator.Text = order.sOperatorName.Value;

                    if(order.bStaying.Value)
                        rblStaying.SelectedValue = "True";
                    else
                        rblStaying.SelectedValue = "False";
                    tbDroppedOffBy.Text = order.sDropedOffBy.Value;
                    tbReleasedTo.Text = order.sReleasedTo.Value;
                    tbCleanliness.Text = order.sCleanliness.Value;
                    adtScheduled.Date = order.daScheduled.Value;
                    lblCreatedDate.Text = order.daCreated.Value.ToLongDateString();
                    switch(status)
                    {
                        case WorkOrderStatus.Scheduled: // Scheduled status
                            hlChangeSpare.Enabled = false;
                            ddlTech.Enabled = false;
                            rblStaying.Enabled = false;
                            tbDroppedOffBy.Enabled = false;
                            tbCleanliness.Enabled = false;
                            tbReleasedTo.Enabled = false;
                            adtScheduled.Enabled = true;
                            html_ScheduledDate.Visible = true;
                            SaveCancelControl.EnableSave = true;
                            if(opstatus == WorkOrderOperatorStatus.Checked_In)
                            {
                                hlChangeSpare.Enabled = true;
                                trCheckInDate.Visible = true;
                                adtCheckIn.Date = order.daArrival.Value;
                            }
                            else
                                trCheckInDate.Visible = false;
                            trCheckOutDate.Visible = false;
                            trClosedDate.Visible = false;
                            trOpenedDate.Visible = false;
                            break;
                        case WorkOrderStatus.Open: // Opened status
                            ViewState["ScheduledDate"] = order.daScheduled.Value;
                            adtScheduled.Enabled = false;
                            html_ScheduledDate.Visible = false;
                            SaveCancelControl.EnableSave = true;
                            trCheckInDate.Visible = true;
                            adtCheckIn.Date = order.daArrival.Value;
                            trOpenedDate.Visible = true;
                            adtOpened.Date = order.daOpened.Value;
                            trCheckOutDate.Visible = false;
                            trClosedDate.Visible = false;
                            break;
                        case WorkOrderStatus.ReOpened: // Opened status
                            ViewState["ScheduledDate"] = order.daScheduled.Value;
                            adtScheduled.Enabled = false;
                            html_ScheduledDate.Visible = false;
                            SaveCancelControl.EnableSave = true;
                            trCheckInDate.Visible = true;
                            adtCheckIn.Date = order.daArrival.Value;
                            trOpenedDate.Visible = true;
                            adtOpened.Date = order.daOpened.Value;
                            trCheckOutDate.Visible = false;
                            trClosedDate.Visible = false;
                            break;
                        case WorkOrderStatus.Closed: // Closed Status
                            ViewState["ScheduledDate"] = order.daScheduled.Value;
                            hlChangeSpare.Enabled = false;
                            ddlTech.Enabled = false;
                            rblStaying.Enabled = false;
                            tbDroppedOffBy.Enabled = true;
                            adtScheduled.Enabled = false;
                            html_ScheduledDate.Visible = false;
                            tbCleanliness.Enabled = true;
                            tbReleasedTo.Enabled = true;
                            SaveCancelControl.EnableSave = true;
                            trCheckInDate.Visible = true;
                            adtCheckIn.Date = order.daArrival.Value;
                            trOpenedDate.Visible = true;
                            adtOpened.Date = order.daOpened.Value;
                            trClosedDate.Visible = true;
                            adtClosed.Date = order.daClosed.Value;
                            if(opstatus  == WorkOrderOperatorStatus.Checked_Out)
                            {
                                trCheckOutDate.Visible = true;
                                adtCheckOut.Date = order.daDeparture.Value;
                            }
                            else
                                trCheckOutDate.Visible = false;
                            break;

                    }
                    if(order.iOperatorId.Value == 6)
                        hlChangeSpare.Enabled = false;

                    ShowCustomFields();

                }
            }
            catch(Exception ex)
            {
                _functions.Log(ex, HttpContext.Current.User.Identity.Name, SourcePageName);
                Session["lastpage"] = this.ParentPageURL;
                Session["error"] = ex.Message;
                Session["error_report"] = ex.ToString();
                Response.Redirect("error.aspx", false);
            }
            finally
            {
                if(user != null)
                    user.Dispose();
                if(order != null)
                    order.Dispose();
            }
        }
        private void Page_Load(object sender, System.EventArgs e)
        {
            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
                {
                    EquipId = Convert.ToInt32(Request.QueryString["id"]);
                }
                catch(FormatException fex)
                {
                    Session["lastpage"] = "main.aspx";
                    Session["error"] = _functions.ErrorMessage(105);
                    Response.Redirect("error.aspx", false);
                    return;
                }

                hlNewOrder.NavigateUrl = "wo_editAddInfo.aspx?id=0&equipid=" + EquipId.ToString();

                if(!IsPostBack)
                {
                    order = new clsWorkOrders();
                    order.iOrgId = OrgId;
                    order.iEquipId = EquipId;
                    dtOrders = order.GetWOListFromEquip();
                    if(dtOrders.Rows.Count > 0)
                    {
                        dgMainList.DataSource = new DataView(dtOrders);
                        dgMainList.DataBind();
                    }
                    else
                    {
                        Response.Redirect("wo_editAddInfo.aspx?id=0&equipid=" + EquipId.ToString(), false);
                    }
                }
            }
            catch(Exception ex)
            {
                _functions.Log(ex, HttpContext.Current.User.Identity.Name, SourcePageName);
                Session["lastpage"] = "wo_existingWorkOrders.aspx?id=" + EquipId.ToString();
                Session["error"] = ex.Message;
                Session["error_report"] = ex.ToString();
                Response.Redirect("error.aspx", false);
            }
            finally
            {
                if(order != null)
                    order.Dispose();
            }
        }
        private void EquipmentDetails()
        {
            try
            {
                if(OrderId != 0)
                {
                    order = new clsWorkOrders();
                    order.cAction = "S";
                    order.iOrgId = OrgId;
                    order.iId = OrderId;

                    if(order.WorkOrderDetails() == -1)
                    {
                        Session["lastpage"] = "wo_default.aspx?select=AddRoadside";
                        Session["error"] = _functions.ErrorMessage(120);
                        Response.Redirect("error.aspx", false);
                        return;
                    }
                    if(ddlTech.Items.FindByValue(order.iTechId.Value.ToString()) != null)
                        ddlTech.SelectedValue = order.iTechId.Value.ToString();
                    EquipId = order.iEquipId.Value;
                }

                equip = new clsEquipment();
                equip.iOrgId = OrgId;
                equip.iId = EquipId;
                equip.cAction = "S";
                if(equip.EquipmentDetail() == -1)
                {
                    Session["lastpage"] = "wo_default.aspx?select=AddRoadside";
                    Session["error"] = _functions.ErrorMessage(102);
                    Response.Redirect("error.aspx", false);
                    return;
                }
                lblOperator.Text = equip.sEquipOperator.Value;
                lblTempOperator.Text = equip.sTempOperator.Value;
                lblEquipId.Text = equip.sEquipId.Value;
                lblEquipType.Text = equip.sType.Value;
                lblMakeModel.Text = equip.sMakeModelName.Value;
                lblYear.Text = equip.iYear.Value.ToString();
                lblSerial.Text = equip.sVinSerial.Value;
                lblEquipId2.Text = equip.sEquipId.Value;
                lblEquipType2.Text = equip.sType.Value;

            }
            catch(Exception ex)
            {
                throw new Exception(ex.Message, ex);
            }
            finally
            {
                if(order != null)
                    order.Dispose();
                if(equip != null)
                    equip.Dispose();
            }
        }
        private void Page_Load(object sender, System.EventArgs e)
        {
            try
            {
                OrgId = _functions.GetUserOrgId(HttpContext.Current.User.Identity.Name, false);
                if (Request.QueryString["repairid"] != null && !string.IsNullOrEmpty(Request.QueryString["repairid"]))
                    RepairId = Convert.ToInt32(Request.QueryString["repairid"]);
                if (Request.QueryString["mode"] == null || Request.QueryString["id"] == null || Request.QueryString["repairid"] == null)
                {
                    Session["lastpage"] = "main.aspx";
                    Session["error"] = _functions.ErrorMessage(104);
                    Response.Redirect("error.aspx", false);
                    return;
                }
                try
                {
                    if (Request.QueryString["mode"] == "Add")
                        Mode = true;
                    else
                        Mode = false;
                    OrderId = Convert.ToInt32(Request.QueryString["id"]);

                    if (Request.QueryString["inspectid"] != null)
                        InspectId = Convert.ToInt32(Request.QueryString["inspectid"]);
                    else
                        InspectId = 0;
                    if (Request.QueryString["itemid"] != null)
                        ItemId = Convert.ToInt32(Request.QueryString["itemid"]);
                    else
                        ItemId = 0;
                    if (Request.QueryString["type"] != null)
                        sType = Request.QueryString["type"]; //RI, PMI, II, FREE
                    else
                        sType = "";
                    if (Request.QueryString["op"] != null)
                        ServiceResult = Request.QueryString["op"]; //Repair, Replace
                    else
                        ServiceResult = "";
                    sCurrentPage = "wo_updateRepair.aspx?mode=" + (Mode ? "Add" : "Edit") + "&id=" + OrderId.ToString() + "&repairid=" + RepairId.ToString() + "&inspectid=" + InspectId.ToString() + "&itemid=" + ItemId.ToString() + "&type=" + sType + "&op=" + ServiceResult;
                }
                catch (FormatException fex)
                {
                    Session["lastpage"] = "main.aspx";
                    Session["error"] = _functions.ErrorMessage(105);
                    Response.Redirect("error.aspx", false);
                    return;
                }
                // 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() + "&#Repairs");

                if (sType == "II") // if came from Inspetion screen
                {
                    Header.AddBreadCrumb("Inspection Detail", "/wo_viewCompleteInspection.aspx?id=" + OrderId.ToString() + "&inspectid=" + InspectId.ToString());
                    sLastPage = "wo_viewCompleteInspection.aspx?id=" + OrderId.ToString() + "&inspectid=" + InspectId.ToString();
                }
                else
                    sLastPage = "wo_viewWorkOrder.aspx?id=" + OrderId.ToString() + "&#Repairs";

                if (Mode)
                    this.PageTitle = "Update Repair";
                else if (sType == "FREE")
                    this.PageTitle = "Add Repair";
                else
                    this.PageTitle = "Edit Repair";
                Header.AddJavaScriptFile("/wo_updateRepair.js");
                Header.BodyOnloadScript = "javascript:CheckEditMode();";

                SaveCancelControl.CausesValidation = false;
                SaveCancelControl.ButtonText = " Save & Back ";
                SaveCancelControl.IsCancel = false;

                ddlRepairCats.Attributes.Add("onchange", "javascript:ValidRepairItems();");
                ddlRepairItems.Attributes.Add("onchange", "javascript:ValidRepairItems();");

                clsWorkOrders orders = new clsWorkOrders();
                string key = orders.GetIntegrationKey(this.OrgId);

                clsUsers user = new clsUsers();
                user.cAction = "S";
                user.iOrgId = OrgId;
                user.iId = _functions.GetUserOrgId(Context.User.Identity.Name, true);
                user.UserDetails();

                if (RepairId == 0)
                {
                    preRepairId = orders.GetRepairPreId();
                    preRepairId++;
                }

                if (string.IsNullOrEmpty(key))
                    WarehousePanel.Visible = false;
                else
                {
                    string url = String.Format(_functions.GetValueFromConfig("WarehouseListnerPage") + "?action=create&key={0}&app=fleet&roid={1}&riid={2}&rufn={3}&ruln={4}&rue={5}&ron={6}&rofn={7}&shipto={8}&shiploc={9}", key, RepairId > 0 ? RepairId.ToString() : preRepairId.ToString(), string.Empty, user.sFirstName.Value, user.sLastName.Value, user.sEmail.Value, "Work Order", OrderId.ToString(), user.sFirstName.Value + " " + user.sLastName.Value, string.Empty);
                    string windowOpenScript = "function openWindow() { window.open('" + url + "','Warehouse','height=600,width=900,toolbar=0,status=1,location=0,menubar=0,scrollbars=1,resizable=1'); }";

                    if (!Page.ClientScript.IsClientScriptBlockRegistered("openWindow"))
                        Page.ClientScript.RegisterClientScriptBlock(this.GetType(), "openWindow", windowOpenScript, true);
                }

                if (!IsPostBack)
                {
                    order = new clsWorkOrders();
                    order.cAction = "S";
                    order.iOrgId = OrgId;
                    order.iId = OrderId;
                    order.iRepairId = RepairId;

                    dsRepairItemsCats = order.GetRepairItemsAndCats();

                    dsRepairItemsCats.Relations.Add(new DataRelation("Cats_Items", dsRepairItemsCats.Tables["Table"].Columns["Id"], dsRepairItemsCats.Tables["Table1"].Columns["CatId"]));

                    ddlRepairCats.DataSource = dsRepairItemsCats;
                    ddlRepairCats.DataBind();

                    ddlRepairItems.DataSource = dsRepairItemsCats;
                    ddlRepairItems.DataBind();

                    ListLink.DataBind();

                    if (Mode) // Add Mode
                    {
                        order.sTypeService = sType;
                        order.iItemId = ItemId;

                        if (sType == "II")
                        {
                            lblTableTitle.Text = "Please check the following to update any reported issues associated with this Inspection item";
                            DataTable dtReportedIssues = order.GetReportedIssuesListUpdate();
                            if (dtReportedIssues.Rows.Count > 0)
                            {
                                repReportedIssues.DataSource = new DataView(dtReportedIssues);
                                repReportedIssues.DataBind();
                            }
                            else
                            {
                                lblTableTitle.Text = "Serviced Repairs";
                                repReportedIssues.Visible = false;
                            }
                        }
                        else
                        {
                            lblTableTitle.Text = "Serviced Repairs";
                            repReportedIssues.Visible = false;
                        }

                        // showing all repaires with associations
                        repRepairs.DataSource = new DataView(order.GetRepairsListUpdate());
                        repRepairs.DataBind();

                        order.GetIssueInfo();

                        lblSourceType.Text = order.sTypeService.Value;
                        lblRepairCategory.Text = order.sRepairCatName.Value;
                        lblIssue.Text = order.sServiceName.Value;
                    }
                    else // Edit Mode
                    {
                        // hidding the controls for Edit mode
                        tblSource.Visible = false;
                        lblTableTitle.Text = "Repair";
                        repRepairs.Visible = false;
                        html_chNewRepair.Visible = false;
                        lblTableFooter.Visible = false;
                        RepairLogsLinksPanel.Visible = false;

                        // getting repair's info
                        order.RepairCommonDetails();
                        ddlRepairCats.SelectedValue = order.iRepairCatId.Value.ToString();
                        ddlRepairItems.SelectedValue = order.iRepairItemId.Value.ToString();
                        tbNotes.Text = order.sRepairDesc.Value;
                    }
                    dtParts = order.GetPartsUsedList();
                    ViewState["PartsUsed"] = dtParts;
                    dwParts = new DataView(dtParts);
                    dwParts.RowFilter = "IsDeleted=0";
                    repParts.DataSource = dwParts;
                    repParts.DataBind();
                }
            }
            catch (Exception ex)
            {
                _functions.Log(ex, HttpContext.Current.User.Identity.Name, SourcePageName);
                Session["lastpage"] = sLastPage;
                Session["error"] = ex.Message;
                Session["error_report"] = ex.ToString();
                Response.Redirect("error.aspx", false);
            }
            finally
            {
                if (order != null)
                    order.Dispose();
            }
        }
        /// <summary>
        /// Procedure is updating the work order info
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void btSave_FormSubmit(object sender, EventArgs e)
        {
            string sDataGridName;
            DBFieldType FieldType;
            DateTime daCurrentDate, daScheduled;
            try
            {
                #region saving the static data
                daCurrentDate = DateTime.Now;
                status = (WorkOrderStatus)ViewState["StatusId"];
                order = new clsWorkOrders();
                order.cAction = "U";
                order.bWizardUpdate = false;
                order.iOrgId = OrgId;
                order.iId = OrderId;
                order.iTypeId = Convert.ToInt32(rblWOTypes.SelectedValue);
                order.iTechId = Convert.ToInt32(ddlTech.SelectedValue);
                order.bStaying = Convert.ToBoolean(rblStaying.SelectedValue);
                order.sDropedOffBy = tbDroppedOffBy.Text;
                order.sReleasedTo = tbReleasedTo.Text;
                order.sCleanliness = tbCleanliness.Text;
                order.iUserId = _functions.GetUserOrgId(HttpContext.Current.User.Identity.Name, true);

                if(ViewState["ScheduledDate"] == null)
                {
                    order.daScheduled = _functions.CorrectDate(adtScheduled.Date);
                }
                else
                    order.daScheduled = (DateTime)ViewState["ScheduledDate"];
                if(trCheckInDate.Visible)
                    order.daArrival = _functions.CorrectDate(adtCheckIn.Date);
                if(trOpenedDate.Visible)
                    order.daOpened = _functions.CorrectDate(adtOpened.Date);
                if(trClosedDate.Visible)
                    order.daClosed = _functions.CorrectDate(adtClosed.Date);
                if(trCheckOutDate.Visible)
                    order.daDeparture = _functions.CorrectDate(adtCheckOut.Date);
                order.daUpdated = daCurrentDate;
                if(order.WorkOrderDetails() == -1)
                {
                    Session["lastpage"] = "wo_editWorkOrder.aspx?id=" + OrderId.ToString();
                    Session["error"] = _functions.ErrorMessage(120);
                    Response.Redirect("error.aspx", false);
                    return;
                }
                #endregion

                if(status == WorkOrderStatus.Open || status == WorkOrderStatus.ReOpened)
                {
                    #region saving cutom fields
                    if(ViewState["CustomFields"] != null)
                    {
                        order.iId = OrderId;
                        dtCustomFields = (DataTable)ViewState["CustomFields"];

                        sDataGridName = repCustomFields.ClientID;

                        // getting data from Form and changing the dtCustomFields datatable
                        for(int i=0; i<dtCustomFields.Rows.Count; i++)
                        {
                            for(int j=0; j<Request.Form.Count; j++)
                            {
                                if((string)dtCustomFields.Rows[i]["TypeName"] == Request.Form[sDataGridName + ":_ctl" + j.ToString() + ":inputTypeName"])
                                {
                                    FieldType = _functions.TypeNameParser((string)dtCustomFields.Rows[i]["TypeName"]); // nvarchar1...n, ...
                                    switch(FieldType)
                                    {
                                        case DBFieldType._nvarchar:
                                            dtCustomFields.Rows[i]["Value_String"] = Request.Form[sDataGridName + ":_ctl" + j.ToString() + ":tbValue"];
                                            break;
                                        case DBFieldType._int:
                                            dtCustomFields.Rows[i]["Value_String"] = Request.Form[sDataGridName + ":_ctl" + j.ToString() + ":tbValue"];
                                            break;
                                        case DBFieldType._float:
                                            dtCustomFields.Rows[i]["Value_String"] = Request.Form[sDataGridName + ":_ctl" + j.ToString() + ":tbValue"];
                                            break;
                                        case DBFieldType._datetime:
                                            dtCustomFields.Rows[i]["Value_String"] = new SqlDateTime(Convert.ToInt32(Request.Form[sDataGridName + ":_ctl" + j.ToString() + ":adtValue_year"]),
                                                Convert.ToInt32(Request.Form[sDataGridName + ":_ctl" + j.ToString() + ":adtValue_month"]),
                                                Convert.ToInt32(Request.Form[sDataGridName + ":_ctl" + j.ToString() + ":adtValue_day"]));
                                            break;
                                        case DBFieldType._bit:
                                            if(Request.Form[sDataGridName + ":_ctl" + j.ToString() + ":chValue"] != null)
                                            {
                                                dtCustomFields.Rows[i]["Value_String"] = "True";
                                            }
                                            else
                                            {
                                                dtCustomFields.Rows[i]["Value_String"] = "False";
                                            }
                                            break;
                                        case DBFieldType._ntext:
                                            dtCustomFields.Rows[i]["Value_String"] = Request.Form[sDataGridName + ":_ctl" + j.ToString() + ":tbValue"];
                                            break;
                                        case DBFieldType._sql_variant:
                                            dtCustomFields.Rows[i]["Value_String"] = Request.Form[sDataGridName + ":_ctl" + j.ToString() + ":tbValue"];
                                            break;
                                        case DBFieldType._lookup:
                                            dtCustomFields.Rows[i]["Value_String"] = Request.Form[sDataGridName + ":_ctl" + j.ToString() + ":ddlValue"];
                                            break;
                                        default:
                                            dtCustomFields.Rows[i]["Value_String"] = Request.Form[sDataGridName + ":_ctl" + j.ToString() + ":tbValue"];
                                            break;
                                    }
                                }
                            }
                        }
                        // saving data to database
                        order.WorkOrderDetail_CustomFields(_functions.SetDataToParameters(dtCustomFields));
                    }
                    #endregion
                }
                Response.Redirect("wo_viewWorkOrder.aspx?id=" + OrderId.ToString() + "&#Main", false);
            }
            catch(FormatException fex)
            {
                Session["lastpage"] = "wo_editWorkOrder.aspx?id=" + OrderId.ToString();
                Session["error"] = _functions.ErrorMessage(108);
                Response.Redirect("error.aspx", false);
            }
            catch(Exception ex)
            {
                _functions.Log(ex, HttpContext.Current.User.Identity.Name, SourcePageName);
                Session["lastpage"] = "wo_editWorkOrder.aspx?id=" + OrderId.ToString();
                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
            {
                if(Request.QueryString["orderid"] == null)
                {
                    Session["lastpage"] = "ok_mainMenu.aspx";
                    Session["error"] = _functions.ErrorMessage(104);
                    Response.Redirect("error.aspx", false);
                    return;
                }
                try
                {
                    EquipId = Convert.ToInt32(Request.QueryString["equipid"]);
                    OrderId = Convert.ToInt32(Request.QueryString["orderid"]);
                    sBackPage = Request.QueryString["back"];
                }
                catch(FormatException fex)
                {
                    Session["lastpage"] = "ok_mainMenu.aspx";
                    Session["error"] = _functions.ErrorMessage(105);
                    Response.Redirect("error.aspx", false);
                    return;
                }

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

                sBackURL = "ok_mainMenu.aspx";
                if(sBackPage == "maindetails")
                    sBackURL = "ok_mainDetails.aspx?id=" + OrderId.ToString();
                if(sBackPage == "mainmenu2")
                    sBackURL = "ok_mainMenu2.aspx";
                btnBack.Attributes.Add("onclick","javascript:document.location='" + sBackURL + "'");

                if(!IsPostBack)
                {
                    OperatorInfo op = new OperatorInfo(Request.Cookies["bfp_operator"].Value);
                    lblFirstName1.Text = lblFirstName2.Text = lblFirstName3.Text = op.FirstName;
                    equip = new clsEquipment();
                    equip.iOrgId = OrgId;
                    equip.iUserId = op.Id;
                    dtEquipments = equip.GetEquipListByOperator();
                    if(dtEquipments.Rows.Count < 1)
                    {
                        // none equipments mode
                        pnlFindEquipment.Visible = true;
                    }
                    else if (dtEquipments.Rows.Count == 1)
                    {
                        // one equipment mode
                        pnlOneEquipment.Visible = true;
                        lblEquipId.Text = dtEquipments.Rows[0]["EquipId"].ToString();
                        lblEquipType.Text = dtEquipments.Rows[0]["TypeName"].ToString();
                        lblMakeModel.Text = dtEquipments.Rows[0]["MakeName"].ToString() + "/" + dtEquipments.Rows[0]["ModelName"].ToString();
                        lblYear.Text = dtEquipments.Rows[0]["Year"].ToString();
                        ViewState["SelectedEqiupId"] = dtEquipments.Rows[0]["Id"].ToString();
                    }
                    else if(dtEquipments.Rows.Count > 1)
                    {
                        // manu equipments mode
                        pnlManyEquipment.Visible = true;
                        repEquipments.DataSource = new DataView(dtEquipments);
                        repEquipments.DataBind();
                    }
                    if(OrderId != 0)
                    {
                        pnlFindEquipment.Visible = false;
                        pnlManyEquipment.Visible = false;
                        pnlOneEquipment.Visible = true;
                        order = new clsWorkOrders();
                        order.iOrgId = OrgId;
                        order.iId = OrderId;
                        if(order.GetEquipInfo() == -1)
                        {
                            Session["lastpage"] = sBackURL;
                            Session["error"] = _functions.ErrorMessage(120);
                            Response.Redirect("error.aspx", false);
                        }
                        else
                        {
                            lblEquipId.Text = order.sEquipId.Value;
                            lblEquipType.Text = order.sEquipTypeName.Value;
                            lblMakeModel.Text = order.sEquipMakeModel.Value;
                            lblYear.Text = order.sEquipYear.Value;
                            ViewState["SelectedEqiupId"] = order.iEquipId.Value.ToString();
                        }
                    }
                    else
                    {
                        if(EquipId != 0)
                        {
                            pnlFindEquipment.Visible = false;
                            pnlManyEquipment.Visible = false;
                            pnlOneEquipment.Visible = true;
                            equip.iId = EquipId;
                            if(equip.GetEquipInfo() == -1)
                            {
                                Session["lastpage"] = sBackURL;
                                Session["error"] = _functions.ErrorMessage(102);
                                Response.Redirect("error.aspx", false);
                            }
                            else
                            {
                                lblEquipId.Text = equip.sEquipId.Value;
                                lblEquipType.Text = equip.sType.Value;
                                lblMakeModel.Text = equip.sMakeModelName.Value;
                                lblYear.Text = equip.iYear.Value.ToString();
                                ViewState["SelectedEqiupId"] = EquipId.ToString();
                            }
                        }
                    }
                }
            }
            catch(Exception ex)
            {
                _functions.Log(ex, HttpContext.Current.User.Identity.Name, SourcePageName);
                Session["lastpage"] = sBackURL;
                Session["error"] = ex.Message;
                Session["error_report"] = ex.ToString();
                Response.Redirect("error.aspx", false);
            }
            finally
            {
                if(order != null)
                    order.Dispose();
                if(equip != null)
                    equip.Dispose();
            }
        }