Exemple #1
0
        public async Task <OperationDataResult <CalendarUsersModel> > Index(CalendarUsersRequestModel requestModel)
        {
            try
            {
                CalendarUsersModel        calendarUsersModel = new CalendarUsersModel();
                IQueryable <CalendarUser> calendarUsersQuery = _dbContext.CalendarUsers.AsQueryable();
                if (!string.IsNullOrEmpty(requestModel.Sort))
                {
                    if (requestModel.IsSortDsc)
                    {
                        calendarUsersQuery = calendarUsersQuery
                                             .OrderByDescending(requestModel.Sort);
                    }
                    else
                    {
                        calendarUsersQuery = calendarUsersQuery
                                             .OrderBy(requestModel.Sort);
                    }
                }
                else
                {
                    calendarUsersQuery = _dbContext.CalendarUsers
                                         .OrderBy(x => x.Id);
                }

                calendarUsersQuery = calendarUsersQuery
                                     .Where(x => x.WorkflowState != Constants.WorkflowStates.Removed)
                                     .Skip(requestModel.Offset)
                                     .Take(requestModel.PageSize);

                List <CalendarUser> calendarUsers = await calendarUsersQuery.ToListAsync();

                calendarUsersModel.Total = await _dbContext.CalendarUsers.CountAsync();

                Core core = await _coreHelper.GetCore();

                calendarUsers.ForEach(calendarUser =>
                {
                    CalendarUserModel item = new CalendarUserModel
                    {
                        Id     = calendarUser.Id,
                        SiteId = calendarUser.SiteId,
                        IsVisibleInCalendar = calendarUser.IsVisibleInCalendar,
                        NameInCalendar      = calendarUser.NameInCalendar,
                        Color = calendarUser.Color,
                    };
                    if (item.SiteId > 0)
                    {
                        SiteDto site = core.SiteRead(item.SiteId).Result;
                        if (site != null)
                        {
                            item.FirstName = site.FirstName;
                            item.LastName  = site.LastName;
                        }
                    }

                    calendarUsersModel.CalendarUsers.Add(item);
                });
                return(new OperationDataResult <CalendarUsersModel>(true, calendarUsersModel));
            }
            catch (Exception e)
            {
                Trace.TraceError(e.Message);
                _logger.LogError(e.Message);
                return(new OperationDataResult <CalendarUsersModel>(false,
                                                                    _caseManagementLocalizationService.GetString("ErrorWhileObtainingCalendarUserInfo")));
            }
        }
 public async Task <OperationDataResult <CalendarUsersModel> > Index(CalendarUsersRequestModel requestModel)
 {
     return(await _calendarUsersService.Index(requestModel));
 }