Пример #1
0
        public async Task <ActionResult> Create(ExpenseGroup expensegroup)
        {
            try
            {
                var client = PWETHttpClient.GetClient();

                // an expensegroup is created with status "Open", for the current user
                expensegroup.ExpenseGroupStatusId = 1;
                expensegroup.UserId = "IReallyDontKnow";
                var serializedItemToCreate = JsonConvert.SerializeObject(expensegroup);

                //PostAsync
                var response = await client.PostAsync("api/expensegroup", new StringContent(serializedItemToCreate, System.Text.Encoding.Unicode, "application/json"));

                if (response.IsSuccessStatusCode)
                {
                    return(RedirectToAction("Index"));
                }
                else
                {
                    return(Content("An error occurred"));
                }
            }
            catch
            {
                return(Content("An error occurred."));
            }
        }
Пример #2
0
        public async Task <ActionResult> Edit(int id, ExpenseGroup expensegroup)
        {
            try
            {
                var client = PWETHttpClient.GetClient();

                JsonPatchDocument <ExpenseGroupDTO> patchDoc = new JsonPatchDocument <ExpenseGroupDTO>();
                patchDoc.Replace(eg => eg.Title, expensegroup.Title);
                patchDoc.Replace(eg => eg.Description, expensegroup.Description);
                var serializedItemToUpdate = JsonConvert.SerializeObject(patchDoc);

                var response = await client.PatchAsync("api/expensegroup/" + id, new StringContent(serializedItemToUpdate, System.Text.Encoding.Unicode, "application/json"));

                if (response.IsSuccessStatusCode)
                {
                    return(RedirectToAction("Index"));
                }
                else
                {
                    return(Content("An error occurred"));
                }
            }
            catch
            {
                return(Content("An error occurred."));
            }
        }
Пример #3
0
        public async Task <ActionResult> Edit(int id, Expense expense)
        {
            try
            {
                var client = PWETHttpClient.GetClient();

                JsonPatchDocument <ExpenseDTO> patchDoc = new JsonPatchDocument <ExpenseDTO>();
                patchDoc.Replace(e => e.Amount, expense.Amount);
                patchDoc.Replace(e => e.Date, expense.Date);
                patchDoc.Replace(e => e.Description, expense.Description);

                var serializedItemToUpdate   = JsonConvert.SerializeObject(patchDoc);
                HttpResponseMessage response = await client.PatchAsync("api/expenses/" + id, new StringContent(serializedItemToUpdate, System.Text.Encoding.Unicode, "application/json"));

                if (response.IsSuccessStatusCode)
                {
                    return(RedirectToAction("Details", "ExpenseGroup", new { id = expense.ExpenseGroupId }));
                }
                else
                {
                    return(Content("An error occurred"));
                }
            }
            catch
            {
                return(Content("An error occurred"));
            }
        }
Пример #4
0
        public async Task <ActionResult> Index()
        {
            var client = PWETHttpClient.GetClient();

            HttpResponseMessage egsResponse = await client.GetAsync("api/expensegroup");

            if (egsResponse.IsSuccessStatusCode)
            {
                string egsContent = await egsResponse.Content.ReadAsStringAsync();

                var lstExpenses = JsonConvert.DeserializeObject <Expense>(egsContent);
            }

            return(View());
        }
Пример #5
0
        public async Task <ActionResult> Details(int id)
        {
            var client = PWETHttpClient.GetClient();

            HttpResponseMessage response = await client.GetAsync("api/expensegroup/" + id + "?fields=id,description,title,expenses");

            string content = await response.Content.ReadAsStringAsync();

            if (response.IsSuccessStatusCode)
            {
                var model = JsonConvert.DeserializeObject <ExpenseGroup>(content);
                return(View(model));
            }

            return(Content("An error occured"));
        }
Пример #6
0
        public async Task <ActionResult> Edit(int id)
        {
            var client = PWETHttpClient.GetClient();

            HttpResponseMessage response = await client.GetAsync("api/expenses/" + id + "?fields=id,description,date,amount");

            string content = await response.Content.ReadAsStringAsync();

            if (response.IsSuccessStatusCode)
            {
                var model = JsonConvert.DeserializeObject <Expense>(content);
                return(View(model));
            }
            else
            {
                return(Content("An error occurred"));
            }
        }
Пример #7
0
        public async Task <ActionResult> Index(int?page = 1)
        {
            var ExpenseGroupsVM = new ExpenseGroupsViewModel();

            var client = PWETHttpClient.GetClient();

            //Statusses
            HttpResponseMessage egssResponse = await client.GetAsync("api/expensegroupstatusses");

            if (egssResponse.IsSuccessStatusCode)
            {
                string egsContent = await egssResponse.Content.ReadAsStringAsync();

                var lstExpensesGroupsStatus = JsonConvert.DeserializeObject <IEnumerable <ExpenseGroupStatus> >(egsContent);

                ExpenseGroupsVM.ExpenseGroupStatus = lstExpensesGroupsStatus;
            }
            else
            {
                return(Content("An error has occurred"));
            }

            //Expenses
            HttpResponseMessage Response = await client.GetAsync("api/expensegroup?sort=expensegroupstatusid,title&page=" + page + "&pagesize=5");

            if (Response.IsSuccessStatusCode)
            {
                string content = await Response.Content.ReadAsStringAsync();

                var pagingInfo = HeaderParser.FindAndParsePagingInfo(Response.Headers);

                var lstExpenseGroups       = JsonConvert.DeserializeObject <IEnumerable <ExpenseGroup> >(content);
                var pagedListExpenseGroups = new StaticPagedList <ExpenseGroup>(lstExpenseGroups, pagingInfo.CurrentPage, pagingInfo.PageSize, pagingInfo.TotalCount);

                ExpenseGroupsVM.ExpenseGroup = pagedListExpenseGroups;
                ExpenseGroupsVM.PagingInfo   = pagingInfo;
            }
            else
            {
                return(Content("An error occurred."));
            }

            return(View(ExpenseGroupsVM));
        }
Пример #8
0
        public async Task <ActionResult> Delete(int id)
        {
            try
            {
                var client = PWETHttpClient.GetClient();

                var response = await client.DeleteAsync("api/expensegroup/" + id);

                if (response.IsSuccessStatusCode)
                {
                    return(RedirectToAction("Index"));
                }
                else
                {
                    return(Content("An error occurred"));
                }
            }
            catch
            {
                return(Content("An error occurred"));
            }
        }
Пример #9
0
        public async Task <ActionResult> Delete(int expensegroupId, int id)
        {
            try
            {
                var client = PWETHttpClient.GetClient();

                HttpResponseMessage response = await client.DeleteAsync("api/expenses/" + id);

                if (response.IsSuccessStatusCode)
                {
                    return(RedirectToAction("Details", "ExpenseGroup", new { id = expensegroupId }));
                }
                else
                {
                    return(Content("An error occurred"));
                }
            }
            catch
            {
                return(Content("An error occurred"));
            }
        }
Пример #10
0
        public async Task <ActionResult> Create(Expense expense)
        {
            try
            {
                var client = PWETHttpClient.GetClient();
                var serializedItemToCreate   = JsonConvert.SerializeObject(expense);
                HttpResponseMessage response = await client.PostAsync("api/expenses", new StringContent(serializedItemToCreate, System.Text.Encoding.Unicode, "application/json"));

                if (response.IsSuccessStatusCode)
                {
                    return(RedirectToAction("Details", "ExpenseGroup", new { id = expense.ExpenseGroupId }));
                }
                else
                {
                    return(Content("An error occurred"));
                }
            }
            catch
            {
                return(Content("An error occurred"));
            }
        }