예제 #1
0
        public async Task <APIResult <bool> > Edit(int NewID, NewUpdateRequest request)
        {
            var client = _httpClientFactory.CreateClient();

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

            if (request.FormFile != null)
            {
                byte[] data;
                using (var br = new BinaryReader(request.FormFile.OpenReadStream()))
                {
                    data = br.ReadBytes((int)request.FormFile.OpenReadStream().Length);
                }
                ByteArrayContent bytes = new ByteArrayContent(data);
                requestContent.Add(bytes, "FormFile", request.FormFile.FileName);
            }
            requestContent.Add(new StringContent(request.NewName.ToString()), "NewName");
            requestContent.Add(new StringContent(request.NewContent.ToString()), "NewContent");
            requestContent.Add(new StringContent(request.NewDatePost.ToString()), "NewDatePost");
            requestContent.Add(new StringContent(request.NewCount.ToString()), "NewCount");
            requestContent.Add(new StringContent(request.NewCatetoryID.ToString()), "NewCatetoryID");
            //var json = JsonConvert.SerializeObject(request);
            //var httpContent = new StringContent(json, Encoding.UTF8, "application/json");
            var reponse = await client.PutAsync($"/api/News/{NewID}/edit", requestContent);

            if (reponse.IsSuccessStatusCode)
            {
                return(JsonConvert.DeserializeObject <APISuccessedResult <bool> >(await reponse.Content.ReadAsStringAsync()));
            }
            return(JsonConvert.DeserializeObject <APIErrorResult <bool> >(await reponse.Content.ReadAsStringAsync()));
        }
예제 #2
0
        public async Task <IActionResult> Edit([FromForm] NewUpdateRequest request)
        {
            var result = await _newApiClient.Edit(request.NewID, request);

            if (result.IsSuccessed)
            {
                TempData["result"] = "Sửa in tức thành công!";
                return(RedirectToAction("Index"));
            }
            return(RedirectToAction("Error", "Home"));
        }
예제 #3
0
        public async Task <IActionResult> Edit(int NewID, [FromForm] NewUpdateRequest request)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }
            var result = await _newServices.Edit(NewID, request);

            if (result.ResultObj == true)
            {
                return(Ok(result));
            }
            return(BadRequest(result));
        }
예제 #4
0
        public async Task <IActionResult> Edit(int NewID)
        {
            if (!ModelState.IsValid)
            {
                return(View(ModelState));
            }
            var result = await _newApiClient.Details(NewID);

            var listNewCatetory = await _newCatetoryApiClient.GetAllWithoutPaging();

            var newsUpdateRequest = new NewUpdateRequest()
            {
                NewName               = result.ResultObj.NewName,
                NewContent            = result.ResultObj.NewContent,
                NewDatePost           = result.ResultObj.NewDatePost,
                NewCount              = result.ResultObj.NewCount,
                ImagePath             = result.ResultObj.ImagePath,
                NewCatetoryID         = result.ResultObj.NewCatetoryID,
                NewCatetoryViewModels = listNewCatetory.ResultObj
            };

            return(View(newsUpdateRequest));
        }
예제 #5
0
        public async Task <APIResult <bool> > Edit(int NewID, NewUpdateRequest request)
        {
            var news = await _context.News.FirstOrDefaultAsync(x => x.NewID == NewID);

            news.NewName       = request.NewName;
            news.NewContent    = request.NewContent;
            news.NewDatePost   = request.NewDatePost;
            news.NewCount      = request.NewCount;
            news.NewCatetoryID = request.NewCatetoryID;
            if (request.FormFile != null)
            {
                var newimage = await _context.NewImages.FirstOrDefaultAsync(x => x.NewID == NewID);

                if (newimage != null)
                {
                    newimage.DateCreated = DateTime.Now;
                    newimage.ImagePath   = await _newImageServices.SaveFile(request.FormFile);

                    newimage.FileSize = request.FormFile.Length;
                }
                else
                {
                    var newNewImage = new QLSQ.Data.Entities.NewImage()
                    {
                        NewID       = NewID,
                        ImagePath   = await _newImageServices.SaveFile(request.FormFile),
                        DateCreated = DateTime.Now,
                        FileSize    = request.FormFile.Length
                    };
                    _context.NewImages.Add(newNewImage);
                    await _context.SaveChangesAsync();
                }
            }
            await _context.SaveChangesAsync();

            return(new APISuccessedResult <bool>(true));
        }