Exemple #1
0
 private void btnSendReport_Click(object sender, System.EventArgs e)
 {
     string sText, sEmail, sSubj;
     clsUsers user = null;
     try
     {
         user = new clsUsers();
         user.cAction = "S";
         user.iId = _functions.GetUserOrgId(HttpContext.Current.User.Identity.Name, true);
         user.iOrgId = _functions.GetUserOrgId(HttpContext.Current.User.Identity.Name, false);
         user.UserDetails();
         sText = "The Error Report from " + user.sFirstName.Value + " " + user.sLastName.Value + " [" + user.sEmail.Value + "] at " + DateTime.Now.ToUniversalTime()  + " GMT <br>";
         sText += "Error Description:<br>";
         sText += "-------------------------------------------------------------<br>";
         sText += ViewState["error_report"].ToString();
         sSubj = "The Error Report from FleetPro Application";
         sEmail = _functions.GetValueFromConfig("Report.DevEmail");
         _functions.SendEmail(sEmail, sSubj, sText);
         Response.Redirect(btnSendReport.CommandArgument, false);
     }
     catch(Exception ex)
     {
         _functions.Log(ex, HttpContext.Current.User.Identity.Name, "error.aspx.cs");
     }
     finally
     {
         if(user != null)
         {
             user.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"] = "admin_users.aspx";
                    Session["error"] = _functions.ErrorMessage(104);
                    Response.Redirect("error.aspx", false);
                    return;
                }
                try
                {
                    UserId = Convert.ToInt32(Request.QueryString["id"]);
                }
                catch(FormatException fex)
                {
                    Session["lastpage"] = "admin_users.aspx";
                    Session["error"] = _functions.ErrorMessage(105);
                    Response.Redirect("error.aspx", false);
                    return;
                }

                Header.AddBreadCrumb("Home", "/selectMode.aspx");
                Header.AddBreadCrumb("Administration", "/admin.aspx");
                Header.AddBreadCrumb("User Search", "/admin_users.aspx");
                Header.AddBreadCrumb("User Detail", "/admin_user_detail.aspx?id=" + UserId.ToString());
                Header.AddBreadCrumb("User Detail Edit", "/admin_user_detail_edit.aspx?id=" + UserId.ToString());

                this.PageTitle = "User Detail Activate";
                Header.LeftBarHtml = "User Activating/Deactivating";

                SaveCancelControl.ParentPageURL= this.ParentPageURL;

                if(!IsPostBack)
                {
                    user = new clsUsers();
                    user.cAction = "S";
                    user.iOrgId = OrgId;
                    user.iId = UserId;

                    if(user.UserDetails() == -1)
                    {
                        Session["lastpage"] = "admin_user_detail.aspx?id=" + UserId.ToString();
                        Session["error"] = _functions.ErrorMessage(134);
                        Response.Redirect("error.aspx", false);
                        return;
                    }
                    lblFirstName.Text = user.sFirstName.Value;
                    lblLastName.Text = user.sLastName.Value;
                    lblEmail.Text = user.sEmail.Value;
                    lblType.Text = user.sTypeName.Value;
                    lblCreatedDate.Text = user.daCreated.Value.ToLongDateString() + " " + user.daCreated.Value.ToLongTimeString();
                    if(user.bActiveStatus.Value)
                    {
                        ViewState["Active"] = false;
                        lblUserActivateStatus.Text = "Activated";
                        SaveCancelControl.ButtonText = "Deactivate";
                        user.iTypeId = (int)UserTypes.Operator;
                        dtOperators = user.GetUserListByType();
                        ViewState["Operators"] = dtOperators;
                        user.iTypeId = (int)UserTypes.Technician;
                        dtTechnicians = user.GetUserListByType();
                        ViewState["Technicians"] = dtTechnicians;
                        equip = new clsEquipment();
                        equip.iOrgId = OrgId;
                        equip.iUserId = UserId;
                        DataTable dtEquipOrders = equip.GetEquipListByOperatorActivate();
                        if(dtEquipOrders.Rows.Count > 0)
                        {
                            repOperatorEquipments.DataSource = new DataView(dtEquipOrders);
                            repOperatorEquipments.DataBind();
                        }
                        else
                        {
                            tblMain.Rows[8].Visible = false;
                            tblMain.Rows[9].Visible = false;
                            tblMain.Rows[10].Visible = false;
                        }
                        DataTable dtTechOrders = equip.GetOrderListByTechnicianActivate();
                        if(dtTechOrders.Rows.Count > 0)
                        {
                            repWorkOrders.DataSource = new DataView(dtTechOrders);
                            repWorkOrders.DataBind();
                        }
                        else
                        {
                            tblMain.Rows[11].Visible = false;
                            tblMain.Rows[12].Visible = false;
                            tblMain.Rows[13].Visible = false;
                        }
                    }
                    else
                    {
                        ViewState["Active"] = true;
                        lblUserActivateStatus.Text = "Deactivated";
                        SaveCancelControl.ButtonText = "Activate";
                        tblMain.Rows[8].Visible = false;
                        tblMain.Rows[9].Visible = false;
                        tblMain.Rows[10].Visible = false;
                        tblMain.Rows[11].Visible = false;
                        tblMain.Rows[12].Visible = false;
                        tblMain.Rows[13].Visible = false;
                    }
                }
            }
            catch(Exception ex)
            {
                _functions.Log(ex, HttpContext.Current.User.Identity.Name, SourcePageName);
                Session["lastpage"] = "admin_user_detail_edit.aspx?id=" + UserId.ToString();
                Session["error"] = ex.Message;
                Session["error_report"] = ex.ToString();
                Response.Redirect("error.aspx", false);
            }
            finally
            {
                if(user != null)
                    user.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();
            }
        }
        private void Page_Load(object sender, System.EventArgs e)
        {
            string sBackPage;
            try
            {
                OrgId = _functions.GetUserOrgId(HttpContext.Current.User.Identity.Name, false);

                if(Request.QueryString["id"] == null)
                {
                    Session["lastpage"] = "admin_users.aspx";
                    Session["error"] = _functions.ErrorMessage(104);
                    Response.Redirect("error.aspx", false);
                    return;
                }
                try
                {
                    UserId = Convert.ToInt32(Request.QueryString["id"]);
                }
                catch(FormatException fex)
                {
                    Session["lastpage"] = "admin_users.aspx";
                    Session["error"] = _functions.ErrorMessage(105);
                    Response.Redirect("error.aspx", false);
                    return;
                }
                lblBack.Text = "<input type=button value=\" Back \" onclick=\"document.location='admin_users.aspx'\">";
                if(!IsPostBack)
                {
                    hlUserEdit.NavigateUrl = "admin_user_detail_edit.aspx?id=" + UserId.ToString();
                    user = new clsUsers();
                    user.cAction = "S";
                    user.iOrgId = OrgId;
                    user.iId = UserId;
                    if(user.UserDetails() == -1)
                    {
                        Session["lastpage"] = "admin_user_detail.aspx?id=" + UserId.ToString();
                        Session["error"] = _functions.ErrorMessage(134);
                        Response.Redirect("error.aspx", false);
                        return;
                    }
                    lblFirstName.Text = user.sFirstName.Value;
                    lblLastName.Text = user.sLastName.Value;
                    lblType.Text = user.sTypeName.Value;
                    lblEmail.Text = user.sEmail.Value;
                    lblHourlyRate.Text = user.dmHourlyRate.Value.ToString("C");
                    lblCreatedDate.Text = user.daCreated.Value.ToLongDateString() + " " + user.daCreated.Value.ToLongTimeString();
                    if(user.bActiveStatus.Value)
                    {
                        lblUserActivateStatus.Text = "Activated";
                    }
                    else
                    {
                        lblUserActivateStatus.Text = "Deactivated";
                    }
                    dgGroups.DataSource = new DataView(user.GetUserGroupsList());
                    dgGroups.DataBind();
                    equip = new clsEquipment();
                    equip.iOrgId = OrgId;
                    equip.iUserId = UserId;
                    dgEquipments.DataSource = new DataView(equip.GetEquipListByUser());
                    dgEquipments.DataBind();
                }

            }
            catch(Exception ex)
            {
                _functions.Log(ex, HttpContext.Current.User.Identity.Name, SourcePageName);
                Session["lastpage"] = "admin_users.aspx";
                Session["error"] = ex.Message;
                Session["error_report"] = ex.ToString();
                Response.Redirect("error.aspx", false);
            }
            finally
            {
                if(equip != null)
                    equip.Dispose();
                if(user != null)
                    user.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"] = "admin_users.aspx";
                    Session["error"] = _functions.ErrorMessage(104);
                    Response.Redirect("error.aspx", false);
                    return;
                }
                try
                {
                    UserId = Convert.ToInt32(Request.QueryString["id"]);
                }
                catch(FormatException fex)
                {
                    Session["lastpage"] = "admin_users.aspx";
                    Session["error"] = _functions.ErrorMessage(105);
                    Response.Redirect("error.aspx", false);
                    return;
                }

                if(UserId == 0)
                {
                    Header.AddBreadCrumb("Home", "/selectMode.aspx");
                    Header.AddBreadCrumb("Administration", "/admin.aspx");
                    Header.AddBreadCrumb("User Search", "/admin_users.aspx");

                    this.PageTitle = "Add a New User";
                }
                else
                {
                    Header.AddBreadCrumb("Home", "/selectMode.aspx");
                    Header.AddBreadCrumb("Administration", "/admin.aspx");
                    Header.AddBreadCrumb("User Search", "/admin_users.aspx");
                    Header.AddBreadCrumb("User Detail", "/admin_user_detail.aspx?id=" + UserId.ToString());

                    this.PageTitle = "User Detail Edit";
                }
                Header.LeftBarHtml = "View User Detail";
                Header.AddJavaScriptFile("/admin_user_detail_edit.js");
                SaveCancelControl.ParentPageURL= this.ParentPageURL;

                if(!IsPostBack)
                {
                    user = new clsUsers();
                    user.cAction = "S";
                    user.iOrgId = OrgId;
                    user.iId = UserId;

                    if(UserId != 0)
                    {
                        if(user.UserDetails() == -1)
                        {
                            Session["lastpage"] = "admin_user_detail.aspx?id=" + UserId.ToString();
                            Session["error"] = _functions.ErrorMessage(134);
                            Response.Redirect("error.aspx", false);
                            return;
                        }
                        tbFirstName.Text = user.sFirstName.Value;
                        tbLastName.Text = user.sLastName.Value;
                        tbInitial.Text = user.sInitials.Value.Trim();
                        ddlType.SelectedValue = user.sTypeName.Value;
                        tbEmail.Text = user.sEmail.Value;
                        lblCreatedDate.Text = user.daCreated.Value.ToLongDateString() + " " + user.daCreated.Value.ToLongTimeString();
                        tbHourlyRate.Text = user.dmHourlyRate.Value.ToString("F");
                        if(user.bActiveStatus.Value)
                        {
                            lblUserActivateStatus.Text = "Activated";
                            hlInactive.Text = "[Deactivate]";
                        }
                        else
                        {
                            lblUserActivateStatus.Text = "Deactivated";
                            hlInactive.Text = "[Activate]";
                        }
                        hlInactive.NavigateUrl = "admin_user_detail_active.aspx?id=" + UserId.ToString();
                        dgGroups.DataSource = new DataView(user.GetUserGroupsList());
                        dgGroups.DataBind();
                        ddlGroup.DataSource = new DataView(user.GetGroupsListByNotUser());
                        ddlGroup.DataBind();
                        if(ddlGroup.Items.Count == 0)
                        {
                            ddlGroup.Enabled = false;
                            btnAddGroup.Enabled = false;
                        }
                        else
                        {
                            ddlGroup.Enabled = true;
                            btnAddGroup.Enabled = true;
                        }
                        rfvNewPass.Enabled = false;
                        rfvNewPIN.Enabled = false;
                        rfvConfirmPassword.Enabled = false;
                        rfvConfirmPIN.Enabled = false;
                    }
                    else
                    {
                        ddlGroup.DataSource = new DataView(user.GetGroupsListByNotUser());
                        ddlGroup.DataBind();

                        tblMain.Rows[11].Visible = false;
                        tblMain.Rows[12].Visible = false;
                        tblMain.Rows[13].Visible = false;
                        tblMain.Rows[14].Visible = false;
                        tblMain.Rows[15].Visible = false;
                        tblMain.Rows[16].Visible = false;
                        btnAddGroup.Visible = false;
                    }
                }
            }
            catch(Exception ex)
            {
                _functions.Log(ex, HttpContext.Current.User.Identity.Name, SourcePageName);
                Session["lastpage"] = "admin_user_detail.aspx?id=" + UserId.ToString();
                Session["error"] = ex.Message;
                Session["error_report"] = ex.ToString();
                Response.Redirect("error.aspx", false);
            }
            finally
            {
                if(user != null)
                    user.Dispose();
            }
        }
        /// <summary>
        /// Updating the user information
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void btSave_FormSubmit(object sender, EventArgs e)
        {
            bool bSavePassword = false, bSavePIN = false;
            string salt;
            try
            {
                user = new clsUsers();
                user.cAction = "U";
                user.iOrgId = OrgId;
                user.iId = UserId;

                if(tbNewPassword.Text.Length > 0 && tbConfirmPassword.Text.Length > 0)
                {
                    if(tbNewPassword.Text != tbConfirmPassword.Text)
                    {
                        lblComfirmPassword.Visible = true;
                        if(tbNewPIN.Text != tbConfirmPIN.Text)
                            lblConfirmPIN.Visible = true;
                        return;
                    }
                    else
                    {
                        bSavePassword = true;
                        lblConfirmPIN.Visible = false;
                    }
                }

                if(tbNewPIN.Text.Length > 0 && tbConfirmPIN.Text.Length > 0)
                {
                    if(tbNewPIN.Text != tbConfirmPIN.Text)
                    {
                        lblConfirmPIN.Visible = true;
                        return;
                    }
                    else
                    {
                        bSavePIN = true;
                        lblConfirmPIN.Visible = false;
                    }
                }

                user.sFirstName = tbFirstName.Text;
                user.sLastName = tbLastName.Text;
                user.sInitials = tbInitial.Text.ToUpper();
                user.sTypeName = ddlType.SelectedValue;
                user.sEmail = tbEmail.Text;
                user.iLoginId = _functions.GetUserOrgId(HttpContext.Current.User.Identity.Name, true);
                user.daCreated = DateTime.Now;
                user.dmHourlyRate = Convert.ToDecimal(tbHourlyRate.Text);
                if(user.UserDetails() == -1)
                {
                    Session["lastpage"] = "admin_user_detail_edit.aspx?id=" + UserId.ToString();
                    Session["error"] = _functions.ErrorMessage(134);
                    Response.Redirect("error.aspx", false);
                    return;
                }

                if(bSavePassword || UserId == 0)
                {
                    // set a new password
                    salt = _functions.CreateSalt(5);
                    string passwordHash = _functions.CreatePasswordHash(tbNewPassword.Text, salt);

                    user.sPass = passwordHash;
                    user.sSalt = salt;
                    if(user.SetPassword() == -1)
                    {
                        Header.ErrorMessage = _functions.ErrorMessage(134);
                        return;
                    }
                }

                if(bSavePIN || UserId == 0)
                {
                    // set a new PIN code
                    user.sPIN = tbNewPIN.Text;
                    if(user.SetPIN() == -1)
                    {
                        Header.ErrorMessage = _functions.ErrorMessage(134);
                        return;
                    }
                }

                bool bRedirect = false;
                string sText = "";

                if(UserId == 0)
                {
                    bRedirect = true;
                    sText = "A new user has been added successfully!";
                    // adding group to user
                    user.cAction = "I";
                    user.iGroupId = Convert.ToInt32(ddlGroup.SelectedValue);
                    if(user.UsersGroupsDetail() == -1)
                    {
                        Session["lastpage"] = "admin_user_detail_edit.aspx?id=" + UserId.ToString();
                        Session["error"] = _functions.ErrorMessage(117);
                        Response.Redirect("error.aspx", false);
                        return;
                    }
                }
                else
                {
                    if(bSavePassword || bSavePIN)
                    {
                        bRedirect = true;
                        if(bSavePassword && bSavePIN)
                            sText = "The user's password and PIN Code have been sucessfully updated.";
                        else if(bSavePassword && !bSavePIN)
                            sText = "The user's password have been sucessfully updated.";
                        else if(!bSavePassword && bSavePIN)
                            sText = "The PIN Code have been sucessfully updated.";
                    }
                    else bRedirect = false;
                }
                if(bRedirect)
                {
                    // redirect to the finish screen
                    BackFinishScreen finish = new BackFinishScreen();

                    finish.sMainText = sText;

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

                    finish.bContinueVisible = false;

                    finish.bViewVisible = true;
                    finish.sViewText = "[View the User Detail]";
                    finish.sViewURL = "admin_user_detail.aspx?id=" + user.iId.Value.ToString();

                    finish.bAdditionalVisible = false;

                    finish.bPrintVisible = false;

                    Session["BackFinish"] = finish;

                    Response.Redirect("wo_finish.aspx", false);
                }
                else
                    Response.Redirect("admin_user_detail.aspx?id=" + user.iId.Value.ToString(), false);
            }
            catch(FormatException fex)
            {
                Header.ErrorMessage = _functions.ErrorMessage(108);
            }
            catch(Exception ex)
            {
                _functions.Log(ex, HttpContext.Current.User.Identity.Name, SourcePageName);
                Session["lastpage"] = "admin_user_detail_edit.aspx?id=" + UserId.ToString();
                Session["error"] = ex.Message;
                Session["error_report"] = ex.ToString();
                Response.Redirect("error.aspx", false);
            }
            finally
            {
                if(user != null)
                    user.Dispose();
            }
        }