//MenuItem Object Scope Validation check the entire object for validity... private byte MenuItemIsValid(NestedMenuItem item, out string errorMessage) { //validate key errorMessage = ""; if (string.IsNullOrEmpty(item.MenuItemID)) { errorMessage = "ID Is Required."; return(1); } MenuItem menuItem = MenuItemList.FirstOrDefault(q => q.AutoID == item.AutoID); EntityStates entityState = GetMenuItemState(menuItem); if (entityState == EntityStates.Added && MenuItemExists(item.MenuItemID)) { errorMessage = "Item All Ready Exists."; return(1); } //check cached list for duplicates... int count = MenuItemList.Count(q => q.MenuItemID == item.MenuItemID); if (count > 1) { errorMessage = "Item All Ready Exists."; return(1); } //validate Description if (string.IsNullOrEmpty(item.Name)) { errorMessage = "Name Is Required."; return(1); } //a value of 2 is pending changes... //On Commit we will give it a value of 0... return(2); }
//Object.Property Scope Validation... private bool MenuItemIsValid(NestedMenuItem item, _menuItemValidationProperties validationProperties, out string errorMessage) { errorMessage = ""; switch (validationProperties) { case _menuItemValidationProperties.MenuItemID: //validate key if (string.IsNullOrEmpty(item.MenuItemID)) { errorMessage = "ID Is Required."; return(false); } MenuItem menuItem = MenuItemList.FirstOrDefault(q => q.AutoID == item.AutoID); EntityStates entityState = GetMenuItemState(menuItem); if (entityState == EntityStates.Added && MenuItemExists(item.MenuItemID)) { errorMessage = "Item All Ready Exists..."; return(false); } //check cached list for duplicates... int count = MenuItemList.Count(q => q.MenuItemID == item.MenuItemID); if (count > 1) { errorMessage = "Item All Ready Exists..."; return(false); } break; case _menuItemValidationProperties.Name: //validate Description if (string.IsNullOrEmpty(item.Name)) { errorMessage = "Description Is Required."; return(false); } break; } return(true); }