예제 #1
0
        public async Task <Tuple <int, int> > Create(HocKyNamHocCreateRequest request)
        {
            //Học kỳ mặc định là 1
            //Học kỳ tạo mới = Học kì cuối cùng của năm đó + 1
            int soThuTu_HocKy            = 1;
            var sttCuoiCung_HocKy_CuaNam = _context.HocKy_NamHocs
                                           .Where(x => x.NamHoc == request.NamHoc)
                                           .Select(x => x.HocKy)
                                           .ToArray()
                                           .LastOrDefault();

            soThuTu_HocKy += sttCuoiCung_HocKy_CuaNam;

            if (soThuTu_HocKy > 3)
            {
                throw new QuanLySinhVien_Exceptions("Học kỳ không thể lớn hơn 3");
            }

            var hocKyNamHoc = new HocKy_NamHoc()
            {
                HocKy       = soThuTu_HocKy,
                NamHoc      = request.NamHoc,
                NgayBatDau  = request.NgayBatDau,
                NgayKetThuc = request.NgayKetThuc
            };

            _context.HocKy_NamHocs.Add(hocKyNamHoc);
            await _context.SaveChangesAsync();

            //Tạo dữ liệu tuple để trả về 2 giá trị
            return(Tuple.Create(hocKyNamHoc.HocKy, hocKyNamHoc.NamHoc));
        }
        public async Task <IActionResult> Create([FromForm] HocKyNamHocCreateRequest request)
        {
            if (!ModelState.IsValid)
            {
                return(View(request));
            }

            //Lặp 3 lần tạo 3 học kỳ
            for (int i = 1; i <= 3; i++)
            {
                request.HocKy       = i;
                request.NgayBatDau  = new DateTime(request.NamHoc, 1, 1);
                request.NgayKetThuc = new DateTime(request.NamHoc, 1, 1);

                var result = await _hocKyNamHocApiClient.Create(request);

                if (result)
                {
                    TempData["result"] = "Thêm mới thành công";
                }
            }

            if (TempData["result"] != null)
            {
                return(RedirectToAction("Index"));
            }

            ModelState.AddModelError("", "Thêm mới thất bại");
            return(View(request));
        }
        public async Task <IActionResult> Create([FromBody] HocKyNamHocCreateRequest request)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }
            var ID_hocKyNamHoc = await _hocKyNamHocService.Create(request);

            if (ID_hocKyNamHoc == null)
            {
                return(BadRequest());
            }

            var hocKyNamHoc = await _hocKyNamHocService.GetById(ID_hocKyNamHoc.Item1, ID_hocKyNamHoc.Item2);

            return(CreatedAtAction(nameof(GetById), new { hocky = ID_hocKyNamHoc.Item1, namhoc = ID_hocKyNamHoc.Item2 }, hocKyNamHoc));
        }
예제 #4
0
        public async Task <bool> Create(HocKyNamHocCreateRequest request)
        {
            var sessions = _httpContextAccessor
                           .HttpContext
                           .Session
                           .GetString(SystemConstants.AppSettings.Token);

            var client = _httpClientFactory.CreateClient();

            client.BaseAddress = new Uri(_configuration[SystemConstants.AppSettings.BaseAddress]);
            client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", sessions);

            var jsonString = JsonConvert.SerializeObject(request);
            var content    = new StringContent(jsonString, Encoding.UTF8, "application/json");

            var response = await client.PostAsync($"/api/hockynamhocs/", content);

            return(response.IsSuccessStatusCode);
        }