コード例 #1
0
        // GET: Details/Create
        public async Task <ActionResult> Create()
        {
            var categories = new List <CategoryBindingViewModels>();
            var response   = await _clientHelper.GetAllCategories();

            if (response.IsSuccessStatusCode)
            {
                var category = await response.Content.ReadAsStringAsync();

                categories = JsonConvert.DeserializeObject <List <CategoryBindingViewModels> >(category);
            }

            var model = new DetailsCreateEditViewModel();
            var list  = new List <SelectListItem>();

            foreach (var cat in categories)
            {
                var selectListItem = new SelectListItem
                {
                    Value    = ((int)cat.id).ToString(),
                    Text     = cat.title,
                    Selected = cat.id == model.categoryId
                };
                list.Add(selectListItem);
            }
            model.categoryName = list;

            return(View(model));
        }
コード例 #2
0
        // GET: Details/Edit/5
        public async Task <ActionResult> Edit(int id)
        {
            var model      = new DetailsCreateEditViewModel();
            var categories = new List <CategoryBindingViewModels>();
            var response   = await _clientHelper.GetDetail(id);

            if (response.IsSuccessStatusCode)
            {
                var modelDetails = await response.Content.ReadAsAsync <DetailsBindingViewModels>();

                model = new DetailsCreateEditViewModel {
                    title       = modelDetails.title,
                    subTitle    = modelDetails.subTitle,
                    image       = modelDetails.image,
                    hour        = modelDetails.hour,
                    place       = modelDetails.place,
                    date        = modelDetails.date,
                    description = modelDetails.description,
                    organizer   = modelDetails.organizer,
                    phone       = modelDetails.phone,
                    youtube     = modelDetails.youtube,
                    tags        = modelDetails.tags
                };
            }

            response = await _clientHelper.GetAllCategories();

            if (response.IsSuccessStatusCode)
            {
                var category = await response.Content.ReadAsStringAsync();

                categories = JsonConvert.DeserializeObject <List <CategoryBindingViewModels> >(category);
            }

            var list = new List <SelectListItem>();

            foreach (var cat in categories)
            {
                var selectListItem = new SelectListItem
                {
                    Value    = ((int)cat.id).ToString(),
                    Text     = cat.title,
                    Selected = cat.id == model.categoryId
                };
                list.Add(selectListItem);
            }

            model.categoryName = list;

            return(View(model));
        }
コード例 #3
0
        public async Task <ActionResult> Edit(int id, DetailsCreateEditViewModel model)
        {
            try
            {
                var response = await _clientHelper.UpdateDetail(id, model);

                if (response.IsSuccessStatusCode)
                {
                    return(RedirectToAction("Index"));
                }

                return(View(model));
            }
            catch
            {
                return(View());
            }
        }
コード例 #4
0
        public async Task <ActionResult> Create(DetailsCreateEditViewModel model)
        {
            try
            {
                var response = await _clientHelper.InsertDetail(model);

                if (response.IsSuccessStatusCode)
                {
                    return(RedirectToAction("Index"));
                }
                else
                {
                    return(View());
                }
            }
            catch
            {
                return(View());
            }
        }
コード例 #5
0
 public async Task <HttpResponseMessage> InsertDetail(DetailsCreateEditViewModel model)
 {
     return(await _client.PostAsJsonAsync("api/Details", model));
 }
コード例 #6
0
 public async Task <HttpResponseMessage> UpdateDetail(int id, DetailsCreateEditViewModel model)
 {
     return(await _client.PutAsJsonAsync($"api/Details/{model.id}/", model));
 }