Link to home
Start Free TrialLog in
Avatar of dotnet0824
dotnet0824

asked on

c# Enum use ? Null to determine

I want to use a Variable set to NULL when AllCustomers is selected ........I want to use ? technique in this. I dont want to use <System.Nullable>
public enum  EnumCustomers
  {   AllCustomers,
     CaliforniaCustomers,
     NewYorkCustomers
 }

public dataset GetCustomers(EnumCustomers Cust)
  {
       if Cust.AllCustomers = AllCustomers (I want this to be DEFAULT AS NULL and I want to assign it to a variable using C#  ?   statements )
  }
Avatar of Guy Hengel [angelIII / a3]
Guy Hengel [angelIII / a3]
Flag of Luxembourg image

I guess you want something like this:
public dataset GetCustomers(EnumCustomers Cust)
  {
     if (Cust.AllCustomers == EnumCustomers.AllCustomers)
     {
     }
  } 

public dataset GetCustomers()
{
   return GetCustomers(EnumCustomers.AllCustomers);
}

Open in new window

Avatar of dotnet0824
dotnet0824

ASKER

its like this All I want is to Get Null Value to be assigned to @city
         if AllCustomers is passed I call
                Select * from Customer
               Case Cust.californiaCustomers
                     Select * from Customers where place="CA"
                Case Cust.NewyorkCustomers
                    Select * from Customers where place ="NY"
Now I want to do like this  (I dont want 3 conditions) like above
             if AllCustomers Passed  I want to pass  NULL  which stored proc understands and gets
                     Select * from customer
                             ELSE
                             

=============Stored Proc
Create procude Getcustomer
@city BIT
IF @City is NOT NULL
             Select * from Customers
               Else
                     Select * from customers where City=@City
So in my function  i want to Create a Variable lets say    
if  passed in Value is  AllCustomers   x = Null else x = passsed in value
I assume that BIT is not the data type of the City column?

the sql procedure would look like this:
Create procude Getcustomer
  @city VARCHAR(20)
AS
Select * from Customers
where ( City=@City OR @City IS NULL)

now, do you have already some code to call the procedure?
ok lets consider the same stored procdure.. now how do i tune my function  to accept NULL when ALLCUSTOMERS Is passed.
I dont want to have  
   3 case Statement ie (Switch)
          I want something like
                                   Case  Null (ie AllCustomers)
                                 
                                      Case else
                                                pass the  EnumPassedvalue

i want to use ? and assign it to variable when Enum is passed and then
               
ASKER CERTIFIED SOLUTION
Avatar of Guy Hengel [angelIII / a3]
Guy Hengel [angelIII / a3]
Flag of Luxembourg image

Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
i should have been more clear... sorry about this .  I have just tested
In my function I capture the enum passed into the variable  
 int x = (int)Cust;  (cust being the Enum passed in function)
X gets value 0 if (cust.AllCustomers)  1 if(cust.CalifronaiCustomers) 2 (cust.NewyorkCustomers)
Now If x value ==0  I want to use ? and convert to NULL
I am not 100% clear why you actually use an enum...
how does the user "choose"?
if it is a listbox/combo/radio button etc, set the selecteditem.value to the string value you want to search for, and the "all" item to '%'

and your procedure will be like this: (assuming that City is the city name):


Create procude Getcustomer
  @city VARCHAR(20) = '%'
AS
Select * from Customers
where ( City LIKE @City )

Hi Angel 111.. Thanks  alot. I got the answer in ur stored proc. thanks agian