>>>>Hi,
>>>>If Naomi has access to the biz layer source then, yes I'd agree, a better solution.
>>>>An alternative with wider use might be to add a .ToNullableInt() extension method for String.
>>>>Best,
>>>>Viv
>>>>
>>>I do have an access to BL, so I may code it there. For the extension method I haven't done them yet, so I'm not sure how to implement it.
>>
>>The Extension method would be something like:
public static int? ToNullableInt(this string s)
>>{
>> int result;
>> bool b = Int32.TryParse(s,out result);
>> return b ? (int?) result : null;
>>}
Then anywhere this method is in scope you could use, for example:
string s = "12345";
>>int? i = s.ToNullableInt();
Note the above implementation would return null for any string that doesn't translate to a valid int (null, string.empty, "123.45", "asd" etc.) which may no be exactly what you want. And I wouldn't bother to implement this unless you know it will have a wider use than in your original requirement....
>>Best,
>>Viv
>
>Where exactly should I place this code?
>
>I'm getting an error here right now
>
>System.NullReferenceException was unhandled
> Message="NullReferenceException"
> StackTrace:
> at IOTechno.SDC.Business.InventoryBiz.Find(String ItemNo, String description)
> at IOTechno.SDC.Windows.OrdersEntryForm.DisplayItemInfo(String ItemNo)
> at IOTechno.SDC.Windows.OrdersEntryForm.txtItemNo_LostFocus(Object sender, EventArgs e)
> at System.Windows.Forms.Control.OnLostFocus(EventArgs e)
> at System.Windows.Forms.Control.WnProc(WM wm, Int32 wParam, Int32 lParam)
> at System.Windows.Forms.Control._InternalWnProc(WM wm, Int32 wParam, Int32 lParam)
> at Microsoft.AGL.Forms.EVL.EnterMainLoop(IntPtr hwnMain)
> at System.Windows.Forms.Application.Run(Form fm)
> at IOTechno.SDC.Windows.Main.BDMain.Main()
>
>The code is
> public InventoryDS.ItemsDataTable Find(string ItemNo, string description)
> {
> if (ItemNo.Equals(string.Empty))
> { ItemNo = null; }
>
> if (description.Equals(string.Empty))
> { description = null; }
>
> ItemsTableAdapter ta = new ItemsTableAdapter ();
> return ta.GetInventory(ItemNo, description);
> }
>
> and I call it with oBiz.Find(ItemNo, null)
Sorry, you've lost me. We were talking about a method that took int? as a parameter. Where does the above fit into this?