public void TestUpdateTerminalInvalidId()
        {
            TerminalUpdateRequest updateRequest = new TerminalUpdateRequest();
            Result <Terminal>     result        = API.UpdateTerminal(0, updateRequest);

            _logger.DebugFormat("Result=\n{0}", JsonConvert.SerializeObject(result));
            Assert.AreEqual(result.BusinessCode, -1);
        }
        public void TestCreateUpdateActivateDisableDelete()
        {
            //start create terminal
            TerminalCreateRequest createRequest = new TerminalCreateRequest();

            createRequest.Name         = "Terminal 1";
            createRequest.ResellerName = "reseller test";
            createRequest.MerchantName = "merchant test";
            createRequest.SerialNo     = "ZT0001";
            createRequest.ModelName    = "A920";
            Result <Terminal> result = API.CreateTerminal(createRequest);

            _logger.DebugFormat("Result=\n{0}", JsonConvert.SerializeObject(result));
            Assert.AreEqual(result.BusinessCode, 0);

            long terminalId = result.Data.ID;


            //start to update terminal
            TerminalUpdateRequest updateRequest = new TerminalUpdateRequest();

            updateRequest.Name         = "Terminal 1";
            updateRequest.Location     = "Suzhou";
            updateRequest.MerchantName = "merchant test";
            updateRequest.ResellerName = "reseller test";
            updateRequest.SerialNo     = "ZT0002";
            updateRequest.ModelName    = "A920";
            Result <Terminal> updateResult = API.UpdateTerminal(terminalId, updateRequest);

            _logger.DebugFormat("Update Result=\n{0}", JsonConvert.SerializeObject(updateResult));
            Assert.AreEqual(updateResult.BusinessCode, 0);


            Result <string> activateResult = API.ActivateTerminal(terminalId);

            _logger.DebugFormat("Activate Result=\n{0}", JsonConvert.SerializeObject(activateResult));
            Assert.AreEqual(updateResult.BusinessCode, 0);

            Result <string> disableResult = API.DisableTerminal(terminalId);

            _logger.DebugFormat("Disable Result=\n{0}", JsonConvert.SerializeObject(disableResult));
            Assert.AreEqual(disableResult.BusinessCode, 0);

            Result <string> deleteResult = API.DeleteTerminal(terminalId);

            _logger.DebugFormat("Delete Result=\n{0}", JsonConvert.SerializeObject(deleteResult));
            Assert.AreEqual(deleteResult.BusinessCode, 0);

            Result <Terminal> terminal = API.GetTerminal(terminalId);

            _logger.DebugFormat("Get Terminal Result After Delete=\n{0}", JsonConvert.SerializeObject(terminal));
            Assert.AreEqual(terminal.BusinessCode, 1801);
        }
 public Result<Terminal> UpdateTerminal(long terminalId,TerminalUpdateRequest terminalUpdateRequest){
     IList<string> validationErrs = ValidateUpdate(terminalId, terminalUpdateRequest, new TerminalUpdateValidator(), "terminalIdInvalid", "terminalUpdateRequestIsNull");
     if(validationErrs.Count>0){
         return new Result<Terminal>(validationErrs);
     }
     RestRequest request = new RestRequest(UPDATE_TERMINAL_URL, Method.PUT);
     var terminalJson = JsonConvert.SerializeObject(terminalUpdateRequest);
     request.AddParameter(Constants.CONTENT_TYPE_JSON, terminalJson, ParameterType.RequestBody);
     request.AddUrlSegment("terminalId",terminalId);
     var responseContent = Execute(request);
     TerminalResponse terminalResponse = JsonConvert.DeserializeObject<TerminalResponse>(responseContent);
     Result<Terminal> result = new Result<Terminal>(terminalResponse);
     return result;
 }
        public void TestUpdateTerminalNotExit()
        {
            TerminalUpdateRequest updateRequest = new TerminalUpdateRequest();

            updateRequest.Name         = "test";
            updateRequest.Location     = "beijing";
            updateRequest.MerchantName = "testmerchant";
            updateRequest.ResellerName = "testreseller";
            updateRequest.SerialNo     = "sn0001";
            updateRequest.ModelName    = "A920";
            Result <Terminal> result = API.UpdateTerminal(10, updateRequest);

            _logger.DebugFormat("Result=\n{0}", JsonConvert.SerializeObject(result));
            Assert.AreNotEqual(result.BusinessCode, 0);
        }