/// <summary> /// 判断某个时间范围内是否存在 /// </summary> /// <param name="names"></param> /// <param name="values"></param> /// <param name="startDate"></param> /// <param name="endDate"></param> /// <returns></returns> public bool HasAuthorized(List<KeyValuePair<string, object>> parameters, string startDate, string endDate) { bool returnValue = false; BasePermissionScopeManager manager = new BasePermissionScopeManager(this.DbHelper, this.UserInfo); returnValue = manager.Exists(parameters); /* if (returnValue) { // 再去判断时间 string minDate = "1900-01-01 00:00:00"; string maxDate = "3000-12-31 00:00:00"; // 不用设置的太大 string srcStartDate = manager.GetProperty(names, values, BasePermissionScopeEntity.FieldStartDate); string srcEndDate = manager.GetProperty(names, values, BasePermissionScopeEntity.FieldEndDate); if (string.IsNullOrEmpty(srcStartDate)) { srcStartDate = minDate; } if (string.IsNullOrEmpty(startDate)) { startDate = minDate; } if (string.IsNullOrEmpty(srcEndDate)) { srcEndDate = maxDate; } if (string.IsNullOrEmpty(endDate)) { endDate = maxDate; } // 满足这样的条件 // 时间A(Start1-End1), 时间B(Start2-End2) // Start1 <Start2 && Start2 <End1 // Start1 <End2 && End2 <End1 // Start2 <Start1 && End1 <End2 if ((CheckDateScope(srcStartDate, startDate) && CheckDateScope(startDate, srcEndDate)) || (CheckDateScope(srcStartDate, endDate) && CheckDateScope(endDate, srcEndDate)) || (CheckDateScope(startDate, srcStartDate) && CheckDateScope(srcEndDate, endDate))) { returnValue = true; } else { returnValue = false; } } */ return returnValue; }