Example #1
0
        private void 查看地图中第一个图层的属性记录ToolStripMenuItem_Click(object sender, EventArgs e)
        {
            //判断地图视图中是否有处于显示状态中的地图
            if (this.mapCtrl.ActiveMap == null)
            {
                MessageBox.Show("请先在地图视图中显示一幅地图!!!");
                return;
            }

            //获取激活地图
            Map map = this.mapCtrl.ActiveMap;

            //判断地图中是否有图层
            if (map.LayerCount < 1)
            {
                MessageBox.Show("操作失败,地图中没有图层!!!");
                return;
            }

            //获取地图中第一个图层的属性表
            VectorLayer vecLayer = map.get_Layer(0) as VectorLayer;

            RecordSet rcdSet = null;
            QueryDef  qryDef = new QueryDef();

            IVectorCls vecCls = vecLayer.GetData() as IVectorCls;

            rcdSet = vecCls.Select(qryDef);

            this.attCtrl.SetXCls(vecCls, rcdSet);

            return;
        }
        private void StartSearch(QueryDef query)
        {
            _logger.Info("\n\n====== START SEARCH " + DateTime.Now + " ======\n\n");

            //Por cada red social a la que apunta la query
            foreach (var searchEngineName in query.SearchEnginesNamesList)
            {
                _logger.Info("\n\n====== START SEARCH FOR (" + searchEngineName + ") " + DateTime.Now + " ======\n\n");

                var postsResult = _searchEngineManager.Search(query.Query, new List <string> {
                    searchEngineName
                }, ParamAccess.ISOLocationCountry, ParamAccess.ISOLanguageCode);
                foreach (var post in postsResult)
                {
                    if (_serviceManager.ExistPost(post.UrlPost))
                    {
                        continue;
                    }
                    _sentimentValuator.ProcessItem(post);
                    post.QueryDef = query;
                    _serviceManager.SavePost(post);
                }
                _logger.Info("\n\n===" + postsResult.Count + " POSTs FOUND IN " + searchEngineName + "\n");
            }

            _logger.Info("\n\n====== END QUERY SEARCH " + DateTime.Now + " ======\n\n");
            _logger.Info("\n\n====== WAITING FOR ANOTHER TIME ELAPSE ======\n\n");
        }
Example #3
0
        public void nullArg()
        {
            QueryDef q = new QueryDef(null);

            Assert.False(q.IsID);
            Assert.True(q.IsEmpty);
        }
Example #4
0
        /// <summary>
        /// Формирует Excel документ из формы и запроса выборки данных
        /// </summary>
        /// <param name="form">Форма, задающая оформление данных в выходном документе</param>
        /// <param name="queryDef">Запрос для выборки данных из БД</param>
        /// <returns>Массив двоичных данных тела Excel файла</returns>
        public byte[] ExcelFromQuery(BizForm form, QueryDef queryDef)
        {
            var sqb = _sqlQueryBuilderFactory.Create();

            using (var sqlQuery = sqb.Build(queryDef, form, null, null))
            {
                sqlQuery.AddAttribute("&Id");

                using (var sqlReader = _sqlQueryReaderFactory.Create(sqlQuery) /*new SqlQueryReader(DataContext, sqlQuery)*/)
                {
                    var defBuilder = new XlsGridDefBuilder(Provider, form, sqlReader);

                    using (var def = defBuilder.BuildFromBizForm())
                    {
                        var builder = new XlsBuilder(def);
                        using (var workbook = builder.Build())
                        {
                            using (var stream = new MemoryStream())
                            {
                                workbook.Write(stream);

                                return(stream.ToArray());
                            }
                        }
                    }
                }
            }
        }
Example #5
0
        public void emptyArg()
        {
            QueryDef q = new QueryDef("");

            Assert.False(q.IsID);
            Assert.True(q.IsEmpty);

            NameValueCollection nvc = new NameValueCollection();

            q = new QueryDef(nvc);
            Assert.False(q.IsID);
            Assert.True(q.IsEmpty);

            nvc.Add("id", null);
            q = new QueryDef(nvc);
            Assert.False(q.IsID);
            Assert.True(q.IsEmpty);

            List <string> lst = new List <string>();

            q = new QueryDef(lst);
            Assert.False(q.IsID);
            Assert.True(q.IsEmpty);

            lst.Add(null);
            q = new QueryDef(lst);
            Assert.False(q.IsID);
            Assert.True(q.IsEmpty);
        }
Example #6
0
        public static SqlQuery Build(QueryDef def, BizForm form, IEnumerable <AttributeSort> sortAttrs, Guid userId, IDataContext dataContext)
        {
            var factory = AppServiceProviderFactoryProvider.GetFactory();

            using (var provider = factory.Create(dataContext))
            {
                var sqb = new SqlQueryBuilderTool(provider, dataContext, userId);
                return(sqb.Build(def, form, sortAttrs));
            }

            /*var query = SqlQueryBuilder.Build(dataContext, def, userId);
             * try
             * {
             *  query.AddAttribute("&Id");
             *  AddFormAttributes(query, query.Source, form);
             *  if (sortAttrs != null)
             *      foreach (var attr in sortAttrs)
             *          query.AddOrderAttribute(attr.AttributeId, attr.Asc);
             *  else
             *      AddFormSortOrders(query, query.Source, form);
             *
             *  return query;
             * }
             * catch
             * {
             *  query.Dispose();
             *  throw;
             * }*/
        }
Example #7
0
            public static String GetOrderBy(QueryDef q)
            {
                var l     = new List <String>();
                var First = true;

                foreach (var k in q.OrderBy)
                {
                    if (First)
                    {
                        if (k.IsDescending)
                        {
                            l.Add(".OrderByDescending(_e_ => _e_.[[{0}]])".Formats(k.Name));
                        }
                        else
                        {
                            l.Add(".OrderBy(_e_ => _e_.[[{0}]])".Formats(k.Name));
                        }
                        First = false;
                    }
                    else
                    {
                        if (k.IsDescending)
                        {
                            l.Add(".ThenByDescending(_e_ => _e_.[[{0}]])".Formats(k.Name));
                        }
                        else
                        {
                            l.Add(".ThenBy(_e_ => _e_.[[{0}]])".Formats(k.Name));
                        }
                    }
                }
                return(String.Join("", l.ToArray()));
            }
Example #8
0
            public static String GetOrderBy(QueryDef q, String EntityName)
            {
                var l     = new List <String>();
                var First = true;

                foreach (var k in q.OrderBy)
                {
                    if (First)
                    {
                        if (k.IsDescending)
                        {
                            l.Add(@">>orderby_descending([](std::shared_ptr<class [[" + EntityName + @"]]> _e_) { return _e_->[[" + k.Name + @"]]; })");
                        }
                        else
                        {
                            l.Add(@">>orderby([](std::shared_ptr<class [[" + EntityName + @"]]> _e_) { return _e_->[[" + k.Name + @"]]; })");
                        }
                        First = false;
                    }
                    else
                    {
                        if (k.IsDescending)
                        {
                            l.Add(@">>thenby_descending([](std::shared_ptr<class [[" + EntityName + @"]]> _e_) { return _e_->[[" + k.Name + @"]]; })");
                        }
                        else
                        {
                            l.Add(@">>thenby([](std::shared_ptr<class [[" + EntityName + @"]]> _e_) { return _e_->[[" + k.Name + @"]]; })");
                        }
                    }
                }
                return(String.Join("", l.ToArray()));
            }
Example #9
0
        // copy _ClassInfo when cloning because it contains information that is instance-specific when typed as -object- and it's also
        // more efficient that recreating each time.

        protected virtual Query <T> CopyTo(Query <T> target)
        {
            target.ClassInfo = _ClassInfo;
            target.QueryDef  = QueryDef.Clone();
            target.Target    = Target;
            return(target);
        }
Example #10
0
        /// <summary>
        /// Возвращает количество и список документов попадающих в запрос
        /// </summary>
        /// <param name="count">Количество документов попадающих под запрос в БД</param>
        /// <param name="queryDef">Запрос на выборку данных</param>
        /// <param name="pageNo">Номер страницы</param>
        /// <param name="pageSize">Количество строк на странице</param>
        /// <returns>Список идентификаторв документов</returns>
        public List <Guid> GetDocListWithCount(out int count, QueryDef queryDef, int pageNo, int pageSize)
        {
            /*using (var query = new DocQuery(queryDef, DataContext))
             * {
             *  count = query.Count();
             *
             *  return pageSize <= 0
             *             ? query.All().ToList()
             *             : query.Take(pageNo * pageSize, pageSize).ToList();
             * }*/
            var sqb = _sqlQueryBuilderFactory.Create();

            using (var query = sqb.Build(queryDef))
            {
                query.AddAttribute("&Id");

                using (var reader = _sqlQueryReaderFactory.Create(query))
                {
                    reader.Open();
                    count = reader.GetCount();

                    var i      = reader.GetAttributeIndex("&Id");
                    var result = new List <Guid>();
                    while (reader.Read())
                    {
                        result.Add(reader.GetGuid(i));
                    }
                    return(result);
                }
            }
        }
        public SqlQueryReader Create(QueryDef def)
        {
            var sqb   = new SqlQueryBuilderTool(Provider, DataContext);
            var query = sqb.Build(def);

            return(Create(query));
        }
Example #12
0
 public async Task SingleQueryDef()
 {
     try
     {
         ResultCount = 0;
         await ArcGIS.Desktop.Framework.Threading.Tasks.QueuedTask.Run(() =>
         {
             var featLayer =
                 (MapView.Active.Map.Layers.First(layer => layer.Name.Equals("Portland Precincts")) as
                  FeatureLayer);
             if (featLayer == null)
             {
                 return;
             }
             using (var tbl = featLayer.GetTable())
             {
                 using (var datastore = tbl.GetDatastore())
                 {
                     if (datastore is UnknownDatastore)
                     {
                         return;
                     }
                     var geodatabase = datastore as Geodatabase;
                     if (geodatabase == null)
                     {
                         return;
                     }
                     var queryDef = new QueryDef
                     {
                         Tables      = "Portland_PD_Precincts",
                         SubFields   = "Name",
                         WhereClause = "Name <> ''"
                     };
                     var result = new DataTable("results");
                     result.Columns.Add("Precinct Name", typeof(string));
                     using (var rowCursor = geodatabase.Evaluate(queryDef, false))
                     {
                         while (rowCursor.MoveNext())
                         {
                             using (Row row = rowCursor.Current)
                             {
                                 var feature   = row as Feature;
                                 var rowResult = result.NewRow();
                                 rowResult[0]  = Convert.ToString(row[0]);
                                 result.Rows.Add(rowResult);
                             }
                         }
                     }
                     ResultCount = result.Rows.Count;
                     ResultData  = result;
                 }
             }
         });
     }
     catch (Exception ex)
     {
         MessageBox.Show($@"Error in single table querydef: {ex}");
     }
 }
Example #13
0
        public void stringArg()
        {
            QueryDef q = new QueryDef("22");

            Assert.True(q.IsID);
            Assert.False(q.IsEmpty);
            Assert.Equal("22", q.ID);
        }
Example #14
0
 public override bool Query()
 {
     QueryDef.DatabaseConnection = _master.DatabaseConnection;
     QueryDef.SetDataSet(_master.DataStorage);
     QueryDef.RemoveTable(TableName);
     OnRemoveTable();
     return(base.Query());
 }
Example #15
0
 public QueryBuilder(Guid docDefId, Guid userId) : base(null)
 {
     Def = new QueryDef {
         Source = new QuerySourceDef {
             DocDefId = docDefId
         }, UserId = userId
     };
 }
Example #16
0
        public void intArg()
        {
            QueryDef q = new QueryDef(2);

            Assert.True(q.IsID);
            Assert.False(q.IsEmpty);
            Assert.Equal("2", q.ID);
        }
Example #17
0
        /// <summary>
        /// 查询数据,将查询到的结果放到新建的 temp 类中
        /// </summary>
        /// <param name="className">要查询的类的名字</param>
        /// <param name="search">查询语句</param>
        /// <param name="tempClass">要创建的临时类</param>
        /// <returns></returns>
        public static bool SearchData(string className, string search, string tempClass)
        {
            //定义变量
            IVectorCls VectorCls = new SFeatureCls();
            //打开简单要素类
            bool rtn = VectorCls.Open("GDBP://MapGisLocal/Templates/sfcls/" + className);

            if (!rtn)
            {
                PUMessageBox.ShowDialog("简单要素类 " + className + " 打开失败", "失败");
                return(false);
            }

            QueryDef def = new QueryDef();

            //设置属性查询条件
            def.Filter = search;
            //查询要素
            RecordSet recordSet = VectorCls.Select(def);

            if (recordSet != null)
            {
                int num = recordSet.Count;
            }
            else
            {
                return(false);
            }

            Server svr = new Server();

            //连接数据源
            svr.Connect("MapGISLocal", "", "");
            DataBase    GDB      = svr.OpenGDB("templates");
            SFeatureCls tmpSFCls = new SFeatureCls(GDB);
            int         id       = tmpSFCls.Create(tempClass, GeomType.Pnt, 0, 0, null);

            if (id == 0)
            {
                bool temp = SFeatureCls.Remove(GDB, tempClass);
                id = tmpSFCls.Create(tempClass, GeomType.Pnt, 0, 0, null);
                if (id == 0)
                {
                    PUMessageBox.ShowDialog("无法操作简单要素类,请检查是否有其他进程正在使用 " + tempClass, "失败");
                    return(false);
                }
            }

            rtn = tmpSFCls.CopySet(recordSet);
            if (rtn == false)
            {
                tmpSFCls.Close();
                SFeatureCls.Remove(GDB, id);
            }
            //关闭类
            VectorCls.Close();
            return(true);
        }
Example #18
0
        public Doc FillDocFromQuery(Doc doc, QueryDef queryDef)
        {
            if (queryDef != null && doc != null)
            {
                SetDocAttribute(doc, queryDef.WhereConditions);
            }

            return(doc);
        }
Example #19
0
 public QueryCsvWriter(IAppServiceProvider provider, IDataContext dataContext, QueryDef queryDef, StreamWriter writer, Guid userId)
 {
     Provider         = provider;
     DataContext      = dataContext;
     QueryDef         = queryDef;
     Writer           = writer;
     UserId           = userId;
     _sqlQueryBuilder = provider.Get <ISqlQueryBuilder>();
 }
Example #20
0
 public QueryBuilder(string docDefName, Guid userId)
     : base(null)
 {
     Def = new QueryDef {
         Source = new QuerySourceDef {
             DocDefName = docDefName
         }, UserId = userId
     };
 }
 public IQueryExpression NotIn(QueryDef subQuery)
 {
     Condition.Right = new QueryConditionPartDef {
         SubQuery = new SubQueryDef {
             QueryDef = subQuery
         }
     };                                                                                              //SubQueryDef = subQuery;
     Condition.Condition = ConditionOperation.NotIn;
     return(this);
 }
Example #22
0
        public IQueryJoin RightJoin(QueryDef query, string alias)
        {
            var helper = new QueryDefHelper(Def);
            var source = new QuerySourceDef {
                Alias = alias, SubQuery = query
            };
            var join = helper.AddJoin(source, SqlSourceJoinType.RightOuter);

            return(new QueryJoinBuilder(this, join));
        }
Example #23
0
 public IQueryExpression In(QueryDef subQuery)
 {
     Condition.Right = new QueryConditionPartDef {
         SubQuery = new SubQueryDef {
             QueryDef = subQuery
         }
     };
     //Condition.SubQueryDef = subQuery;
     Condition.Condition = ConditionOperation.In;
     return(GetParentExpression());
 }
Example #24
0
        public static SqlQuery Build(IDataContext dataContext, QueryDef def)
        {
            if (def.Source == null)
            {
                throw new PropertyConstraintException("QueryDef Source not defined!");
            }

            var factory = AppServiceProviderFactoryProvider.GetFactory();

            using (var provider = factory.Create(dataContext))
            {
                var bldr = new SqlQueryBuilderTool(provider, dataContext, def.UserId);

                return(bldr.Build(def));
            }

            /*using (var defRepo = new DocDefRepository(dataContext))
             * {
             *  var docDef = def.Source.DocDefId == Guid.Empty
             *                   ? defRepo.DocDefByName(def.Source.DocDefName)
             *                   : defRepo.DocDefById(def.Source.DocDefId);
             *
             *  var query = new SqlQuery(dataContext, docDef, def.Alias, def.UserId)
             *                  {
             *                      DocumentId = def.DocumentId,
             *                      ListAttrDefId = def.ListAttrId
             *                  };
             *  try
             *  {
             *      foreach (var source in def.Sources)
             *      {
             *          BuildSource(query, source, defRepo, dataContext);
             *      }
             *      foreach (var join in def.Joins)
             *      {
             *          BuildJoin(query, join, docDef, dataContext);
             *      }
             *      foreach (var condition in def.WhereConditions)
             *      {
             *          BuildCondition(query, condition, docDef, null);
             *      }
             *      foreach (var order in def.OrderAttributes)
             *      {
             *          query.AddOrderAttribute(order);
             *      }
             *      return query;
             *  }
             *  catch
             *  {
             *      query.Dispose();
             *      throw;
             *  }
             * }*/
        }
 public ActionResult Create(QueryDef querydef)
 {
     if (!UserHelper.GetCurrent().IsAdmin) return View("AccesoDenegdo");
     querydef.SearchEnginesNames = "TwitterSearchEngine;FacebookSearchEngine;GooglePlusSearchEngine";
     if (ModelState.IsValid)
     {
         _querydefRepository.Save(querydef);
         return RedirectToAction("Index");
     }
     return View();
 }
Example #26
0
        public void stringListArg()
        {
            string[] ids = new string[] { "22", "23", "24" };
            QueryDef q   = new QueryDef(string.Join(',', ids));

            Assert.False(q.IsID);
            Assert.False(q.IsEmpty);
            Assert.Equal("22,23,24", q.Collection.Get("ids"));

            q = new QueryDef("50,51,");
            Assert.False(q.IsID);
            Assert.False(q.IsEmpty);
            Assert.Equal("50,51", q.Collection.Get("ids"));
        }
 public ActionResult Create(QueryDef querydef)
 {
     if (!UserHelper.GetCurrent().IsAdmin)
     {
         return(View("AccesoDenegdo"));
     }
     querydef.SearchEnginesNames = "TwitterSearchEngine;FacebookSearchEngine;GooglePlusSearchEngine";
     if (ModelState.IsValid)
     {
         _querydefRepository.Save(querydef);
         return(RedirectToAction("Index"));
     }
     return(View());
 }
Example #28
0
        public IQueryExpression NotIn(QueryDef subQuery, string attribute)
        {
            var helper  = new QueryDefHelper(subQuery);
            var subAttr = helper.AddAttribute(attribute);

            Condition.Right = new QueryConditionPartDef {
                SubQuery = new SubQueryDef {
                    QueryDef = subQuery, Attribute = subAttr
                }
            };
            //Condition.SubQueryDef = subQuery;
            //Condition.SubQueryAttribute = attribute;
            Condition.Condition = ConditionOperation.NotIn;
            return(GetParentExpression());
        }
Example #29
0
        /// <summary>
        /// Подсчитывает количество строк в запросе
        /// </summary>
        /// <param name="queryDef">Запрос на выборку данных</param>
        /// <returns>Количество строк</returns>
        public int GetQueryCount(QueryDef queryDef)
        {
            /*using (var query = new DocQuery(queryDef, DataContext))
             *
             *  return query.Count();*/
            var sqb = _sqlQueryBuilderFactory.Create();

            using (var query = sqb.Build(queryDef))
            {
                using (var reader = _sqlQueryReaderFactory.Create(query))
                {
                    return(reader.GetCount());
                }
            }
        }
Example #30
0
            public String GetQueryParameterList(QueryDef q)
            {
                var pl = new List <String>();

                if (q.Verb.OnInsert || q.Verb.OnUpdate)
                {
                    if (q.Numeral.OnOptional)
                    {
                        pl.Add(GetEscapedIdentifier("v"));
                    }
                    else if (q.Numeral.OnOne)
                    {
                        pl.Add(GetEscapedIdentifier("v"));
                    }
                    else if (q.Numeral.OnMany)
                    {
                        pl.Add(GetEscapedIdentifier("l"));
                    }
                    else
                    {
                        throw new InvalidOperationException();
                    }
                }
                else if (q.Verb.OnUpsert)
                {
                    if (q.Numeral.OnOne)
                    {
                        pl.Add(GetEscapedIdentifier("v"));
                    }
                    else if (q.Numeral.OnMany)
                    {
                        pl.Add(GetEscapedIdentifier("l"));
                    }
                    else
                    {
                        throw new InvalidOperationException();
                    }
                }
                pl.AddRange(q.By.Select(c => GetEscapedIdentifier(c)).ToArray());
                if (q.Numeral.OnRange)
                {
                    pl.Add("_Skip_");
                    pl.Add("_Take_");
                }
                var ParameterList = String.Join(", ", pl.ToArray());

                return(ParameterList);
            }
Example #31
0
        public DocSqlQuery(IQueryExpression exp)
        {
            while (exp != null && !(exp is IQuery))
            {
                exp = exp.End();
            }

            if (exp is IQuery)
            {
                Def = ((IQuery)exp).GetDef();
            }
            else
            {
                throw new ApplicationException("Не могу создать запрос! Ошибка в выражении запроса");
            }
        }
Example #32
0
 protected CsmArbitraryQuery(QueryDef query)
     : this()
 {
     TrebuchetQuery = query;
 }
        private static QueryDef GetQuery(QueryDef query, BusinessObjectDef businessObjectDef, string fieldName, CsmQueryOperator op, TypedValue value)
        {
            var cherWellOperator = OperatorMap[op];
            var fieldDef = businessObjectDef.Fields.GetFieldByDisplayNameOrName(fieldName);
            QueryConditionClause clause = query.TopLevelGroupingClause.CreateFieldValueClause(fieldDef.Id, cherWellOperator, value);
            query.TopLevelGroupingClause.Clauses.Add(clause);

            return query;
        }
Example #34
0
 /// <summary>
 /// CTR
 /// </summary>
 public QueryParams()
 {
     Query = new QueryDef();
 }
 public void TestMapping()
 {
     var settings = SrmSettingsList.GetDefault();
     var document = new SrmDocument(settings);
     var documentContainer = new MemoryDocumentContainer();
     documentContainer.SetDocument(document, null);
     using (var database = new Database(settings))
     {
         var dataSchema = new SkylineDataSchema(documentContainer, DataSchemaLocalizer.INVARIANT);
         var sessionFactory = database.SessionFactory;
         foreach (var classMetaData in sessionFactory.GetAllClassMetadata().Values)
         {
             var tableType = classMetaData.GetMappedClass(EntityMode.Poco);
             foreach (var propertyName in classMetaData.PropertyNames)
             {
                 if (propertyName == "Protein" && tableType == typeof (DbProteinResult))
                 {
                     continue;
                 }
                 var queryDef = new QueryDef
                     {
                         Select = new[] {new ReportColumn(tableType, propertyName),}
                     };
                 var reportSpec = new ReportSpec("test", queryDef);
                 var newTableType = ReportSpecConverter.GetNewTableType(reportSpec);
                 Assert.IsNotNull(newTableType, "No table for type {0}", tableType);
                 var converter = new ReportSpecConverter(dataSchema);
                 var viewInfo = converter.Convert(reportSpec);
                 Assert.IsNotNull(viewInfo, "Unable to convert property {0} in table {1}", propertyName, tableType);
                 Assert.AreEqual(1, viewInfo.DisplayColumns.Count, "No conversion for property {0} in table {1}", propertyName, tableType);
                 Assert.IsNotNull(viewInfo.DisplayColumns[0].ColumnDescriptor, "Column not found for property {0} in table {1}", propertyName, tableType);
                 var report = Report.Load(reportSpec);
                 var resultSet = report.Execute(database);
                 var bindingListSource = new BindingListSource();
                 bindingListSource.SetViewContext(new SkylineViewContext(viewInfo.ParentColumn, Array.CreateInstance(viewInfo.ParentColumn.PropertyType, 0)), viewInfo);
                 var properties = bindingListSource.GetItemProperties(null);
                 var oldCaptions = resultSet.ColumnInfos.Select(columnInfo => columnInfo.Caption).ToArray();
                 var newCaptions = properties.Cast<PropertyDescriptor>().Select(pd=>pd.DisplayName).ToArray();
                 if (oldCaptions.Length != newCaptions.Length)
                 {
                     Console.Out.WriteLine(oldCaptions);
                 }
                 CollectionAssert.AreEqual(oldCaptions, newCaptions, "Caption mismatch on {0} in {1}", propertyName, tableType);
                 for (int i = 0; i < resultSet.ColumnInfos.Count; i++)
                 {
                     var columnInfo = resultSet.ColumnInfos[i];
                     var formatAttribute = (FormatAttribute)properties[i].Attributes[typeof(FormatAttribute)];
                     string message = string.Format("Format problem on column converted from {0} in {1}",
                         columnInfo.ReportColumn.Column, columnInfo.ReportColumn.Table);
                     if (null == columnInfo.Format)
                     {
                         Assert.IsTrue(null == formatAttribute || null == formatAttribute.Format, message);
                     }
                     else
                     {
                         Assert.IsNotNull(formatAttribute, message);
                         Assert.AreEqual(columnInfo.Format, formatAttribute.Format, message);
                     }
                     if (columnInfo.IsNumeric)
                     {
                         Assert.IsNotNull(formatAttribute, message);
                         Assert.AreEqual(TextUtil.EXCEL_NA, formatAttribute.NullValue, message);
                     }
                     else
                     {
                         Assert.IsTrue(null == formatAttribute || null == formatAttribute.NullValue, message);
                     }
                 }
             }
         }
     }
 }
        private void StartSearch(QueryDef query)
        {
            _logger.Info("\n\n====== START SEARCH " + DateTime.Now + " ======\n\n");

            //Por cada red social a la que apunta la query
            foreach (var searchEngineName in query.SearchEnginesNamesList)
            {
                _logger.Info("\n\n====== START SEARCH FOR (" + searchEngineName + ") " + DateTime.Now + " ======\n\n");

                var postsResult = _searchEngineManager.Search(query.Query, new List<string> { searchEngineName }, ParamAccess.ISOLocationCountry,ParamAccess.ISOLanguageCode);
                foreach (var post in postsResult)
                {
                    if (_serviceManager.ExistPost(post.UrlPost)) continue;
                    _sentimentValuator.ProcessItem(post);
                    post.QueryDef = query;
                    _serviceManager.SavePost(post);
                }
                _logger.Info("\n\n===" + postsResult.Count + " POSTs FOUND IN " + searchEngineName + "\n");
            }

            _logger.Info("\n\n====== END QUERY SEARCH " + DateTime.Now + " ======\n\n");
            _logger.Info("\n\n====== WAITING FOR ANOTHER TIME ELAPSE ======\n\n");
        }
 public ActionResult Edit(QueryDef querydef)
 {
     if (!UserHelper.GetCurrent().IsAdmin) return View("AccesoDenegdo");
     if (ModelState.IsValid)
     {
         var entity = _querydefRepository.GetById(querydef.Id);
         querydef.SearchEnginesNames = "TwitterSearchEngine;FacebookSearchEngine;GooglePlusSearchEngine";
         return RedirectToAction("Index");
     }
     else
     {
         return View();
     }
 }