public bool CheckVoucherPermission(String strTableName, Guid ID, VoucherPermission permission)
        {
            Guid?iUserID = GetCurrentUserID();

            if (iUserID.HasValue == false)
            {
                return(false);
            }

            return(ABCUserProvider.CheckVoucherPermission(iUserID.Value, strTableName, ID, permission));
        }
Beispiel #2
0
        public static bool CheckVoucherPermission(Guid iUserID, String strTableName, VoucherPermission permission)
        {
            BusinessObject obj = VoucherProvider.GetConfig(strTableName);

            if (obj != null)
            {
                return(CheckVoucherPermission(iUserID, obj.GetID(), permission));
            }

            return(true);
        }
 public bool CheckVoucherPermission(BusinessObject obj, VoucherPermission permission)
 {
     return(CheckVoucherPermission(obj.AATableName, obj.GetID(), permission));
 }
Beispiel #4
0
        public static bool CheckVoucherPermission(Guid iUserID, Guid voucherTypeID, VoucherPermission permission)
        {
            bool result = true;

            String strKey = iUserID.ToString() + voucherTypeID.ToString() + permission.ToString();

            if (VoucherPermissionList.TryGetValue(strKey, out result))
            {
                return(result);
            }

            ADUsersInfo user = new ADUsersController().GetObjectByID(iUserID) as ADUsersInfo;

            if (user != null && user.FK_ADUserGroupID.HasValue)
            {
                ADUserGroupsInfo group = new ADUserGroupsController().GetObjectByID(user.FK_ADUserGroupID.Value) as ADUserGroupsInfo;
                if (group != null)
                {
                    result = (user.No == "sysadmin");
                    String strQuery = String.Format(@"SELECT A.* FROM  GEPermissionVouchers A JOIN ADUserPermissions B ON A.FK_GEVoucherID ='{0}' AND B.FK_GEPermissionID = A.FK_GEPermissionID AND  (B.FK_ADUserGroupID ='{1}' OR B.FK_ADUserID ='{2}') ORDER BY B.FK_ADUserID  DESC", voucherTypeID, user.FK_ADUserGroupID.Value, user.ADUserID);
                    foreach (GEPermissionVouchersInfo voucherPermission in new GEPermissionVouchersController().GetList(strQuery).Cast <GEPermissionVouchersInfo>().ToList())
                    {
                        switch (permission)
                        {
                        case VoucherPermission.AllowView:
                            result = (result || voucherPermission.AllowView);
                            break;

                        case VoucherPermission.AllowNew:
                            result = (result || voucherPermission.AllowNew);
                            break;

                        case VoucherPermission.AllowEdit:
                            result = (result || voucherPermission.AllowEdit);
                            break;

                        case VoucherPermission.AllowDelete:
                            result = (result || voucherPermission.AllowDelete);
                            break;

                        case VoucherPermission.AllowApproval:
                            result = (result || voucherPermission.AllowApproval);
                            break;

                        case VoucherPermission.AllowLock:
                            result = (result || voucherPermission.AllowLock);
                            break;

                        case VoucherPermission.AllowPost:
                            result = (result || voucherPermission.AllowPost);
                            break;

                        case VoucherPermission.AllowPrint:
                            result = (result || (voucherPermission.AllowPrint && !String.IsNullOrWhiteSpace(voucherPermission.ReportName)));
                            break;
                        }
                    }
                }
            }
            if (SystemProvider.SystemConfig.IsRelease)
            {
                VoucherPermissionList.Add(strKey, result);
            }
            return(result);
        }