Ejemplo n.º 1
0
        public void Badger_LogQueryNumGroupForks()
        {
            LogQueryViewModel query1;

            query1 = new LogQueryViewModel();

            List <string> variableList = new List <string>()
            {
                "E_p", "v", "omega_r", "omega_g"
            };

            //init query1
            query1.AddLogVariables(variableList);
            query1.VariablesVM[0].IsSelected = true;
            query1.VariablesVM[2].IsSelected = true;
            query1.LimitTracks  = true;
            query1.MaxNumTracks = 3;
            Assert.AreEqual(query1.GroupByForks.Count, 0);
            query1.AddGroupByFork("fork-1");
            query1.InGroupSelectionVariable = "omega_g";
            query1.InGroupSelectionFunction = LogQueryViewModel.FunctionMax;
            query1.OrderByFunction          = LogQueryViewModel.FunctionDscBeauty;
            query1.OrderByVariable          = "E_p";
            query1.OrderByReportType        = ReportType.AllTrainingEpisodes.ToString();
            Assert.AreEqual(query1.GroupByForks.Count, 1);
            query1.GroupByExperiment = true;
            Assert.AreEqual(query1.GroupByForks.Count, 2);
        }
        public JsonResult LogManage(LogQueryViewModel model)
        {
            //ReportFactory.Instance.log.WriteLog(Common.OperationType.Query, "查询日志信息");

            var result = ReportFactory.Instance.log.GetList(model);

            return(Json(result, JsonRequestBehavior.DenyGet));
        }
Ejemplo n.º 3
0
        public void Badger_LogQueryClone()
        {
            LogQueryViewModel query1;

            query1 = new LogQueryViewModel();

            List <string> variableList = new List <string>()
            {
                "E_p", "v", "omega_r", "omega_g"
            };

            //init query1 before copying it
            query1.AddLogVariables(variableList);
            query1.VariablesVM[0].IsSelected = true;
            query1.VariablesVM[2].IsSelected = true;
            query1.LimitTracks  = true;
            query1.MaxNumTracks = 3;
            query1.AddGroupByFork("fork-1");
            query1.InGroupSelectionVariable = "omega_g";
            query1.InGroupSelectionFunction = LogQueryViewModel.FunctionMax;
            query1.OrderByFunction          = LogQueryViewModel.FunctionDscBeauty;
            query1.OrderByVariable          = "E_p";
            query1.OrderByReportType        = ReportType.AllTrainingEpisodes.ToString();

            query1.Validate();

            Assert.IsTrue(query1.CanGenerateReports);


            //The deep copy itself
            Serialiazer.WriteObject("serialization.txt", query1);
            LogQueryViewModel query2 = Serialiazer.Clone(query1);

            //check query2 is a deep copy of query1
            variableList.Remove("omega_g"); //check the list is a deep copy of the original
            foreach (string variable in variableList)
            {
                Assert.IsTrue(query2.LogVariableExists(variable));
            }
            Assert.IsTrue(query2.LogVariableExists("omega_g"));

            Assert.IsTrue(query2.LimitTracks);
            Assert.IsTrue(query2.MaxNumTracks == 3);

            Assert.IsTrue(query2.IsForkUsedToGroup("fork-1"));

            Assert.AreEqual(query1.InGroupSelectionVariable, query2.InGroupSelectionVariable);

            Assert.AreEqual(query1.InGroupSelectionFunction, query2.InGroupSelectionFunction);

            Assert.AreEqual(query2.OrderByFunction, LogQueryViewModel.FunctionDscBeauty);

            Assert.AreEqual(query1.OrderByReportType, query2.OrderByReportType);

            Assert.IsTrue(query2.CanGenerateReports);

            Assert.AreNotEqual(query1.QueryId, query2.QueryId);
        }
Ejemplo n.º 4
0
        public async Task <IActionResult> Logs([FromBody] LogQueryViewModel vm)
        {
            if (vm != null)
            {
                var offset = (vm.PageIndex - 1) * vm.PageSize;
                var result = await _logReader.GetLogsAsync(vm.Levels, vm.Start, vm.End, offset, vm.PageSize);

                return(Ok(result));
            }
            return(BadRequest());
        }
Ejemplo n.º 5
0
        public async Task <PagedList <Log> > ObterTodos(LogQueryViewModel logQueryViewModel)
        {
            var query = new ObterTodosOsLogsQuery(
                logQueryViewModel.PageNumber,
                logQueryViewModel.PageSize,
                logQueryViewModel.AmbienteId,
                logQueryViewModel.Origem,
                logQueryViewModel.Descricao,
                logQueryViewModel.Arquivado
                );

            return(await _mediator.Send(query));
        }
Ejemplo n.º 6
0
        /// <summary>
        /// 获取日志信息
        /// </summary>
        /// <param name="model">查询条件,日志信息实体,logDate存起始时间</param>
        /// <param name="endTime">截止时间</param>
        /// <returns></returns>
        public LogPageViewModel GetList(LogQueryViewModel model)
        {
            var pLogList = db.OT_Log.Where(a => true);

            //按操作用户查询
            if (!string.IsNullOrEmpty(model.UserName))
            {
                pLogList = pLogList.Where(a => a.UserName.Contains(model.UserName));
            }

            //按操作类型查询,如果类型为所有则不增加改条件
            if (!string.IsNullOrEmpty(model.Type) && model.Type != Common.OperationType.All)
            {
                pLogList = pLogList.Where(a => a.Type == model.Type);
            }

            //按报表名称查询
            if (!string.IsNullOrEmpty(model.RptName))
            {
                pLogList = pLogList.Where(a => a.RptName.Contains(model.RptName));
            }

            //某时间段之间的所有日志
            if (model.EndDate != DateTime.Parse("0001/1/1 0:00:00") && model.StartDate != DateTime.Parse("0001/1/1 0:00:00") && model.EndDate != null && model.StartDate != null && model.StartDate <= model.EndDate)
            {
                DateTime dt = model.EndDate.AddSeconds(1);
                pLogList = pLogList.Where(a => a.LogDate >= model.StartDate & a.LogDate <= dt);
            }
            //大于某时间的所日志
            else if (model.StartDate != null && model.StartDate != DateTime.Parse("0001/1/1 0:00:00"))
            {
                pLogList = pLogList.Where(a => a.LogDate >= model.StartDate);
            }
            //小于某时间的所日志
            else if (model.EndDate != null && model.EndDate != DateTime.Parse("0001/1/1 0:00:00"))
            {
                DateTime dt = model.EndDate.AddSeconds(1);
                pLogList = pLogList.Where(a => a.LogDate <= dt);
            }

            int pageCount, count;//总页数,总行数

            //获取数据总条数
            count = pLogList.Count();

            //获取总页数
            pageCount = count % model.PageSize > 0 ? count / model.PageSize + 1 : count / model.PageSize;

            //如果页数大于总页数,或者小于1,则返回第一页
            if (model.PageIndex > pageCount || model.PageIndex < 1)
            {
                model.PageIndex = 1;
            }

            List <LogManageViewModel> list;

            //获取日志信息
            if (model.PageIndex == 1)
            {
                list = pLogList.OrderByDescending(a => a.LogDate).Take(model.PageSize).Select(a => new LogManageViewModel
                {
                    RoleName = a.RoleName,
                    LogDate  = a.LogDate,
                    Type     = a.Type,
                    Describe = a.Describe,
                    RptName  = a.RptName,
                    UserName = a.UserName
                }).ToList();
            }
            else
            {
                int excludedRows = (model.PageIndex - 1) * model.PageSize;//计算起始索引

                list = pLogList.OrderByDescending(a => a.LogDate).Skip(excludedRows).Take(model.PageSize).Select(a => new LogManageViewModel
                {
                    RoleName = a.RoleName,
                    LogDate  = a.LogDate,
                    Type     = a.Type,
                    Describe = a.Describe,
                    RptName  = a.RptName,
                    UserName = a.UserName
                }).ToList();
            }

            //构建分页日志信息并返回
            LogPageViewModel lpModel = new LogPageViewModel();

            lpModel.Count     = count;
            lpModel.PageCount = pageCount;
            lpModel.PageIndex = model.PageIndex;
            lpModel.LogList   = list;

            return(lpModel);
        }