Ejemplo n.º 1
0
        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!"
            }));
        }
Ejemplo n.º 2
0
        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));
        }