public string AddModifyAuthority(ClsAuthority ObjAuthority)
 {
     using (ClsAuthorityManagement_BAL obj = new ClsAuthorityManagement_BAL())
     {
         return(obj.AddModifyAuthority(ObjAuthority));
     }
 }
        public string AddModifyAuthority(ClsAuthority ObjAuthority)
        {
            try
            {
                DBParameterCollection ObJParameterCOl = new DBParameterCollection();
                DBParameter           objDBParameter  = new DBParameter("@Ref_Authority_ID", ObjAuthority.Ref_Authority_ID, DbType.Int64);
                ObJParameterCOl.Add(objDBParameter);
                objDBParameter = new DBParameter("@AuthorityName", ObjAuthority.AuthorityName, DbType.String);
                ObJParameterCOl.Add(objDBParameter);
                objDBParameter = new DBParameter("@AuthorityType", ObjAuthority.AuthorityType, DbType.String);
                ObJParameterCOl.Add(objDBParameter);
                objDBParameter = new DBParameter("@Description", ObjAuthority.Description, DbType.String);
                ObJParameterCOl.Add(objDBParameter);
                objDBParameter = new DBParameter("@MasterDataIDs", ObjAuthority.MasterDataIDs, DbType.String);
                ObJParameterCOl.Add(objDBParameter);

                Int64    Ref_Authority_ID = 0;
                DBHelper objDbHelper      = new DBHelper();
                Ref_Authority_ID = Convert.ToInt64(objDbHelper.ExecuteScalar(Constant.AddModifyAuthority, ObJParameterCOl, CommandType.StoredProcedure));

                if (Ref_Authority_ID > 0)
                {
                    ObjAuthority.ModuleAccess.ForEach(Module =>
                    {
                        DBParameterCollection ObJParameterCOl1 = new DBParameterCollection();
                        DBParameter objDBParameter1            = new DBParameter("@Ref_Authority_ID", Ref_Authority_ID, DbType.Int64);
                        ObJParameterCOl1.Add(objDBParameter1);
                        objDBParameter1 = new DBParameter("@Ref_Module_ID", Module.Ref_Module_ID, DbType.Int64);
                        ObJParameterCOl1.Add(objDBParameter1);
                        objDBParameter1 = new DBParameter("@View", Module.View, DbType.Boolean);
                        ObJParameterCOl1.Add(objDBParameter1);
                        objDBParameter1 = new DBParameter("@Edit", Module.Edit, DbType.Boolean);
                        ObJParameterCOl1.Add(objDBParameter1);
                        objDBParameter1 = new DBParameter("@Delete", Module.Delete, DbType.Boolean);
                        ObJParameterCOl1.Add(objDBParameter1);
                        objDBParameter1 = new DBParameter("@Approval", Module.Approval, DbType.Boolean);
                        ObJParameterCOl1.Add(objDBParameter1);
                        objDBParameter1 = new DBParameter("@CreatedBy", ObjAuthority.CreatedBy, DbType.String);
                        ObJParameterCOl1.Add(objDBParameter1);

                        objDbHelper.ExecuteScalar(Constant.AddModifyAuthorityModuleAccess, ObJParameterCOl1, CommandType.StoredProcedure);
                    });
                }

                if (Ref_Authority_ID > 0 && ObjAuthority.Ref_Authority_ID == 0)
                {
                    return("AUTHORITYADDED");
                }
                else if (Ref_Authority_ID > 0 && ObjAuthority.Ref_Authority_ID == 0)
                {
                    return("AUTHORITYUPDATED");
                }
                else
                {
                    return("AUTHORITYEXISTS");
                }
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }