Beispiel #1
0
    protected void rgUsers_ItemDataBound(object sender, GridItemEventArgs e)
    {
        try
        {
            var msg = "";

            if (e.Item is GridEditFormInsertItem || e.Item is GridDataInsertItem)
            {
                UserControl userControl = (UserControl)e.Item.FindControl(GridEditFormItem.EditFormUserControlID);
                //Users
                RadComboBox        cbxUsers  = userControl.FindControl("cbxUsers") as RadComboBox;
                ClsEmployee        emp       = new ClsEmployee();
                List <ClsEmployee> listUsers = emp.GetListClsEmployees();
                cbxUsers.DataTextField  = "UserName";
                cbxUsers.DataValueField = "idEmployee";
                cbxUsers.DataSource     = listUsers;
                cbxUsers.DataBind();

                //Role
                string      UserRoleHidden = (userControl.FindControl("hdnUserRole") as HiddenField).Value;
                RadComboBox cbxUserRoles   = userControl.FindControl("cbxUserRole") as RadComboBox;
                String      strConnString  = ConfigurationManager.ConnectionStrings["PurolatorReportingConnectionString"].ConnectionString;

                List <clsPI_ApplicationRole> listRoles = clsPI_ApplicationRole.GetApplicationRoles(strConnString, idPI_Application);
                cbxUserRoles.DataTextField  = "RoleName";
                cbxUserRoles.DataValueField = "ApplicationRoleId";
                cbxUserRoles.DataSource     = listRoles;
                cbxUserRoles.DataBind();

                //District
                RadComboBox        cbxDistrict   = userControl.FindControl("cbxDistrict") as RadComboBox;
                List <ClsDistrict> listDistricts = rep.GetDistricts();
                cbxDistrict.DataTextField  = "District";
                cbxDistrict.DataValueField = "District";
                cbxDistrict.DataSource     = listDistricts;
                cbxDistrict.DataBind();
            }
            else
            {
                if ((e.Item is GridEditFormItem) && (e.Item.IsInEditMode))
                {
                    //************First calling dropdown list values selected in pop up edit form**************/
                    UserControl userControl = (UserControl)e.Item.FindControl(GridEditFormItem.EditFormUserControlID);
                    string      UserHidden  = (userControl.FindControl("hdnUser") as HiddenField).Value;

                    //USER NAME
                    try
                    {
                        RadComboBox        cbxUsers  = userControl.FindControl("cbxUsers") as RadComboBox;
                        ClsEmployee        emp       = new ClsEmployee();
                        List <ClsEmployee> listUsers = emp.GetListClsEmployees();

                        cbxUsers.DataTextField  = "UserName";
                        cbxUsers.DataValueField = "idEmployee";
                        cbxUsers.DataSource     = listUsers;
                        cbxUsers.DataBind();
                        cbxUsers.SelectedValue = UserHidden;
                        cbxUsers.Enabled       = false;
                    }
                    catch (Exception ex)
                    {
                        msg = ex.Message;
                    }

                    //USER ROLE
                    try
                    {
                        string      UserRoleHidden = (userControl.FindControl("hdnUserRole") as HiddenField).Value;
                        RadComboBox cbxUserRoles   = userControl.FindControl("cbxUserRole") as RadComboBox;

                        List <clsPI_ApplicationRole> listRoles = clsPI_ApplicationRole.GetApplicationRoles(strConnString, idPI_Application);

                        cbxUserRoles.DataTextField  = "RoleName";
                        cbxUserRoles.DataValueField = "ApplicationRoleId";
                        cbxUserRoles.DataSource     = listRoles;
                        cbxUserRoles.DataBind();
                        cbxUserRoles.SelectedValue = UserRoleHidden;
                    }
                    catch (Exception ex)
                    {
                        msg = ex.Message;
                    }

                    //User Restrictions
                    try
                    {
                        RadComboBox        cbxDistrict   = userControl.FindControl("cbxDistrict") as RadComboBox;
                        List <ClsDistrict> listDistricts = rep.GetDistricts();
                        cbxDistrict.DataTextField  = "District";
                        cbxDistrict.DataValueField = "District";
                        cbxDistrict.DataSource     = listDistricts;
                        cbxDistrict.DataBind();
                        RequiredFieldValidator rfDistrict = userControl.FindControl("rfDistrict") as RequiredFieldValidator;
                        Label       lblDistrict           = userControl.FindControl("lblDistrict") as Label;
                        RadComboBox cbxUserRoles          = userControl.FindControl("cbxUserRole") as RadComboBox;
                        string      UserRoleText          = cbxUserRoles.SelectedItem.Text;
                        HiddenField hdApplicationUser     = userControl.FindControl("hdnApplicationUser") as HiddenField;
                        int         idPI_ApplicationUser  = Convert.ToInt16(hdApplicationUser.Value);

                        string appname = Session["appName"].ToString();

                        switch (UserRoleText.ToLower())
                        {
                        case "salesdm":
                            string district = "";
                            //Get District for user if this a Sales District Manager
                            clsDistrictRestriction dr = new clsDistrictRestriction();
                            district = dr.GetDistrictRestriction(idPI_ApplicationUser, appname);
                            if (district != "")
                            {
                                cbxDistrict.SelectedValue = district;
                            }
                            cbxDistrict.Visible = true;
                            rfDistrict.Enabled  = true;
                            lblDistrict.Visible = true;
                            break;


                        default:
                            cbxDistrict.Visible = false;
                            rfDistrict.Enabled  = false;
                            lblDistrict.Visible = false;
                            break;
                        }
                    }
                    catch (Exception ex)
                    {
                        msg = ex.Message;
                    }
                }
            }
        }
        catch (Exception ex)
        {
            pnlDanger.Visible = true;
            lblDanger.Text    = GetCurrentMethod() + " - " + ex.Message.ToString();
        }
    }