//---------------------------------------------------------------------------------------------------------------------------------- // Options //---------------------------------------------------------------------------------------------------------------------------------- public questStatus GetUserOptions(out List <OptionValuePair> optionsList, string Value = null, string Name = null) { // Initialize questStatus status = null; optionsList = null; // TEMPORARY: OPTIMIZE THIS List <SearchField> searchFieldList = new List <SearchField>(); SearchOptions searchOptions = new SearchOptions(); searchOptions.SearchFieldList = searchFieldList; QueryOptions queryOptions = new QueryOptions(); queryOptions.SearchOptions = searchOptions; QueryResponse queryResponse = null; // Get users for given tableset List <User> userList = null; UsersMgr usersMgr = new UsersMgr(this.UserSession); status = usersMgr.List(queryOptions, out userList, out queryResponse); if (!questStatusDef.IsSuccess(status)) { return(status); } // Sort userList.Sort(delegate(User i1, User i2) { return(i1.LastName.CompareTo(i2.LastName)); }); // Build options // Set selected if specified. optionsList = new List <OptionValuePair>(); foreach (User user in userList) { OptionValuePair optionValuePair = new OptionValuePair(); optionValuePair.Id = user.Id.ToString(); optionValuePair.Label = user.LastName + ", " + user.FirstName; if (Value != null && Value == user.Id.ToString()) { optionValuePair.bSelected = true; } else if (Name != null && Name == user.Username) { optionValuePair.bSelected = true; } optionsList.Add(optionValuePair); } // Insert default option status = AddDefaultOptions(optionsList, "-1", "Select one ..."); if (!questStatusDef.IsSuccess(status)) { return(status); } return(new questStatus(Severity.Success)); }
//---------------------------------------------------------------------------------------------------------------------------------- // Options //---------------------------------------------------------------------------------------------------------------------------------- public questStatus AddDefaultOptions(List <OptionValuePair> optionsList, string Id = "-1", string Label = "") { // Initialize OptionValuePair defaultOptionValuePair = new OptionValuePair(); defaultOptionValuePair.Id = Id; defaultOptionValuePair.Label = Label; optionsList.Insert(0, defaultOptionValuePair); return(new questStatus(Severity.Success)); }
/*================================================================================================================================== * Public Methods *=================================================================================================================================*/ #region Options //---------------------------------------------------------------------------------------------------------------------------------- // Options //---------------------------------------------------------------------------------------------------------------------------------- public questStatus GetDatabaseOptions(out List <OptionValuePair> optionsList, string Value = null, string Name = null) { // Initialize questStatus status = null; optionsList = null; // Get database QueryOptions queryOptions = new QueryOptions(100, 1); List <Quest.Functional.MasterPricing.Database> databaseTypeList = null; QueryResponse queryResponse = null; DatabasesMgr databasesMgr = new DatabasesMgr(this.UserSession); status = databasesMgr.List(queryOptions, out databaseTypeList, out queryResponse); if (!questStatusDef.IsSuccess(status)) { return(status); } // Sort databaseTypeList.Sort(delegate(Quest.Functional.MasterPricing.Database i1, Quest.Functional.MasterPricing.Database i2) { return(i1.Name.CompareTo(i2.Name)); }); // Build options // Set selected if specified. optionsList = new List <OptionValuePair>(); foreach (Quest.Functional.MasterPricing.Database Database in databaseTypeList) { OptionValuePair optionValuePair = new OptionValuePair(); optionValuePair.Id = Database.Id.ToString(); optionValuePair.Label = Database.Name; if (Value != null && Value == Database.Id.ToString()) { optionValuePair.bSelected = true; } else if (Name != null && Name == Database.Name) { optionValuePair.bSelected = true; } optionsList.Add(optionValuePair); } // Insert default option status = AddDefaultOptions(optionsList, "-1", "Select one ..."); if (!questStatusDef.IsSuccess(status)) { return(status); } return(new questStatus(Severity.Success)); }
public questStatus GetTablesetOptions(out List <OptionValuePair> optionsList, string Value = null, string Name = null) { // Initialize questStatus status = null; optionsList = null; // Get tableset QueryOptions queryOptions = new QueryOptions(100, 1); List <Tableset> tablesetTypeList = null; QueryResponse queryResponse = null; TablesetsMgr tablesetsMgr = new TablesetsMgr(this.UserSession); status = tablesetsMgr.List(queryOptions, out tablesetTypeList, out queryResponse); if (!questStatusDef.IsSuccess(status)) { return(status); } // Sort tablesetTypeList.Sort(delegate(Tableset i1, Tableset i2) { return(i1.Name.CompareTo(i2.Name)); }); // Build options // Set selected if specified. optionsList = new List <OptionValuePair>(); foreach (Tableset Tableset in tablesetTypeList) { OptionValuePair optionValuePair = new OptionValuePair(); optionValuePair.Id = Tableset.Id.ToString(); optionValuePair.Label = Tableset.Name; if (Value != null && Value == Tableset.Id.ToString()) { optionValuePair.bSelected = true; } else if (Name != null && Name == Tableset.Name) { optionValuePair.bSelected = true; } optionsList.Add(optionValuePair); } // Insert default option status = AddDefaultOptions(optionsList, "-1", "Select one ..."); if (!questStatusDef.IsSuccess(status)) { return(status); } return(new questStatus(Severity.Success)); }
/*================================================================================================================================== * Public Methods *=================================================================================================================================*/ #region Options //---------------------------------------------------------------------------------------------------------------------------------- // Options //---------------------------------------------------------------------------------------------------------------------------------- public questStatus GetFilterOperatorOptions(out List <OptionValuePair> optionsList, string Value = null, string Name = null) { // Initialize questStatus status = null; optionsList = null; // Get filter operators QueryOptions queryOptions = new QueryOptions(1000, 1); List <FilterOperator> filterOperatorList = null; QueryResponse queryResponse = null; FilterOperatorsMgr filterOperatorsMgr = new FilterOperatorsMgr(this.UserSession); status = filterOperatorsMgr.List(queryOptions, out filterOperatorList, out queryResponse); if (!questStatusDef.IsSuccess(status)) { return(status); } // Sort // LEAVE IN ID ORDER. // Build options // Set selected if specified. optionsList = new List <OptionValuePair>(); foreach (FilterOperator filterOperator in filterOperatorList) { OptionValuePair optionValuePair = new OptionValuePair(); optionValuePair.Id = filterOperator.Id.ToString(); optionValuePair.Label = filterOperator.Name; if (Value != null && Value == filterOperator.Id.ToString()) { optionValuePair.bSelected = true; } else if (Name != null && Name == filterOperator.Name) { optionValuePair.bSelected = true; } optionsList.Add(optionValuePair); } // Insert default option status = AddDefaultOptions(optionsList, "-1", "Select one ..."); if (!questStatusDef.IsSuccess(status)) { return(status); } return(new questStatus(Severity.Success)); }
/*================================================================================================================================== * Public Methods *=================================================================================================================================*/ public questStatus GetFilterProcedureOptions(TablesetId tablesetId, out List <OptionValuePair> optionsList, string Value = null, string Name = null) { // Initialize questStatus status = null; optionsList = null; ////// Get stored procedures for filter's database. ////FilterMgr filterMgr = new FilterMgr(this.UserSession); ////List<StoredProcedure> storedProcedureList = null; ////status = filterMgr.GetDatabaseStoredProcedures(tablesetId, out storedProcedureList); ////if (!questStatusDef.IsSuccess(status)) ////{ //// return (status); ////} // Get the database Id. Tableset tableset = null; TablesetsMgr tablesetsMgr = new TablesetsMgr(this.UserSession); status = tablesetsMgr.Read(tablesetId, out tableset); if (!questStatusDef.IsSuccess(status)) { return(status); } // Get the stored procedures. DatabaseId databaseId = new DatabaseId(tableset.DatabaseId); List <StoredProcedure> storedProcedureList = null; StoredProceduresMgr storedProceduresMgr = new StoredProceduresMgr(this.UserSession); status = storedProceduresMgr.Read(databaseId, out storedProcedureList); if (!questStatusDef.IsSuccess(status)) { return(status); } // Sort storedProcedureList.Sort(delegate(StoredProcedure i1, StoredProcedure i2) { return(i1.Name.CompareTo(i2.Name)); }); // Build options // Set selected if specified. optionsList = new List <OptionValuePair>(); foreach (StoredProcedure storedProcedure in storedProcedureList) { OptionValuePair optionValuePair = new OptionValuePair(); optionValuePair.Id = storedProcedure.Id.ToString(); optionValuePair.Label = storedProcedure.Name; if (Value != null && Value == storedProcedure.Id.ToString()) { optionValuePair.bSelected = true; } else if (Name != null && Name == storedProcedure.Name) { optionValuePair.bSelected = true; } optionsList.Add(optionValuePair); } // Insert default option status = AddDefaultOptions(optionsList, "-1", "Select one ..."); if (!questStatusDef.IsSuccess(status)) { return(status); } return(new questStatus(Severity.Success)); }
/*================================================================================================================================== * Public Methods *=================================================================================================================================*/ #region LIST //---------------------------------------------------------------------------------------------------------------------------------- // LIST //---------------------------------------------------------------------------------------------------------------------------------- public questStatus GetParamerListInfo(ParameterListViewModel viewModel, out ParameterListViewModel parameterListViewModel) { // Initialize questStatus status = null; parameterListViewModel = null; DatabaseId databaseId = new DatabaseId(viewModel.DatabaseId); // Read the database DatabaseBaseViewModel databaseBaseViewModel = null; DatabaseBaseModeler databaseBaseModeler = new DatabaseBaseModeler(this.HttpRequestBase, this.UserSession); status = databaseBaseModeler.GetDatabase(databaseId, out databaseBaseViewModel); if (!questStatusDef.IsSuccess(status)) { return(status); } // Read the stored procedure StoredProceduresListViewModel storedProceduresListViewModel = null; StoredProceduresListModeler storedProceduresListModeler = new StoredProceduresListModeler(this.HttpRequestBase, this.UserSession); status = storedProceduresListModeler.List(databaseId, out storedProceduresListViewModel); if (!questStatusDef.IsSuccess(status)) { return(status); } // Get stored procedure info StoredProcedureId storedProcedureId = new StoredProcedureId(viewModel.Id); // Read the stored procedure info StoredProcedure storedProcedure = null; StoredProceduresMgr storedProceduresMgr = new StoredProceduresMgr(this.UserSession); status = storedProceduresMgr.Read(storedProcedureId, out storedProcedure); if (!questStatusDef.IsSuccess(status)) { return(status); } // Get stored procedure parameters viewModel.StoredProcedureId = viewModel.Id; ParameterListViewModel _parameterListViewModel = null; status = List(viewModel, out _parameterListViewModel); if (!questStatusDef.IsSuccess(status)) { return(status); } // Sort by display order // NOTE: ORDER IN DATABASE -SHOULD- BE ORDER IN SPROC. // Transfer model. parameterListViewModel = new ParameterListViewModel(this.UserSession, viewModel); parameterListViewModel.DatabaseId = databaseId.Id; parameterListViewModel.Database = databaseBaseViewModel; foreach (StoredProcedureLineItemViewModel storedProcedureLineItemViewModel in storedProceduresListViewModel.Items) { OptionValuePair opv = new OptionValuePair(); opv.Id = storedProcedureLineItemViewModel.Id.ToString(); opv.Label = storedProcedureLineItemViewModel.Name; parameterListViewModel.StoredProcedureOptions.Add(opv); } parameterListViewModel.ParentEntityType = viewModel.ParentEntityType; parameterListViewModel.StoredProcedureId = viewModel.StoredProcedureId; StoredProcedureViewModel storedProcedureViewModel = new StoredProcedureViewModel(); BufferMgr.TransferBuffer(storedProcedure, storedProcedureViewModel); parameterListViewModel.StoredProcedure = storedProcedureViewModel; parameterListViewModel.Items = _parameterListViewModel.Items; return(new questStatus(Severity.Success)); }
/*================================================================================================================================== * Properties *=================================================================================================================================*/ #endregion #region Public Methods /*================================================================================================================================== * Public Methods *=================================================================================================================================*/ public questStatus GetTypeListOptions(TypeListId typeListId, List <TypeListArgument> typeListArgumentList, out List <OptionValuePair> typeListOptionList) { // Initialize questStatus status = null; typeListOptionList = null; // Get the typeList. TypeList typeList = null; DbTypeListsMgr dbTypeListsMgr = new DbTypeListsMgr(this.UserSession); status = dbTypeListsMgr.Read(typeListId, out typeList); if (!questStatusDef.IsSuccess(status)) { return(status); } // Get the database. DatabaseId databaseId = new DatabaseId(typeList.DatabaseId); Quest.Functional.MasterPricing.Database database = null; DbDatabasesMgr dbDatabasesMgr = new DbDatabasesMgr(this.UserSession); status = dbDatabasesMgr.Read(databaseId, out database); if (!questStatusDef.IsSuccess(status)) { return(status); } // Apply typeList arguments. if (typeListArgumentList == null) { typeListArgumentList = new List <TypeListArgument>(); } string sql = typeList.SQL; foreach (TypeListArgument typeListArgument in typeListArgumentList) { sql = sql.Replace(typeListArgument.Name, typeListArgument.Value); } try { using (SqlConnection conn = new SqlConnection(database.ConnectionString)) { conn.Open(); using (SqlCommand cmd = new SqlCommand(null, conn)) { cmd.CommandType = CommandType.Text; cmd.CommandText = sql; using (SqlDataReader rdr = cmd.ExecuteReader()) { typeListOptionList = new List <OptionValuePair>(); while (rdr.Read()) { OptionValuePair optionValuePair = new OptionValuePair(); optionValuePair.Id = rdr[0].ToString(); optionValuePair.Label = rdr[0].ToString(); typeListOptionList.Add(optionValuePair); } } } } } catch (System.Exception ex) { status = new questStatus(Severity.Fatal, String.Format("EXCEPTION: {0}.{1}: {2}", this.GetType().ToString(), MethodInfo.GetCurrentMethod().Name, ex.Message)); return(status); } return(new questStatus(Severity.Success)); }
/*================================================================================================================================== * Public Methods *=================================================================================================================================*/ #region Options //---------------------------------------------------------------------------------------------------------------------------------- // Options //---------------------------------------------------------------------------------------------------------------------------------- public questStatus GetFilterOptions(TablesetId tablesetId, out List <OptionValuePair> optionsList, string Value = null, string Name = null) { // Initialize questStatus status = null; optionsList = null; // Set up query options. // TEMPORARY: OPTIMIZE THIS SearchField searchField = new SearchField(); searchField.Name = "TablesetId"; searchField.SearchOperation = SearchOperation.Equal; searchField.Type = typeof(int); searchField.Value = tablesetId.Id.ToString(); List <SearchField> searchFieldList = new List <SearchField>(); searchFieldList.Add(searchField); SearchOptions searchOptions = new SearchOptions(); searchOptions.SearchFieldList = searchFieldList; QueryOptions queryOptions = new QueryOptions(1000, 1); queryOptions.SearchOptions = searchOptions; QueryResponse queryResponse = null; // Get filters for given tableset List <Quest.Functional.MasterPricing.Filter> filterList = null; FiltersMgr filtersMgr = new FiltersMgr(this.UserSession); status = filtersMgr.List(queryOptions, out filterList, out queryResponse); if (!questStatusDef.IsSuccess(status)) { return(status); } // Sort filterList.Sort(delegate(Quest.Functional.MasterPricing.Filter i1, Quest.Functional.MasterPricing.Filter i2) { return(i1.Name.CompareTo(i2.Name)); }); // Build options // Set selected if specified. optionsList = new List <OptionValuePair>(); foreach (Quest.Functional.MasterPricing.Filter filter in filterList) { OptionValuePair optionValuePair = new OptionValuePair(); optionValuePair.Id = filter.Id.ToString(); optionValuePair.Label = filter.Name; if (Value != null && Value == filter.Id.ToString()) { optionValuePair.bSelected = true; } else if (Name != null && Name == filter.Name) { optionValuePair.bSelected = true; } optionsList.Add(optionValuePair); } // Insert default option status = AddDefaultOptions(optionsList, "-1", "Select one ..."); if (!questStatusDef.IsSuccess(status)) { return(status); } return(new questStatus(Severity.Success)); }
/*================================================================================================================================== * Properties *=================================================================================================================================*/ #endregion #region Public Methods /*================================================================================================================================== * Public Methods *=================================================================================================================================*/ public questStatus GetLookupOptions(LookupRequest lookupRequest, List <LookupArgument> lookupArgumentList, out List <OptionValuePair> lookupOptionList) { // Initialize questStatus status = null; lookupOptionList = null; // Get the lookup. Lookup lookup = null; DbLookupsMgr dbLookupsMgr = new DbLookupsMgr(this.UserSession); status = dbLookupsMgr.Read(lookupRequest.LookupId, out lookup); if (!questStatusDef.IsSuccess(status)) { return(status); } // Get the database. DatabaseId databaseId = new DatabaseId(lookup.DatabaseId); Quest.Functional.MasterPricing.Database database = null; DbDatabasesMgr dbDatabasesMgr = new DbDatabasesMgr(this.UserSession); status = dbDatabasesMgr.Read(databaseId, out database); if (!questStatusDef.IsSuccess(status)) { return(status); } // Apply lookup arguments. if (lookupArgumentList == null) { lookupArgumentList = new List <LookupArgument>(); } string sql = lookup.SQL; foreach (LookupArgument lookupArgument in lookupArgumentList) { sql = sql.Replace(lookupArgument.Name, lookupArgument.Value); } try { using (SqlConnection conn = new SqlConnection(database.ConnectionString)) { conn.Open(); using (SqlCommand cmd = new SqlCommand(null, conn)) { cmd.CommandType = CommandType.Text; cmd.CommandText = sql; using (SqlDataReader rdr = cmd.ExecuteReader()) { lookupOptionList = new List <OptionValuePair>(); while (rdr.Read()) { dynamic resultRow = null; status = GetRow(rdr, out resultRow); if (!questStatusDef.IsSuccess(status)) { return(status); } OptionValuePair optionValuePair = new OptionValuePair(); try { string _lookupKeyField = lookup.KeyField.Replace("[", "").Replace("]", ""); optionValuePair.Id = ((IDictionary <string, object>)resultRow)[_lookupKeyField].ToString(); } catch (System.Exception) { return(new questStatus(Severity.Error, String.Format("ERROR: Lookup key field {0} not found in key SQL {1}", lookup.KeyField, lookup.SQL))); } string[] textFieldList = lookup.TextFields.Split(','); StringBuilder sbOptionText = new StringBuilder(); for (int idx = 0; idx < textFieldList.Length; idx += 1) { string textField = textFieldList[idx]; try { string _textField = textField.Replace("[", "").Replace("]", ""); sbOptionText.Append(((IDictionary <string, object>)resultRow)[_textField]); if (idx + 1 < textFieldList.Length) { sbOptionText.Append(" - "); } } catch (System.Exception) { return(new questStatus(Severity.Error, String.Format("ERROR: Lookup text field {0} not found in key SQL {1}", textField, lookup.SQL))); } optionValuePair.Label = sbOptionText.ToString(); } lookupOptionList.Add(optionValuePair); } } } } } catch (System.Exception ex) { status = new questStatus(Severity.Fatal, String.Format("EXCEPTION: {0}.{1}: {2}", this.GetType().ToString(), MethodInfo.GetCurrentMethod().Name, ex.Message)); return(status); } // Apply filter if specified if (lookupRequest.FilterItemId != null && lookupRequest.FilterItemId.Id >= BaseId.VALID_ID) { List <OptionValuePair> filteredLookupOptionList = null; status = ApplyFilterToLookResults(lookupRequest, lookupOptionList, out filteredLookupOptionList); if (!questStatusDef.IsSuccess(status)) { return(status); } lookupOptionList = filteredLookupOptionList; } return(new questStatus(Severity.Success)); }
public questStatus ApplyFilterToLookResults(LookupRequest lookupRequest, List <OptionValuePair> lookupOptionList, out List <OptionValuePair> filteredLookupOptionList) { // THIS IS NOW BROKEN THANKS TO IDENTIFIER-BASED REQUIREMENTS. // CHANGED THIS TO READ "SHALLOW" COPY OF FILTER ITEM. HOPE IT WORKS OUT // Initialize questStatus status = null; filteredLookupOptionList = null; // Must have a valid filter Id if (lookupRequest.FilterItemId == null || lookupRequest.FilterItemId.Id < BaseId.VALID_ID) { return(new questStatus(Severity.Error, String.Format("Invalid LookupRequest {0} FilterItemId", lookupRequest.LookupId.Id))); } // Get the filter items FilterItem filterItem = null; DbFilterItemsMgr dbFilterItemsMgr = new DbFilterItemsMgr(this.UserSession); status = dbFilterItemsMgr.Read(lookupRequest.FilterItemId, out filterItem); if (!questStatusDef.IsSuccess(status)) { return(status); } // Accumulate all filter values. List <FilterValue> filterValueList = new List <FilterValue>(); if (filterItem.LookupId == lookupRequest.LookupId.Id) { foreach (FilterOperation filterOperation in filterItem.OperationList) { if (filterOperation.ValueList.Count > 0) { filterValueList.AddRange(filterOperation.ValueList); } } } // If no filter values, return full list. if (filterValueList.Count == 0) { filteredLookupOptionList = lookupOptionList; return(new questStatus(Severity.Success)); } // Filter lookup by filter item values. filteredLookupOptionList = new List <OptionValuePair>(); foreach (FilterValue filterValue in filterValueList) { OptionValuePair optionValuePair = lookupOptionList.Find(delegate(OptionValuePair o) { return(o.Id == filterValue.Value); }); if (optionValuePair != null) { filteredLookupOptionList.Add(optionValuePair); } } return(new questStatus(Severity.Success)); }