- CodeProjectORM.zip
- ORMApplicationServices
- ORMDatabase
- ORMDatabase.mdf
- ORMDatabase_log.ldf
- ORMDataModel
- ORMDataServices
- ORMNhiberateMaps
- ORMUtilities
- ORMWebApplicationMVC
- ORMWebApplicationMVC.sln
- ORMWebApplicationMVC.suo
- ORMWebApplicationMVC
- App_Data
- bin
- Antlr3.Runtime.dll
- Castle.Core.dll
- Iesi.Collections.dll
- Iesi.Collections.pdb
- NHibernate.ByteCode.Castle.dll
- NHibernate.ByteCode.Castle.xml
- NHibernate.dll
- NHibernate.xml
- ORMApplicationServices.dll
- ORMApplicationServices.pdb
- ORMDataModel.dll
- ORMDataModel.pdb
- ORMDataServices.dll
- ORMDataServices.pdb
- ORMNhibernateMaps.dll
- ORMNhibernateMaps.pdb
- ORMUtilities.dll
- ORMUtilities.pdb
- ORMWebApplicationMVC.dll
- ORMWebApplicationMVC.pdb
- Remotion.Data.Linq.dll
- Content
- DownArrow.gif
- Images
- DownArrow.gif
- SampleApplication.jpg
- UpArrow.gif
- Site.css
- themes
- base
- images
- ui-bg_flat_0_aaaaaa_40x100.png
- ui-bg_flat_75_ffffff_40x100.png
- ui-bg_glass_55_fbf9ee_1x400.png
- ui-bg_glass_65_ffffff_1x400.png
- ui-bg_glass_75_dadada_1x400.png
- ui-bg_glass_75_e6e6e6_1x400.png
- ui-bg_glass_95_fef1ec_1x400.png
- ui-bg_highlight-soft_75_cccccc_1x100.png
- ui-icons_222222_256x240.png
- ui-icons_2e83ff_256x240.png
- ui-icons_454545_256x240.png
- ui-icons_888888_256x240.png
- ui-icons_cd0a0a_256x240.png
- jquery-ui.css
- UpArrow.gif
- Controllers
- Global.asax
- Global.asax.cs
- Helpers
- Models
- obj
- Debug
- ORMWebApplicationMVC.csproj
- ORMWebApplicationMVC.csproj.user
- ORMWebApplicationMVC.Publish.xml
- packages.config
- Properties
- Scripts
- Views
- Web.config
- Web.Debug.config
- Web.Release.config
|
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using ORMDataModel;
using ORMUtilities;
using System.Collections;
using ORMDataServices.DataServices;
using System.Configuration;
namespace ORMApplicationServices
{
public class CustomerBusinessRules : ValidationRules
{
private CustomerTransaction _customerTransaction;
private ICustomerDataService _customerDataService;
private PerformanceLogging _performanceLogging;
public CustomerBusinessRules(CustomerTransaction customerTransaction) : base(customerTransaction.Customer)
{
_customerTransaction = customerTransaction;
_performanceLogging = new PerformanceLogging();
}
/// <summary>
/// Validate Customer
/// </summary>
/// <param name="customerDataService"></param>
public void Validate(ICustomerDataService customerDataService)
{
_customerDataService = customerDataService;
ValidateRequired("CustomerCode", "Customer Code");
ValidateRequired("CompanyName", "Company Name");
ValidateRequired("EmailAddress", "Email Address");
ValidateLength("CustomerCode", "Customer Code", 40);
ValidateLength("CompanyName", "Company Name", 40);
ValidateEmailAddress("EmailAddress", "Email Address");
ValidateCustomerCode();
_customerTransaction.ValidationErrors = ValidationErrors;
_customerTransaction.ReturnMessage = ReturnMessage;
_customerTransaction.ReturnStatus = ReturnStatus;
}
/// <summary>
/// Validate Customer Code
/// </summary>
private void ValidateCustomerCode()
{
Boolean validCustomerCode;
if (ValidationErrors.Contains("CustomerCode")==true) return;
if (_customerTransaction.Customer.CustomerID == null)
validCustomerCode = ValidateCustomerCode(_customerTransaction.Customer.CustomerCode);
else
validCustomerCode = ValidateCustomerCode(_customerTransaction.Customer.CustomerCode, _customerTransaction.Customer.CustomerID);
if (validCustomerCode == false)
{
string customerCodeErrorMessage = "Customer code " + _customerTransaction.Customer.CustomerCode + " already exists.";
AddValidationError("CustomerCode", customerCodeErrorMessage);
}
}
/// <summary>
/// Validate Customer Code
/// </summary>
/// <param name="customerCode">The Customer Code is a unique value</param>
/// <returns></returns>
private Boolean ValidateCustomerCode(string customerCode)
{
_performanceLogging.StartLogging("CustomerApplicationServices.ValidateCustomerCode1");
bool returnStatus = false;
List<Customer> customerValidation = _customerDataService.ValidateCustomerCode(customerCode);
if (customerValidation.Count() == 0)
returnStatus = true;
_performanceLogging.EndLogging("CustomerApplicationServices.ValidateCustomerCode1");
return returnStatus;
}
/// <summary>
/// Validate Customer Code
/// </summary>
/// <param name="customerCode"></param>
/// <param name="customerID"></param>
/// <returns></returns>
private Boolean ValidateCustomerCode(string customerCode, Int32? customerID)
{
_performanceLogging.StartLogging("CustomerApplicationServices.ValidateCustomerCode2");
bool returnStatus = false;
List<Customer> customerValidation = _customerDataService.ValidateCustomerCode(customerCode, customerID);
if (customerValidation.Count() == 0)
returnStatus = true;
_performanceLogging.EndLogging("CustomerApplicationServices.ValidateCustomerCode2");
return returnStatus;
}
}
}
|
By viewing downloads associated with this article you agree to the Terms of Service and the article's licence.
If a file you wish to view isn't highlighted, and is a text file (not binary), please
let us know and we'll add colourisation support for it.
Mark Caplin has specialized in Information Technology solutions for the past 30 years. Specializing in full life-cycle development projects for both enterprise-wide systems and Internet/Intranet based solutions.
For the past fifteen years, Mark has specialized in the Microsoft .NET framework using C# as his tool of choice. For the past four years Mark has been implementing Single Page Applications using the Angular platform.
When not coding, Mark enjoys playing tennis, listening to U2 music, watching Miami Dolphins football and watching movies in Blu-Ray technology.
In between all this, his wife of over 25 years, feeds him well with some great home cooked meals.
You can contact Mark at mark.caplin@gmail.com
...