public DataTable GetRoleProgramByRole(string roleID)
        {
            List <RoleProgram> lstRoleProg = null;

            try
            {
                ProcParam param = new ProcParam(2);

                param.ProcedureName = "ADMINISTRATOR_PACK.GET_ROLE_PROGRAM_LIST";

                param.AddParamRefCursor(0, "io_cursor");
                param.AddParamInput(1, "strROLE_ID", roleID);

                OraDataReader.Instance.OraReader = GlobalDB.Instance.DataAc.ExecuteDataReader(param);

                ////this.executionTime = GlobalDB.Instance.DataAc.ExecuteTime;

                if (OraDataReader.Instance.HasRows)
                {
                    lstRoleProg = new List <RoleProgram>();
                    RoleProgram roleProg;

                    OraDataReader.Instance.OraReader.FetchSize = OraDataReader.Instance.OraReader.RowSize * 1000;

                    while (OraDataReader.Instance.OraReader.Read())
                    {
                        roleProg = new RoleProgram();

                        roleProg.ROLE_ID   = OraDataReader.Instance.GetString("ROLE_ID");
                        roleProg.PROG_ID   = OraDataReader.Instance.GetString("PROG_ID");
                        roleProg.PROG_NAME = OraDataReader.Instance.GetString("PROG_NAME");
                        roleProg.REC_STAT  = (OraDataReader.Instance.GetString("REC_STAT").ToUpper() == "Y");
                        roleProg.FLAG      = OraDataReader.Instance.GetInteger("FLAG");

                        lstRoleProg.Add(roleProg);
                    }
                    // always call Close when done reading.
                    OraDataReader.Instance.Close();
                }
            }
            catch (Exception ex)
            {
                lstRoleProg = null;
            }

            return(UtilityBLL.ListToDataTable(lstRoleProg, "M_ROLE_PROGRAM"));
        }
Example #2
0
        private void UpdateRole()
        {
            List <RoleProgram> lstRowProgUpd = null;
            Role   role   = null;
            string result = string.Empty;
            string userid = ((frmMainMenu)this.ParentForm).UserID;

            try
            {
                DataRow rowRole = this.dtbRole.Rows[0];
                if (rowRole != null)
                {
                    role = new Role();

                    role.ROLE_ID   = rowRole["ROLE_ID"].ToString().ToUpper();
                    role.ROLE_NAME = rowRole["ROLE_NAME"].ToString();
                    role.REC_STAT  = (bool)rowRole["REC_STAT"];
                }

                if (this.dtbRoleProg.Rows.Count != 0)
                {
                    lstRowProgUpd = new List <RoleProgram>();
                    int         flag = 0;
                    RoleProgram rowProgUpd;
                    foreach (DataRow rowProg in this.dtbRoleProg.Rows)
                    {
                        flag = Convert.ToInt32(rowProg["FLAG"], NumberFormatInfo.CurrentInfo);
                        if (flag == 2)
                        {
                            rowProgUpd          = new RoleProgram();
                            rowProgUpd.ROLE_ID  = rowProg["ROLE_ID"].ToString();
                            rowProgUpd.PROG_ID  = rowProg["PROG_ID"].ToString();
                            rowProgUpd.REC_STAT = (bool)rowProg["REC_STAT"];
                            lstRowProgUpd.Add(rowProgUpd);
                        }
                    }
                }

                using (AdministratorBLL adminBll = new AdministratorBLL())
                {
                    result = adminBll.UpdateRole(role, userid);
                    if (lstRowProgUpd != null)
                    {
                        adminBll.UpdateRoleProgram(lstRowProgUpd, userid);
                    }
                }

                if (result.Equals("OK"))
                {
                    NotifierResult.Show("Update Complete", "Result", 50, 1000, 50, NotifyType.Safe);
                }
                else
                {
                    NotifierResult.Show(result, "Error", 100, 1000, 0, NotifyType.Warning);
                }
            }
            catch (Exception ex)
            {
                XtraMessageBox.Show(this, ex.Message, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error, MessageBoxDefaultButton.Button1);
            }
            finally
            {
                this.GetRoleList();

                this.FormState = eFormState.ReadOnly;

                this.dntRole.Position = this.positionIndex;

                this.btnAddNew.Visible = true;
                this.btnExit.Visible   = true;

                //Reload Menu
                if (lstRowProgUpd != null)
                {
                    ((frmMainMenu)this.ParentForm).ReloadMenu();
                }
            }
        }