コード例 #1
0
ファイル: NewApiClient.cs プロジェクト: dinhducbac/QLSQ
        public async Task <APIResult <bool> > Create(NewCreateRequest request)
        {
            var test   = request.NewContent;
            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.PostAsync($"/api/News/create", requestContent);

            if (reponse.IsSuccessStatusCode)
            {
                return(JsonConvert.DeserializeObject <APISuccessedResult <bool> >(await reponse.Content.ReadAsStringAsync()));
            }
            return(JsonConvert.DeserializeObject <APIErrorResult <bool> >(await reponse.Content.ReadAsStringAsync()));
        }
コード例 #2
0
ファイル: NewServices.cs プロジェクト: dinhducbac/QLSQ
        public async Task <APIResult <bool> > Create(NewCreateRequest request)
        {
            var news = new QLSQ.Data.Entities.New()
            {
                NewName       = request.NewName,
                NewContent    = request.NewContent,
                NewDatePost   = DateTime.Now,
                NewCount      = request.NewCount,
                NewCatetoryID = request.NewCatetoryID
            };

            if (request.FormFile != null)
            {
                news.NewImages = new List <Data.Entities.NewImage>()
                {
                    new QLSQ.Data.Entities.NewImage()
                    {
                        NewID       = news.NewID,
                        ImagePath   = await _newImageServices.SaveFile(request.FormFile),
                        DateCreated = DateTime.Now,
                        FileSize    = request.FormFile.Length
                    }
                };
            }
            _context.News.Add(news);
            await _context.SaveChangesAsync();

            return(new APISuccessedResult <bool>(true));
        }
コード例 #3
0
ファイル: NewController.cs プロジェクト: dinhducbac/QLSQ
        public async Task <IActionResult> Create()
        {
            var result = await _newCatetoryApiClient.GetAllWithoutPaging();

            var newCreateRequest = new NewCreateRequest()
            {
                NewCatetoryViewModels = result.ResultObj
            };

            return(View(newCreateRequest));
        }
コード例 #4
0
ファイル: NewsController.cs プロジェクト: dinhducbac/QLSQ
        public async Task <IActionResult> Create([FromForm] NewCreateRequest request)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }
            var result = await _newServices.Create(request);

            if (result.ResultObj == true)
            {
                return(Ok(result));
            }
            return(BadRequest(result));
        }
コード例 #5
0
ファイル: NewController.cs プロジェクト: dinhducbac/QLSQ
        public async Task <IActionResult> Create([FromForm] NewCreateRequest request)
        {
            if (!ModelState.IsValid)
            {
                return(View(ModelState));
            }
            var result = await _newApiClient.Create(request);

            if (result.IsSuccessed)
            {
                TempData["result"] = "Tạo tin mới thành công!";
                return(RedirectToAction("Index"));
            }
            return(RedirectToAction("Error", "Home"));
        }