private void BuildDtosForCriteriaAdd(CountsQueryModel model, out O2CV1QueryDto queryDto, out CriteriaDto criteriaDto) { queryDto = new O2CV1QueryDto { CreatedBy = Session.GetDataFromSession <string>("LogedUserFullname"),//User.Identity.Name, Deleted = false, Description = model.QueryName, QueryName = model.QueryName, QueryId = model.QueryId }; criteriaDto = new CriteriaDto { CompareOperator = model.CriteriaModel.SelectedCriteria, CompareValue = model.CriteriaModel.CriteriaCompareValue, Createdby = Session.GetDataFromSession <string>("LogedUserFullname"),//User.Identity.Name, TableName = model.SelectedTable, Description = $"{model.SelectedTable} {model.SelectedColumn} {model.CriteriaModel.SelectedCriteria} {model.CriteriaModel.CriteriaCompareValue}", Disabled = false, Name = $"{model.SelectedTable} {model.SelectedColumn} {model.CriteriaModel.SelectedCriteria} {model.CriteriaModel.CriteriaCompareValue}", TableColumn = model.SelectedColumn }; }
private void GetQueryCriteriaIntoModel(string queryId, CountsQueryModel model) { var tableNames = _schemaRepository.GetSchemaTables(); CriteriaRepository criteriaRepository = new CriteriaRepository(_dbConnectionString); var criteriaThisQuery = criteriaRepository.GetCriteriaForQuery(Convert.ToInt64(queryId)); model.QueryCriteria = CriteriaMapper.MapCriteriaDtoToCriteriaGridViewModel(criteriaThisQuery); }
public ActionResult Criteria(string queryId, string queryName) { var tableNames = _schemaRepository.GetSchemaBackBoneRelatedTables(); IEnumerable <DropDownItem> temptablelist = tableNames.Select(name => new DropDownItem { DropDownDisplay = name, DropDownValue = name }).OrderBy(x => x.DropDownDisplay).ToList(); var model = new CountsQueryModel { _tables = GetSelectListItems(temptablelist), QueryId = queryId, QueryName = queryName, CriteriaModel = { _criteria = BuildModelCriteria() } }; ViewBag.temptablelist = temptablelist; GetQueryCriteriaIntoModel(queryId, model); return(View(model)); }
public ActionResult SyncQuery(CountsQueryModel model) { if (ModelState.IsValid) { O2CV1QueryDto queryDto; CriteriaDto criteriaDto; BuildDtosForCriteriaAdd(model, out queryDto, out criteriaDto); var criteriaBusiness = new O2CV1Business(_dbConnectionString); var queryId = criteriaBusiness.CreateNextCriteriaForQuery(queryDto, criteriaDto); model.QueryId = queryId; queryDto.QueryId = queryId; SaveQuerySqlChanges(queryId, queryDto); ModelState.Clear(); ResetCountsQueryModel(criteriaDto, queryDto, model); return(View("Criteria", model)); } return(Redirect("Index")); }
private void ResetCountsQueryModel(CriteriaDto criteriaDto, O2CV1QueryDto queryDto, CountsQueryModel model) { var tableNames = _schemaRepository.GetSchemaTables(); IEnumerable <DropDownItem> temptablelist = tableNames.Select(name => new DropDownItem { DropDownDisplay = name, DropDownValue = name }).OrderBy(x => x.DropDownDisplay).ToList(); model.SelectedTable = criteriaDto.TableName; model.QueryId = queryDto.QueryId; model.QueryName = queryDto.QueryName; model._tables = GetSelectListItems(temptablelist); model.QueryId = queryDto.QueryId; model.CriteriaModel = new CriteriaModel { _criteria = BuildModelCriteria() }; ViewBag.temptablelist = temptablelist; var tableSchemaModels = _schemaRepository.GetSchemaTableColumns(criteriaDto.TableName); IEnumerable <DropDownItem> tempColumnList = tableSchemaModels.MetaData.Select(col => new DropDownItem { DropDownDisplay = col.Name, DropDownValue = $"{criteriaDto.TableName}.{col.Name}" }).OrderBy(x => x.DropDownDisplay).ToList(); model._columns = tempColumnList.ToList(); CriteriaRepository criteriaRepository = new CriteriaRepository(_dbConnectionString); var criteriaThisQuery = criteriaRepository.GetCriteriaForQuery(Convert.ToInt64(queryDto.QueryId)); model.QueryCriteria = CriteriaMapper.MapCriteriaDtoToCriteriaGridViewModel(criteriaThisQuery); }