示例#1
0
        public async Task <IActionResult> Update([FromForm] SlideUpdateRequest request)
        {
            var result = await _slideService.Update(request);

            if (!result.IsSuccess)
            {
                return(BadRequest(result));
            }
            return(Ok(result));
        }
示例#2
0
        public async Task <IActionResult> Update(SlideUpdateRequest request)
        {
            if (!ModelState.IsValid)
            {
                return(View(request));
            }
            var result = await _slideApiClient.UpdateSlide(request);

            if (result.IsSuccess)
            {
                TempData["result"] = "Cập nhật thành công";
                return(RedirectToAction("Index"));
            }
            ModelState.AddModelError("", result.Message);
            return(View(request));
        }
示例#3
0
        public async Task <ApiResult <bool> > UpdateSlide(SlideUpdateRequest request)
        {
            var client = _httpClientFactory.CreateClient();

            client.BaseAddress = new Uri(_configuration["BaseAddress"]);

            var requestContent = new MultipartFormDataContent();

            if (request.image != null)
            {
                byte[] data;
                using (var br = new BinaryReader(request.image.OpenReadStream()))
                {
                    data = br.ReadBytes((int)request.image.OpenReadStream().Length);
                }
                ByteArrayContent bytes = new ByteArrayContent(data);
                requestContent.Add(bytes, "image", request.image.FileName);
            }
            requestContent.Add(new StringContent(request.link.ToString()), "link");
            requestContent.Add(new StringContent(request.display_order.ToString()), "display_order");
            requestContent.Add(new StringContent(request.status.ToString()), "status");
            requestContent.Add(new StringContent(request.id.ToString()), "id");

            var respone = await client.PutAsync($"/api/slide", requestContent);

            var result = await respone.Content.ReadAsStringAsync();

            if (respone.IsSuccessStatusCode)
            {
                return(JsonConvert.DeserializeObject <ApiSuccessResult <bool> >(result));
            }
            else
            {
                return(JsonConvert.DeserializeObject <ApiErrorResult <bool> >(result));
            }
        }
示例#4
0
        public async Task <IActionResult> Update(int id)
        {
            var result = await _slideApiClient.GetById(id);

            if (!result.IsSuccess || result.ResultObject == null)
            {
                TempData["error"] = result.Message;
                return(RedirectToAction("Index"));
            }
            var updateRequest = new SlideUpdateRequest()
            {
                id            = id,
                status        = result.ResultObject.status,
                link          = result.ResultObject.link,
                display_order = result.ResultObject.display_order,
                imageBase64   = result.ResultObject.image
            };

            if (TempData["result"] != null)
            {
                ViewBag.SuccessMsg = TempData["result"];
            }
            return(View(updateRequest));
        }
示例#5
0
        public async Task <ApiResult <bool> > Update(SlideUpdateRequest request)
        {
            try
            {
                var result = await _context.Slides.FindAsync(request.id);

                if (result != null)
                {
                    result.status    = request.status;
                    result.update_at = DateTime.Now;
                    result.link      = request.link;
                    if (result.display_order != request.display_order)
                    {
                        await DisplayOrder(result.id, request.display_order);
                    }
                    if (request.image != null)
                    {
                        await _storageService.DeleteFileAsync(result.image);

                        result.image = await this.SaveFile(request.image);
                    }

                    await _context.SaveChangesAsync();

                    return(new ApiSuccessResult <bool>());
                }
                else
                {
                    return(new ApiErrorResult <bool>("Không tìm thấy Slide này"));
                }
            }
            catch
            {
                return(new ApiErrorResult <bool>("Cập nhật thất bại"));
            }
        }