示例#1
0
        public async Task <IActionResult> Get([FromQuery] LeaveSearchParameters parametrs)
        {
            var leave = await _leaveService.Get(parametrs);

            if (leave == null)
            {
                return(NotFound());
            }
            return(Ok(leave));
        }
示例#2
0
        public async Task <List <LeaveViewResult> > Get(LeaveSearchParameters parametrs)
        {
            var query = _dbContext.LeavesCategories.AsQueryable();

            if (parametrs.Id.HasValue)
            {
                query = query.Where(c => c.Id == parametrs.Id);
            }


            if (parametrs.Name != 0)
            {
                query = query.Where(c => c.Name.Equals(parametrs.Name));
            }


            var leaves = await query.ToListAsync();

            if (leaves.Count == 0)
            {
                return(null);
            }

            List <LeaveViewResult> leaveViews = new List <LeaveViewResult>();

            foreach (var leave in leaves)
            {
                leaveViews.Add(new LeaveViewResult
                {
                    Id          = leave.Id,
                    Name        = leave.Name,
                    MaxDuration = leave.MaxDuration,
                    Balance     = leave.Balance
                });
            }
            return(leaveViews);
        }