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!"
            }));
        }
Exemple #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));
        }
Exemple #3
0
        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);
        }
Exemple #6
0
        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);
        }
Exemple #7
0
        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());
        }