public JsonResult Update(PosReceiptOfTestingDetailView vm)
        {
            GetPosReceiptOfTestingRequest request = new GetPosReceiptOfTestingRequest();

            request.ReceiptOfTestingId = vm.ReceiptOfTestingId;

            ModifyPosReceiptOfTestingRequest updateRequest = _posReceiptOfTestingService.GetPosReceiptOfTesting(request).PosReceiptOfTesting.ConvertToModifyPosReceiptOfTestingRequest();

            updateRequest.ReceiptOfTestingId = vm.ReceiptOfTestingId;
            updateRequest.TestDate           = vm.TestDate;
            GetPosMerchantRequest posMerchantRequest = new GetPosMerchantRequest();

            posMerchantRequest.MerchantId = vm.PosMerchantMerchantId;
            updateRequest.PosMerchant     = _posMerchantService.GetPosMerchant(posMerchantRequest).PosMerchant;
            updateRequest.AgentAName      = vm.AgentAName;
            updateRequest.AgentBName      = vm.AgentBName;
            updateRequest.PosId           = vm.PosId;

            ModifyPosReceiptOfTestingResponse response = _posReceiptOfTestingService.ModifyPosReceiptOfTesting(updateRequest);

            return(Json(response));
        }
        public ModifyPosReceiptOfTestingResponse ModifyPosReceiptOfTesting(ModifyPosReceiptOfTestingRequest request)
        {
            ModifyPosReceiptOfTestingResponse response = new ModifyPosReceiptOfTestingResponse();

            PosReceiptOfTesting posReceiptOfTesting = _posReceiptOfTestingRepository
                                                      .FindBy(request.ReceiptOfTestingId);

            posReceiptOfTesting.Id           = request.ReceiptOfTestingId;
            posReceiptOfTesting.TestDate     = request.TestDate;
            posReceiptOfTesting.AgentAName   = request.AgentAName;
            posReceiptOfTesting.AgentBName   = request.AgentBName;
            posReceiptOfTesting.PosId        = request.PosId;
            posReceiptOfTesting.PosTerminals = request.PosTerminals.ConvertToPosTerminals();
            posReceiptOfTesting.PosMerchant  = request.PosMerchant.ConvertToPosMerchant();


            if (posReceiptOfTesting.GetBrokenRules().Count() > 0)
            {
                response.Errors = posReceiptOfTesting.GetBrokenRules().ToList();
            }
            else
            {
                try {
                    _posReceiptOfTestingRepository.Save(posReceiptOfTesting);
                    _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);
        }