public ModifyPosSimProviderResponse ModifyPosSimProvider(ModifyPosSimProviderRequest request)
        {
            ModifyPosSimProviderResponse response = new ModifyPosSimProviderResponse();

            PosSimProvider posSimProvider = _posSimProviderRepository
                                            .FindBy(request.SimProviderId);

            posSimProvider.Id = request.SimProviderId;
            posSimProvider.SimProviderName = request.SimProviderName;
            posSimProvider.PosSims         = request.PosSims.ConvertToPosSims();


            if (posSimProvider.GetBrokenRules().Count() > 0)
            {
                response.Errors = posSimProvider.GetBrokenRules().ToList();
            }
            else
            {
                try {
                    _posSimProviderRepository.Save(posSimProvider);
                    _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(PosSimProviderDetailView vm)
        {
            GetPosSimProviderRequest request = new GetPosSimProviderRequest();

            request.SimProviderId = vm.SimProviderId;

            ModifyPosSimProviderRequest updateRequest = _posSimProviderService.GetPosSimProvider(request).PosSimProvider.ConvertToModifyPosSimProviderRequest();

            updateRequest.SimProviderId   = vm.SimProviderId;
            updateRequest.SimProviderName = vm.SimProviderName;

            ModifyPosSimProviderResponse response = _posSimProviderService.ModifyPosSimProvider(updateRequest);

            return(Json(response));
        }