Пример #1
0
        public GetActivityViewModel GetAllActivities(string search, int start, int length)
        {
            //comment
            var result  = new GetActivityViewModel();
            var listLog = unitOfWork.Repository <Log>()
                          .GetAll();

            result.totalCount = listLog.Count();
            var searchResult = listLog.Where(a => a.Fullname.Contains(search) ||
                                             a.Action.Contains(search) ||
                                             (a.Date.Value.Day + "/" + a.Date.Value.Month + "/" + a.Date.Value.Year + " " + a.Date.Value.Hour + ":" + a.Date.Value.Minute).Contains(search));

            result.filteredCount = searchResult.Count();
            result.Logs          = length >= 0 ?
                                   searchResult.OrderByDescending(l => l.Date.Value).Skip(start).Take(length).ToList()
                                   .Select(l => new LogViewModel()
            {
                Id         = l.Id,
                UserId     = l.UserId.HasValue ? l.UserId.Value : 0,
                TargetId   = l.TargetId.HasValue ? l.TargetId.Value : 0,
                TargetName = l.TargetName,
                Fullname   = l.UserId.HasValue && l.UserId.Value != 0 ? unitOfWork.Repository <User>().GetById(l.UserId.Value).Fullname : l.Fullname,
                UserCode   = l.UserId.HasValue && l.UserId.Value != 0 ? unitOfWork.Repository <User>().GetById(l.UserId.Value).Code : l.UserCode,
                Action     = l.Action,
                Message    = (l.Action + " " + l.TargetName),
                LogDate    = l.Date.Value
            }).ToList()
                :
                                   searchResult.OrderByDescending(l => l.Date.Value).ToList()
                                   .Select(l => new LogViewModel()
            {
                Id         = l.Id,
                UserId     = l.UserId.HasValue ? l.UserId.Value : 0,
                TargetId   = l.TargetId.HasValue ? l.TargetId.Value : 0,
                TargetName = l.TargetName,
                Fullname   = l.UserId.HasValue && l.UserId.Value != 0 ? unitOfWork.Repository <User>().GetById(l.UserId.Value).Fullname : l.Fullname,
                UserCode   = l.UserId.HasValue && l.UserId.Value != 0 ? unitOfWork.Repository <User>().GetById(l.UserId.Value).Code : l.UserCode,
                Action     = l.Action,
                Message    = (l.Action + " " + l.TargetName),
                LogDate    = l.Date.Value
            }).ToList();
            return(result);
        }
Пример #2
0
        public GetActivityViewModel GetAllActivitiesByUserId(int id, string search, int start, int length)
        {
            //List<LogViewModel> list = new List<LogViewModel>();
            //List<Log> listLog = unitOfWork.Repository<Log>().GetAll()
            //    .Where(t => t.UserId == id)
            //    .OrderByDescending(t => t.Date)
            //    .ToList();

            ////string role = "";
            ////if (user.Role == RoleEnum.Lecturer)
            ////{
            ////    role = "Lecturer";
            ////}

            //foreach (var item in listLog)
            //{
            //    string tempId = "";
            //    if (item.NewValue != null && (item.Action == "Update" || item.Action == "Import"))
            //    {
            //        var temp = JsonConvert.DeserializeObject<QuestionViewModel>(item.NewValue);
            //        tempId = temp.QuestionCode;
            //    }

            //    LogViewModel logViewModel = new LogViewModel()
            //    {
            //        Id = item.Id,
            //        UserId = item.UserId.HasValue ? item.UserId.Value : 0,
            //        //UserRole = role,
            //        TargetId = item.TargetId,
            //        TargetName = item.TargetName,
            //        Fullname = item.UserId.HasValue && item.UserId != 0 ? unitOfWork.Repository<User>().GetById(item.UserId.Value).Fullname : item.Fullname,
            //        Action = item.Action,
            //        Message = (item.Action + " " + item.TargetName + " " + tempId).ToLowerInvariant(),
            //        LogDate = item.Date.Value

            //    };
            //    list.Add(logViewModel);
            //}
            //return list;
            var result  = new GetActivityViewModel();
            var listLog = unitOfWork.Repository <Log>()
                          .GetAll().Where(a => a.UserId == id);

            result.totalCount = listLog.Count();
            var searchResult = listLog.Where(a => a.Fullname.Contains(search) ||
                                             a.Action.Contains(search) ||
                                             (a.Date.Value.Day + "/" + a.Date.Value.Month + "/" + a.Date.Value.Year + " " + a.Date.Value.Hour + ":" + a.Date.Value.Minute).Contains(search));

            result.filteredCount = searchResult.Count();
            result.Logs          = length >= 0 ?
                                   searchResult.OrderByDescending(l => l.Date.Value).Skip(start).Take(length).ToList()
                                   .Select(l => new LogViewModel()
            {
                Id         = l.Id,
                UserId     = l.UserId.HasValue ? l.UserId.Value : 0,
                TargetId   = l.TargetId.HasValue ? l.TargetId.Value : 0,
                TargetName = l.TargetName,
                Fullname   = l.UserId.HasValue && l.UserId.Value != 0 ? unitOfWork.Repository <User>().GetById(l.UserId.Value).Fullname : l.Fullname,
                UserCode   = l.UserId.HasValue && l.UserId.Value != 0 ? unitOfWork.Repository <User>().GetById(l.UserId.Value).Code : l.UserCode,
                Action     = l.Action,
                Message    = (l.Action + " " + l.TargetName),
                LogDate    = l.Date.Value
            }).ToList()
                :
                                   searchResult.OrderByDescending(l => l.Date.Value).ToList()
                                   .Select(l => new LogViewModel()
            {
                Id         = l.Id,
                UserId     = l.UserId.HasValue ? l.UserId.Value : 0,
                TargetId   = l.TargetId.HasValue ? l.TargetId.Value : 0,
                TargetName = l.TargetName,
                Fullname   = l.UserId.HasValue && l.UserId.Value != 0 ? unitOfWork.Repository <User>().GetById(l.UserId.Value).Fullname : l.Fullname,
                UserCode   = l.UserId.HasValue && l.UserId.Value != 0 ? unitOfWork.Repository <User>().GetById(l.UserId.Value).Code : l.UserCode,
                Action     = l.Action,
                Message    = (l.Action + " " + l.TargetName),
                LogDate    = l.Date.Value
            }).ToList();
            return(result);
        }