public async Task <HuongNghienCuu> Create(HuongNghienCuuForCreateDto huongNghienCuu) { var danhSachHuongNghienCuu = await _context.DanhSachHuongNghienCuu.OrderByDescending(x => x.MaHuongNghienCuu).FirstOrDefaultAsync(); var maHuongNghienCuu = 0; if (danhSachHuongNghienCuu == null) { maHuongNghienCuu = 0; } else { maHuongNghienCuu = danhSachHuongNghienCuu.MaHuongNghienCuu + 1; } var newHuongNghienCuu = new HuongNghienCuu { MaHuongNghienCuu = maHuongNghienCuu, TenHuongNghienCuu = huongNghienCuu.TenHuongNghienCuu, ThoiGianTao = DateTime.Now, ThoiGianCapNhat = DateTime.Now, TrangThai = 1 }; await _context.DanhSachHuongNghienCuu.AddAsync(newHuongNghienCuu); await _context.SaveChangesAsync(); return(newHuongNghienCuu); }
public async Task <IActionResult> Create(HuongNghienCuuForCreateDto huongNghienCuu) { try { var validationResult = _repo.ValidateBeforeCreate(huongNghienCuu); if (validationResult.IsValid) { var result = await _repo.Create(huongNghienCuu); return(StatusCode(201, new SuccessResponseDto { Message = "Tạo " + _entityName + " mới thành công!", Result = new SuccessResponseResultWithSingleDataDto { Data = result } })); } else { return(StatusCode(500, new FailedResponseDto { Message = "Tạo " + _entityName + " mới thất bại!", Result = new FailedResponseResultDto { Errors = validationResult.Errors } })); } } catch (Exception e) { return(StatusCode(500, new FailedResponseDto { Message = "Tạo " + _entityName + " mới thất bại!", Result = new FailedResponseResultDto { Errors = e } })); } }
public ValidationResultDto ValidateBeforeCreate(HuongNghienCuuForCreateDto huongNghienCuu) { var totalTenHuongNghienCuu = _context.DanhSachHuongNghienCuu.Count(x => x.TenHuongNghienCuu.ToLower().Contains(huongNghienCuu.TenHuongNghienCuu.ToLower())); IDictionary <string, string[]> Errors = new Dictionary <string, string[]>(); if (totalTenHuongNghienCuu >= 1) { Errors.Add("tenHuongNghienCuu", new string[] { "tenHuongNghienCuu is duplicated!" }); return(new ValidationResultDto { IsValid = false, Errors = Errors }); } else { return(new ValidationResultDto { IsValid = true }); } }