public ModifyCustomerDemographicResponse ModifyCustomerDemographic(ModifyCustomerDemographicRequest request)
        {
            ModifyCustomerDemographicResponse response = new ModifyCustomerDemographicResponse();

            CustomerDemographic customerDemographic = _customerDemographicRepository
                                                      .FindBy(request.CustomerTypeID);

            customerDemographic.Id           = request.CustomerTypeID;
            customerDemographic.CustomerDesc = request.CustomerDesc;
            customerDemographic.Customers    = request.Customers.ConvertToCustomers();


            if (customerDemographic.GetBrokenRules().Count() > 0)
            {
                response.Errors = customerDemographic.GetBrokenRules().ToList();
            }
            else
            {
                try {
                    _customerDemographicRepository.Save(customerDemographic);
                    _uow.Commit();
                    response.Errors = new List <BusinessRule>();
                } catch (Exception ex)
                {
                    response.Errors = new List <BusinessRule>();
                    response.Errors.Add(new BusinessRule("DAL", "DAL_ERROR: " + ex.Message));
                }
            }


            return(response);
        }
        public JsonResult Update(CustomerDemographicDetailView vm)
        {
            GetCustomerDemographicRequest request = new GetCustomerDemographicRequest();

            request.CustomerTypeID = vm.CustomerTypeID;

            ModifyCustomerDemographicRequest updateRequest = _customerDemographicService.GetCustomerDemographic(request).CustomerDemographic.ConvertToModifyCustomerDemographicRequest();

            updateRequest.CustomerTypeID = vm.CustomerTypeID;
            updateRequest.CustomerDesc   = vm.CustomerDesc;

            ModifyCustomerDemographicResponse response = _customerDemographicService.ModifyCustomerDemographic(updateRequest);

            return(Json(response));
        }