public async Task <IActionResult> AddSubject(SubjectDtoForAdd model) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } //if (await _repo.SubjectExists(subject.Name)) // return BadRequest(new { message = CustomMessage.RecordAlreadyExist }); _response = await _repo.AddSubject(model); return(Ok(_response)); }
public async Task <ServiceResponse <object> > AddSubject(SubjectDtoForAdd model) { try { var ListToAdd = new List <Subject>(); var subject = model; if (!await SubjectExists(subject.Name)) { ListToAdd.Add(new Subject { Name = subject.Name, Active = true, CreditHours = subject.CreditHours, CreatedById = _LoggedIn_UserID, CreatedDateTime = DateTime.UtcNow, SchoolBranchId = _LoggedIn_BranchID, }); await _context.Subjects.AddRangeAsync(ListToAdd); await _context.SaveChangesAsync(); _serviceResponse.Message = CustomMessage.Added; _serviceResponse.Success = true; } else { _serviceResponse.Message = CustomMessage.RecordAlreadyExist; _serviceResponse.Success = false; } return(_serviceResponse); } catch (DbUpdateException ex) { if (ex.InnerException.Message.Contains("Cannot insert duplicate key row")) { _serviceResponse.Success = false; _serviceResponse.Message = CustomMessage.SqlDuplicateRecord; } else { throw ex; } return(_serviceResponse); } }