Esempio n. 1
0
        public async Task <ApiResult <bool> > Update(TransporterUpdateRequest request)
        {
            try
            {
                var result = await _context.Transporters.FindAsync(request.id);

                if (result != null)
                {
                    result.isActive  = request.isActive;
                    result.name      = request.name;
                    result.update_at = DateTime.Now;
                    result.link      = request.link;
                    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 đơn vị vận chuyển này"));
                }
            }
            catch
            {
                return(new ApiErrorResult <bool>("Cập nhật thất bại"));
            }
        }
Esempio n. 2
0
        public async Task <IActionResult> Update([FromForm] TransporterUpdateRequest request)
        {
            var result = await _transportService.Update(request);

            if (!result.IsSuccess)
            {
                return(BadRequest(result));
            }
            return(Ok(result));
        }
Esempio n. 3
0
        public async Task <IActionResult> Update(TransporterUpdateRequest request)
        {
            if (!ModelState.IsValid)
            {
                return(View(request));
            }
            var result = await _transportApiClient.UpdateTransporter(request);

            if (result.IsSuccess)
            {
                TempData["result"] = "Cập nhật thành công";
                return(RedirectToAction("Index"));
            }
            ModelState.AddModelError("", result.Message);
            return(View(request));
        }
Esempio n. 4
0
        public async Task <IActionResult> Update(int id)
        {
            var result = await _transportApiClient.GetById(id);

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

            if (TempData["result"] != null)
            {
                ViewBag.SuccessMsg = TempData["result"];
            }
            return(View(updateRequest));
        }
Esempio n. 5
0
        public async Task <ApiResult <bool> > UpdateTransporter(TransporterUpdateRequest 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.name.ToString()), "name");
            requestContent.Add(new StringContent(request.link.ToString()), "link");
            requestContent.Add(new StringContent(request.isActive.ToString()), "isActive");
            requestContent.Add(new StringContent(request.id.ToString()), "id");

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

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

            if (respone.IsSuccessStatusCode)
            {
                return(JsonConvert.DeserializeObject <ApiSuccessResult <bool> >(result));
            }
            else
            {
                return(JsonConvert.DeserializeObject <ApiErrorResult <bool> >(result));
            }
        }