示例#1
0
        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!"
            }));
        }
示例#2
0
        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!"
            }));
        }