public void UpdateJournalData()
        {
            Stopwatch sw = new Stopwatch();

            sw.Start();
            var journalData = Utils.GetWebApiData("FinanceWebApi", getJournalsURL);

            Task.WaitAll(journalData);
            sw.Stop();
            var elapsed = sw.ElapsedMilliseconds / 1000;

            var response = JsonConvert.DeserializeObject <Response>(journalData.Result);

            var serializedPayload = JsonConvert.SerializeObject(response.payload);

            var     result         = JsonConvert.DeserializeObject <List <object> >(serializedPayload);
            JObject JournalId      = (JObject)result[0];
            var     properties     = JournalId.Properties();
            var     JournalIdValue = properties.Where(x => x.Name == "source").FirstOrDefault().Value.ToString();

            Assert.IsTrue(response.isSuccessful, "Request Call Successful");

            //Account From
            var getAccounts = Utils.GetWebApiData("FinanceWebApi", getAccountsURL);

            Task.WaitAll(getAccounts);
            var responseAccountFrom = JsonConvert.DeserializeObject <Response>(getAccounts.Result);
            var serializedPayloads  = JsonConvert.SerializeObject(responseAccountFrom.payload);
            var resultAccount       = JsonConvert.DeserializeObject <List <object> >(serializedPayloads);

            // Get Value AccountFrom
            JObject accountIdFrom      = (JObject)resultAccount[0];
            var     accountProperties  = accountIdFrom.Properties();
            var     accountIdValueFrom = (int)accountProperties.Where(x => x.Name == "AccountId").FirstOrDefault().Value;

            // Get Value AccountTo
            JObject accountIdTo         = (JObject)resultAccount[1];
            var     accountPropertiesTo = accountIdTo.Properties();
            var     accountIdValueTo    = (int)accountPropertiesTo.Where(x => x.Name == "AccountId").FirstOrDefault().Value;


            var payload = new JournalInputDto
            {
                AccountFrom = accountIdValueFrom,
                AccountTo   = accountIdValueTo,
                Fund        = "ASIA_FOCUS",
                Value       = 123321123
            };

            var updateJournal = Utils.PutWebApi("FinanceWebApi", $"/api/journal/{JournalIdValue}", payload);

            Task.WaitAll(updateJournal);
            dynamic resultUpdateJournal = JsonConvert.DeserializeObject <Response>(updateJournal.Result);

            Assert.IsTrue(resultUpdateJournal.isSuccessful == true, "Journal Updated");
        }
 public object UpdateJournal(Guid source, [FromBody] JournalInputDto journal)
 {
     return(!ModelState.IsValid || journal == null
         ? BadRequest(ModelState)
         : controller.UpdateJournal(source, journal));
 }
 public object AddJournal(JournalInputDto journal)
 {
     return(!ModelState.IsValid || journal == null
         ? BadRequest(ModelState)
         : controller.AddJournal(journal));
 }
 public object UpdateJournal(Guid source, JournalInputDto journal)
 {
     throw new NotImplementedException();
 }
 public object AddJournal(JournalInputDto journal)
 {
     throw new NotImplementedException();
 }
        public void CreateJournal()
        {
            //GET FUNDS
            var getFunds = Utils.GetWebApiData("ReferenceWebApi", getFundsURL);

            Task.WaitAll(getFunds);
            var     response          = JsonConvert.DeserializeObject <Response>(getFunds.Result);
            var     serializedPayload = JsonConvert.SerializeObject(response.payload);
            var     result            = JsonConvert.DeserializeObject <List <object> >(serializedPayload);
            JObject fundCode          = (JObject)result[0];
            var     properties        = fundCode.Properties();
            var     fundCodeValue     = properties.Where(x => x.Name == "FundCode").FirstOrDefault().Value.ToString();

            Assert.IsTrue(response.isSuccessful == true, "Request Call Successful");

            //Account From
            var getAccounts = Utils.GetWebApiData("FinanceWebApi", getAccountsURL);

            Task.WaitAll(getAccounts);
            var responseAccountFrom = JsonConvert.DeserializeObject <Response>(getAccounts.Result);
            var serializedPayloads  = JsonConvert.SerializeObject(responseAccountFrom.payload);
            var resultAccount       = JsonConvert.DeserializeObject <List <object> >(serializedPayloads);
            // Get Value AccountFrom
            JObject accountIdFrom      = (JObject)resultAccount[0];
            var     accountProperties  = accountIdFrom.Properties();
            var     accountIdValueFrom = (int)accountProperties.Where(x => x.Name == "AccountId").FirstOrDefault().Value;

            // Get Value AccountTo
            JObject accountIdTo         = (JObject)resultAccount[1];
            var     accountPropertiesTo = accountIdTo.Properties();
            var     accountIdValueTo    = (int)accountPropertiesTo.Where(x => x.Name == "AccountId").FirstOrDefault().Value;

            Assert.IsTrue(responseAccountFrom.isSuccessful == true, "Request Call Successful");

            var payload = new JournalInputDto
            {
                AccountFrom = accountIdValueFrom,
                AccountTo   = accountIdValueTo,
                Fund        = fundCodeValue,
                Value       = 123321123
            };

            var Invalidpayload = new JournalInputDto
            {
                AccountFrom = 0,
                AccountTo   = 0,
                Fund        = "",
                Value       = 0
            };

            var createJournal = Utils.PostWebApi("FinanceWebApi", $"{journalsURL}", payload);

            Task.WaitAll(createJournal);

            var resultJournal    = JsonConvert.DeserializeObject <Response>(createJournal.Result);
            var serializePayload = JsonConvert.SerializeObject(response.payload);
            var fResult          = JsonConvert.DeserializeObject <List <Journal> >(serializedPayload);

            Assert.IsTrue(resultJournal.isSuccessful == true, "Journal Added");

            var createJournalInvalid = Utils.PostWebApi("FinanceWebApi", $"{journalsURL}", Invalidpayload);

            Task.WaitAll(createJournalInvalid);

            var resultJournalInvalid = JsonConvert.DeserializeObject <Response>(createJournalInvalid.Result);
            var serializPayload      = JsonConvert.SerializeObject(response.payload);
            var finalResult          = JsonConvert.DeserializeObject <List <Journal> >(serializedPayload);

            Assert.IsTrue(resultJournalInvalid.isSuccessful == false, "The Request Failed! Try Again");
        }