public async Task <IActionResult> PutApprovalLevel(int id, ApprovalLevelDTO approvalLevelDTO) { if (id != approvalLevelDTO.Id) { return(Conflict(new RespStatus { Status = "Failure", Message = "Id state is invalid" })); } var approvalLevel = await _context.ApprovalLevels.FindAsync(id); approvalLevel.Id = approvalLevelDTO.Id; approvalLevel.LevelDesc = approvalLevelDTO.LevelDesc; _context.ApprovalLevels.Update(approvalLevel); //_context.Entry(expenseReimburseRequestDTO).State = EntityState.Modified; try { await _context.SaveChangesAsync(); } catch (DbUpdateConcurrencyException) { if (!ApprovalLevelExists(id)) { return(Conflict(new RespStatus { Status = "Failure", Message = "Approval Id invalid!" })); } else { throw; } } return(Ok(new RespStatus { Status = "Success", Message = "Approval Level Details Updated!" })); }
public async Task <ActionResult <ApprovalLevel> > PostApprovalLevel(ApprovalLevelDTO approvalLevelDto) { var aprlevel = _context.ApprovalLevels.Where(a => a.Level == approvalLevelDto.Level).FirstOrDefault(); if (aprlevel != null) { return(Conflict(new RespStatus { Status = "Failure", Message = "Approval Level Already Exists" })); } if (approvalLevelDto.Level != 1) { if (approvalLevelDto.Level != _context.ApprovalLevels.Select(x => x.Level).Max() + 1) { return(Conflict(new RespStatus { Status = "Failure", Message = "Approval Level need to be Linear integer" })); } } ApprovalLevel approvalLevel = new() { Level = approvalLevelDto.Level, LevelDesc = approvalLevelDto.LevelDesc }; _context.ApprovalLevels.Add(approvalLevel); await _context.SaveChangesAsync(); return(Ok(new RespStatus { Status = "Success", Message = "New Approval Level Created!" })); }