public async Task <ActionResult <ApprovalRoleMap> > PostApprovalRoleMap(ApprovalRoleMapDTO approvalRoleMapDto) { var AprvRolMap = _context.ApprovalRoleMaps.Where(a => a.ApprovalGroupId == approvalRoleMapDto.ApprovalGroupId && a.RoleId == approvalRoleMapDto.RoleId && a.ApprovalLevelId == approvalRoleMapDto.ApprovalLevelId).FirstOrDefault(); if (AprvRolMap != null) { return(Conflict(new RespStatus { Status = "Failure", Message = "Approval Role Map Already Exists" })); } var approvalgroup = _context.ApprovalRoleMaps.Where(a => a.ApprovalGroupId == approvalRoleMapDto.ApprovalGroupId).ToList(); int maxApprLevel = 0; if (approvalgroup.Count > 0) { maxApprLevel = _context.ApprovalRoleMaps.Where(a => a.ApprovalGroupId == approvalRoleMapDto.ApprovalGroupId).OrderByDescending(a => a.ApprovalLevelId).First().ApprovalLevelId; } if (approvalRoleMapDto.ApprovalLevelId != maxApprLevel + 1) { return(Conflict(new RespStatus { Status = "Failure", Message = "Assign only in Linear Increasing Order" })); } //Check for Duplicate Levels in the same group AprvRolMap = _context.ApprovalRoleMaps.Where(a => a.ApprovalGroupId == approvalRoleMapDto.ApprovalGroupId && a.ApprovalLevelId == approvalRoleMapDto.ApprovalLevelId).FirstOrDefault(); if (AprvRolMap != null) { return(Conflict(new RespStatus { Status = "Failure", Message = "Group Duplicate Approval Levels are Not allowed !" })); } ApprovalRoleMap approvalRoleMap = new ApprovalRoleMap { Id = approvalRoleMapDto.Id, ApprovalGroupId = approvalRoleMapDto.ApprovalGroupId, RoleId = approvalRoleMapDto.RoleId, ApprovalLevelId = approvalRoleMapDto.ApprovalLevelId }; _context.ApprovalRoleMaps.Add(approvalRoleMap); await _context.SaveChangesAsync(); return(Ok(new RespStatus { Status = "Success", Message = "Approval To Role... Mapped!" })); }
public async Task <ActionResult <ApprovalRoleMap> > PostApprovalRoleMap(ApprovalRoleMapDTO approvalRoleMapDto) { ApprovalRoleMap approvalRoleMap = new ApprovalRoleMap(); approvalRoleMap.Id = approvalRoleMapDto.Id; approvalRoleMap.ApprovalGroupId = approvalRoleMapDto.ApprovalGroupId; approvalRoleMap.RoleId = approvalRoleMapDto.RoleId; approvalRoleMap.ApprovalLevel = approvalRoleMapDto.ApprovalLevel; _context.ApprovalRoleMaps.Add(approvalRoleMap); await _context.SaveChangesAsync(); return(CreatedAtAction("GetApprovalRoleMap", new { id = approvalRoleMap.Id }, approvalRoleMap)); }
public async Task <ActionResult <ApprovalRoleMapDTO> > GetApprovalRoleMap(int id) { ApprovalRoleMapDTO approvalRoleMapDTO = new ApprovalRoleMapDTO(); var approvalRoleMap = await _context.ApprovalRoleMaps.FindAsync(id); if (approvalRoleMap == null) { return(NotFound()); } approvalRoleMapDTO.Id = approvalRoleMap.Id; approvalRoleMapDTO.ApprovalGroupId = approvalRoleMap.ApprovalGroupId; approvalRoleMapDTO.RoleId = approvalRoleMap.RoleId; approvalRoleMapDTO.ApprovalLevel = approvalRoleMap.ApprovalLevel; return(approvalRoleMapDTO); }
public async Task <IActionResult> PutApprovalRoleMap(int id, ApprovalRoleMapDTO approvalRoleMapDto) { if (id != approvalRoleMapDto.Id) { return(Conflict(new RespStatus { Status = "Failure", Message = "Id is invalid" })); } var approvalRoleMap = await _context.ApprovalRoleMaps.FindAsync(id); approvalRoleMap.Id = approvalRoleMapDto.Id; approvalRoleMap.ApprovalGroupId = approvalRoleMapDto.ApprovalGroupId; approvalRoleMap.RoleId = approvalRoleMapDto.RoleId; approvalRoleMap.ApprovalLevelId = approvalRoleMapDto.ApprovalLevelId; _context.ApprovalRoleMaps.Update(approvalRoleMap); _context.Entry(approvalRoleMap).State = EntityState.Modified; try { await _context.SaveChangesAsync(); } catch (DbUpdateConcurrencyException) { if (!ApprovalRoleMapExists(id)) { return(Conflict(new RespStatus { Status = "Failure", Message = "RoleMap is invalid" })); } else { throw; } } return(Ok(new RespStatus { Status = "Success", Message = "Role Map Updated!" })); }
public async Task <ActionResult <ApprovalRoleMapDTO> > GetApprovalRoleMap(int id) { ApprovalRoleMapDTO approvalRoleMapDTO = new ApprovalRoleMapDTO(); var approvalRoleMap = await _context.ApprovalRoleMaps.FindAsync(id); if (approvalRoleMap == null) { return(Conflict(new RespStatus { Status = "Failure", Message = "Approval Rolemap Id invalid!" })); } approvalRoleMapDTO.Id = approvalRoleMap.Id; approvalRoleMapDTO.ApprovalGroupId = approvalRoleMap.ApprovalGroupId; approvalRoleMapDTO.RoleId = approvalRoleMap.RoleId; approvalRoleMapDTO.ApprovalLevelId = approvalRoleMap.ApprovalLevelId; return(approvalRoleMapDTO); }
public async Task <ActionResult <IEnumerable <ApprovalRoleMapDTO> > > GetApprovalRoleMaps() { List <ApprovalRoleMapDTO> ListApprovalRoleMapDTO = new List <ApprovalRoleMapDTO>(); var approvalRoleMaps = await _context.ApprovalRoleMaps.ToListAsync(); foreach (ApprovalRoleMap approvalRoleMap in approvalRoleMaps) { ApprovalRoleMapDTO approvalRoleMapDTO = new ApprovalRoleMapDTO(); approvalRoleMapDTO.Id = approvalRoleMap.Id; approvalRoleMapDTO.ApprovalGroupId = approvalRoleMap.ApprovalGroupId; approvalRoleMapDTO.RoleId = approvalRoleMap.RoleId; approvalRoleMapDTO.ApprovalLevel = approvalRoleMap.ApprovalLevel; ListApprovalRoleMapDTO.Add(approvalRoleMapDTO); } return(ListApprovalRoleMapDTO); }
public async Task <IActionResult> PutApprovalRoleMap(int id, ApprovalRoleMapDTO approvalRoleMapDto) { if (id != approvalRoleMapDto.Id) { return(BadRequest()); } var approvalRoleMap = await _context.ApprovalRoleMaps.FindAsync(id); approvalRoleMap.Id = approvalRoleMapDto.Id; approvalRoleMap.ApprovalGroupId = approvalRoleMapDto.ApprovalGroupId; approvalRoleMap.RoleId = approvalRoleMapDto.RoleId; approvalRoleMap.ApprovalLevel = approvalRoleMapDto.ApprovalLevel; _context.ApprovalRoleMaps.Update(approvalRoleMap); //_context.Entry(projectDto).State = EntityState.Modified; try { await _context.SaveChangesAsync(); } catch (DbUpdateConcurrencyException) { if (!ApprovalRoleMapExists(id)) { return(NotFound()); } else { throw; } } return(NoContent()); }