/// <summary> /// Get Customer /// </summary> /// <param name="customerID"></param> /// <param name="transaction"></param> /// <returns></returns> public Customer GetCustomer(Guid customerID, out TransactionalInformation transaction) { transaction = new TransactionalInformation(); Customer customer = new Customer(); try { customersDataService.CreateSession(); customer = customersDataService.GetCustomer(customerID); transaction.ReturnStatus = true; } catch (Exception ex) { transaction.ReturnMessage = new List<string>(); string errorMessage = ex.Message; transaction.ReturnStatus = false; transaction.ReturnMessage.Add(errorMessage); } finally { customersDataService.CloseSession(); } return customer; }
public OrdersApiModel() { Order = new Order(); OrderDetail = new OrderDetail(); Customer = new Customer(); Orders = new List<OrderInquiry>(); Shippers = new List<Shipper>(); OrderDetails = new List<OrderDetails>(); }
/// <summary> /// Create Customer /// </summary> /// <param name="customer"></param> public void CreateCustomer(Customer customer) { customer.CustomerID = Guid.NewGuid(); DateTime now = DateTime.Now; customer.DateCreated = now; customer.DateUpdated = now; dbConnection.Customers.Add(customer); }
public void ValidateCustomerUpdate(Customer customer, ICustomersDataService dataService) { customersDataService = dataService; InitializeValidationRules(customer); ValidateRequired("CustomerCode", "Customer Code"); ValidateRequired("CompanyName", "Company Name"); ValidateUniqueCustomerCode(customer.CustomerID, customer.CustomerCode); }
public CustomersApiModel() { Customer = new Customer(); Customers = new List<Customer>(); }
/// <summary> /// Import Customer /// </summary> /// <param name="columns"></param> /// <returns></returns> private Boolean ImportCustomer(string[] columns) { Customer customer = new Customer(); customer.CustomerCode = columns[0].Trim(); customer.CompanyName = columns[1].Trim(); customer.Address = columns[4].Trim(); customer.City = columns[5].Trim(); customer.Region = columns[6].Trim(); customer.PostalCode = columns[7].Trim(); customer.Country = columns[8].Trim(); customer.PhoneNumber = columns[9].Trim(); Boolean valid = customersDataService.ValidateDuplicateCustomer(customer.CustomerCode); if (valid) { customersDataService.CreateCustomer(customer); } return valid; }
/// <summary> /// Update Customer /// </summary> /// <param name="customerID"></param> /// <param name="customerCode"></param> /// <param name="companyName"></param> /// <param name="address"></param> /// <param name="city"></param> /// <param name="region"></param> /// <param name="postalCode"></param> /// <param name="country"></param> /// <param name="phoneNumber"></param> /// <param name="webSiteUrl"></param> /// <param name="transaction"></param> /// <returns></returns> public Customer UpdateCustomer(Guid customerID, string customerCode, string companyName, string address, string city, string region, string postalCode, string country, string phoneNumber, string webSiteUrl, out TransactionalInformation transaction) { transaction = new TransactionalInformation(); CustomersBusinessRules customersBusinessRules = new CustomersBusinessRules(); Customer customer = new Customer(); try { customersDataService.CreateSession(); customer = customersDataService.GetCustomer(customerID); customer.CustomerCode = customerCode; customer.CompanyName = companyName; customer.Address = address; customer.City = city; customer.Region = region; customer.PostalCode = postalCode; customer.Country = country; customer.PhoneNumber = phoneNumber; customer.WebSiteUrl = webSiteUrl; customersBusinessRules.ValidateCustomerUpdate(customer, customersDataService); if (customersBusinessRules.ValidationStatus == true) { customersDataService.BeginTransaction(); customersDataService.UpdateCustomer(customer); customersDataService.CommitTransaction(true); transaction.ReturnStatus = true; transaction.ReturnMessage.Add("Customer successfully updated at " + customer.DateUpdated.ToString()); } else { transaction.ReturnStatus = customersBusinessRules.ValidationStatus; transaction.ReturnMessage = customersBusinessRules.ValidationMessage; transaction.ValidationErrors = customersBusinessRules.ValidationErrors; } } catch (Exception ex) { transaction.ReturnMessage = new List<string>(); string errorMessage = ex.Message; transaction.ReturnStatus = false; transaction.ReturnMessage.Add(errorMessage); } finally { customersDataService.CloseSession(); } return customer; }
/// <summary> /// Initialize user Business Rules /// </summary> /// <param name="user"></param> /// <param name="dataService"></param> public void InitializeCustomersBusinessRules(Customer customer, ICustomersDataService dataService) { customersDataService = dataService; InitializeValidationRules(customer); }
/// <summary> /// Customer Inquiry /// </summary> /// <param name="customerCode"></param> /// <param name="companyName"></param> /// <param name="paging"></param> /// <param name="transaction"></param> /// <returns></returns> public List<Customer> CustomerInquiry(string customerCode, string companyName, DataGridPagingInformation paging, out TransactionalInformation transaction) { transaction = new TransactionalInformation(); string sortExpression = paging.SortExpression; if (paging.SortDirection != string.Empty) sortExpression = sortExpression + " " + paging.SortDirection; List<Customer> customerInquiry = new List<Customer>(); int numberOfRows = 0; var customerQuery = dbConnection.Customers.AsQueryable(); if (customerCode != null && customerCode.Trim().Length > 0) { customerQuery = customerQuery.Where(c => c.CustomerCode.StartsWith(customerCode)); } if (companyName != null && companyName.Trim().Length > 0) { customerQuery = customerQuery.Where(c => c.CompanyName.StartsWith(companyName)); } var customers = from c in customerQuery select new { c.CustomerID, c.CustomerCode, c.CompanyName, c.WebSiteUrl, c.City, c.Country, c.Address, c.Region, c.PostalCode }; numberOfRows = customers.Count(); customers = customers.OrderBy(sortExpression); var customerList = customers.Skip((paging.CurrentPageNumber - 1) * paging.PageSize).Take(paging.PageSize); paging.TotalRows = numberOfRows; paging.TotalPages = AngularJSUtilities.Utilities.CalculateTotalPages(numberOfRows, paging.PageSize); foreach (var customer in customerList) { Customer customerData = new Customer(); customerData.CustomerID = customer.CustomerID; customerData.CustomerCode = customer.CustomerCode; customerData.CompanyName = customer.CompanyName; customerData.City = customer.City; customerData.Address = customer.Address; customerData.WebSiteUrl = customer.WebSiteUrl; if (customer.Region == "NULL") customerData.Region = "NA"; else customerData.Region = customer.Region; customerData.PostalCode = customer.PostalCode; customerInquiry.Add(customerData); } transaction.TotalPages = paging.TotalPages; transaction.TotalRows = paging.TotalRows; transaction.ReturnStatus = true; transaction.ReturnMessage.Add(numberOfRows.ToString() + " customer records found."); return customerInquiry; }
/// <summary> /// Update Customer /// </summary> /// <param name="customer"></param> public void UpdateCustomer(Customer customer) { DateTime now = DateTime.Now; customer.DateUpdated = now; }