private DataCollection<SelectionDataClass> LoadAvailableTableData(String TableName, InformationenAddOn InfoAddOnParameter, AuswahlSelection Auswahl, AuswahlSortOrder SortBy) { DataCollection<SelectionDataClass> Result = GetSelectionData(new List<String> (){"AltErlaa", "AEAG"}, WMB.WPMediaApplicationState.Instance.Properties["UserName"].ToString(), InfoAddOnParameter, Guid.Empty, Auswahl, SortBy); TableDataCounter = Result.Count; _tableSelectionHeader = null; SendPropertyChanged("TableSelectionHeader"); return Result; }
public DataCollection<SelectionDataClass> GetSelectionData(List<String> BereicheToUse, String ActiveUser, InformationenAddOn InfoAddOnParameter, Guid TypID, AuswahlSelection EntriesToShow, AuswahlSortOrder SortOrder) { if (InfoAddOnParameter.Tabelle == "ProcessConnector") return null; String SortAddOn = String.Empty; FillSearchParameter(InfoAddOnParameter.Tabelle); if ((SortingItemsForSelection.Length == 0) && (ItemsToSelectForSelection.Length == 0) && (ItemsToFillHinweisColumn.Length == 0) && (String.IsNullOrEmpty(ViewNameForSelection))) return null; List<String> ItemsToSelect = new List<string>(); List<String> ItemsToSort = new List<string>(); ItemsToSelect.AddRange(ItemsToSelectForSelection); foreach (String SortingItem in SortingItemsForSelection) { if (!ItemsToSelect.Contains(SortingItem.Replace(" desc", ""))) { ItemsToSelect.Add (SortingItem.Replace (" desc", "")); } ItemsToSort.Add(SortingItem); } if (ItemsToSort.Count > 0) { SortAddOn = " order by " + String.Join (", ", ItemsToSort); } foreach (String HinweisItem in ItemsToFillHinweisColumn) if (!ItemsToSelect.Contains(HinweisItem)) ItemsToSelect.Add(HinweisItem); String SelectAddOn = String.Empty; List<String> SelectBasisStatements = new List<string>(); switch (EntriesToShow) { case AuswahlSelection.All: break; case AuswahlSelection.My: SelectAddOn = String.Format(" and (CreatedBy is null or CreatedBy = '{0}' or LastModifiedBy = '{0}') ", ActiveUser.ToUpper()); break; case AuswahlSelection.Used: SelectBasisStatements.Add(String.Format("select distinct (TabelleID), count (*) as Anzahl from InformationenAddOn " + " where Tabelle = '{0}' and not TabelleID is null and " + " not TabelleID = '00000000-0000-0000-0000-000000000000' group by TabelleID order by Anzahl desc", InfoAddOnParameter.Tabelle)); SelectAddOn = String.Format(" and ID in (select distinct (TabelleID) from InformationenAddOn " + " where Tabelle = '{0}' and not TabelleID is null " + "and not TabelleID = '00000000-0000-0000-0000-000000000000' )", InfoAddOnParameter.Tabelle); break; case AuswahlSelection.OnlyWohnPark: SelectAddOn = " and (HausID = '766B7B60-7A0D-47AD-8323-638A073FBF77') "; SortAddOn = " order by HausKurzbezeichnung, AdressenKurzbezeichnung, Ort, " + "StrassenName, Hausnummer, Stiege, Stock, Tuere "; break; case AuswahlSelection.OnlyKaufPark: SelectAddOn = " and (HausID = '21403101-55E9-4F78-92C7-C89F121D7D6C') "; SortAddOn = " order by HausKurzbezeichnung, AdressenKurzbezeichnung, Ort, " + "StrassenName, Hausnummer, Stiege, Stock, Tuere "; break; case AuswahlSelection.External: SelectAddOn = " and ((not HausID = '21403101-55E9-4F78-92C7-C89F121D7D6C' and " + "not HausID = '766B7B60-7A0D-47AD-8323-638A073FBF77') or HausID is null)"; SortAddOn = " order by HausKurzbezeichnung, AdressenKurzbezeichnung, Ort, " + "StrassenName, Hausnummer, Stiege, Stock, Tuere "; break; } switch (SortOrder) { case AuswahlSortOrder.Alphabetic: break; case AuswahlSortOrder.Occurence: break; } String BereichClause = " (Bereich = '" + String.Join ("' or Bereich = '", BereicheToUse) + "') "; SelectBasisStatements.Add("select Bereich, " + String.Join(", ", ItemsToSelect) + " from " + ViewNameForSelection + " where " + BereichClause + SelectAddOn + SortAddOn); DataSet SearchDataSet = BasicAccess.AltErlaaInfoDataBase.GetCommonMultiDataSet(SelectBasisStatements.ToArray()); Dictionary<Guid, String> HaeufigkeitProID = new Dictionary<Guid, String>(); if (SearchDataSet.Tables["InformationenAddOn"] != null) { foreach (DataRow HaeufigkeitEntry in SearchDataSet.Tables["InformationenAddOn"].Rows) { String Haeufigkeit = String.Format(" {0:D}", Convert.ToInt32(HaeufigkeitEntry["Anzahl"])); HaeufigkeitProID[(Guid)HaeufigkeitEntry["TabelleID"]] = Haeufigkeit.Substring(Haeufigkeit.Length - 4); } } DataCollection<SelectionDataClass> Result = new DataCollection<SelectionDataClass>(); foreach (DataRow SearchEntry in SearchDataSet.Tables[ViewNameForSelection].Rows) { Result.Add(GetSelectionDataContent(SearchEntry, InfoAddOnParameter)); if (SearchDataSet.Tables["InformationenAddOn"] != null) Result.Last().Haeufigkeit = HaeufigkeitProID[(Guid)SearchEntry["ID"]]; } return Result; }
private DataCollection<SelectionDataClass> LoadMyOrUsedSelectionData( AuswahlSelection EntriesToShow, AuswahlSortOrder SortOrder) { String SelectClause = String.Empty; SelectClause = DataModell.GetMyOrUsedUnifiedTableIDsSelectClause(InfoAddOn, EntriesToShow); if (String.IsNullOrEmpty(SelectClause)) return new DataCollection<SelectionDataClass>(); WCFStandards DataAccess = new WCFStandards(); DataSet ResultDataSet = null; if (SortOrder == AuswahlSortOrder.Alphabetic) ResultDataSet = DataAccess.GetCommonDataSet("Select " + String.Join(", ", ItemsToSelectForSelection) + " from " + ViewNameForSelection + " where ( " + DataModell.GetWhereClauseFromBereich(BereichToUse) + " ) and " + SelectClause + " order by " + String.Join(", ", SortingItemsForSelection)); else ResultDataSet = DataAccess.GetCommonDataSet("Select " + String.Join(", ", ItemsToSelectForSelection) + " from " + ViewNameForSelection + " where ( " + DataModell.GetWhereClauseFromBereich(BereichToUse) + " ) and " + SelectClause); return GetSelectionDataFormatting(ResultDataSet.Tables[ViewNameForSelection]); }
private DataCollection<SelectionDataClass> LoadTypeSelectionData (AuswahlSelection EntriesToShow, AuswahlSortOrder SortOrder) { String SelectClause = DataModell.GetTypeSelectClause(InfoAddOn, TypeToProcess); if (String.IsNullOrEmpty(SelectClause)) return new DataCollection<SelectionDataClass>(); DataSet ResultDataSet = null; if (SortOrder == AuswahlSortOrder.Alphabetic) ResultDataSet = BasicAccess.AltErlaaInfoDataBase.GetCommonDataSet ("Select " + String.Join(", ", ItemsToSelectForSelection) + " from " + ViewNameForSelection + " where ( " + DataModell.GetWhereClauseFromBereich(BereichToUse) + " ) and " + SelectClause + " order by " + String.Join(", ", SortingItemsForSelection)); else ResultDataSet = BasicAccess.AltErlaaInfoDataBase.GetCommonDataSet ("Select " + String.Join(", ", ItemsToSelectForSelection) + " from " + ViewNameForSelection + " where ( " + DataModell.GetWhereClauseFromBereich(BereichToUse) + " ) and " + SelectClause); return GetSelectionDataFormatting(ResultDataSet.Tables[ViewNameForSelection]); }
public DataCollection<SelectionDataClass> GetSelectionData( AuswahlSelection EntriesToShow, AuswahlSortOrder SortOrder) { if ((SortingItemsForSelection.Length == 0) && (ItemsToSelectForSelection.Length == 0) && (ItemsToFillHinweisColumn.Length == 0) && (String.IsNullOrEmpty(ViewNameForSelection))) return null; switch (EntriesToShow) { case AuswahlSelection.AllFromType: { if (TypeToProcess == null) return null; return LoadTypeSelectionData(EntriesToShow, SortOrder); } break; case AuswahlSelection.Used: case AuswahlSelection.My: { return LoadMyOrUsedSelectionData(EntriesToShow, SortOrder); } break; case AuswahlSelection.All: { return LoadAllSelectionData(); } break; } return null; }
public CombinedSelectionAndSortOrderEnum GetFinalSelectionAndSortCriteria (AuswahlSelection EntriesToShow, AuswahlSortOrder SortOrder) { switch (EntriesToShow) { case AuswahlSelection.My: if (SortOrder == AuswahlSortOrder.Alphabetic) return CombinedSelectionAndSortOrderEnum.MyEntriesOrderByAlphabet; else return CombinedSelectionAndSortOrderEnum.MyEntriesOrderByOccurence; break; case AuswahlSelection.AllFromType: if (SortOrder == AuswahlSortOrder.Alphabetic) return CombinedSelectionAndSortOrderEnum.TypEntriesOrderByAlphabet; else return CombinedSelectionAndSortOrderEnum.TypEntriesOrderByOccurence; break; case AuswahlSelection.Used: if (SortOrder == AuswahlSortOrder.Alphabetic) return CombinedSelectionAndSortOrderEnum.UsedEntriesOrderByAlphabet; else return CombinedSelectionAndSortOrderEnum.UsedEntriesOrderByOccurence; break; case AuswahlSelection.All: return CombinedSelectionAndSortOrderEnum.AllEntriesOrderByAlphabet; break; } return CombinedSelectionAndSortOrderEnum.AllEntriesOrderByAlphabet; }
public bool Create(AuswahlSelection EntriesToShow, AuswahlSortOrder SortOrder) { AuswahlSortOrder SortOrderUsed = AuswahlSortOrder.Alphabetic; if (SelectionData != null) SelectionData.Clear(); while (((SelectionData == null) || (SelectionData.Count == 0)) && (MultipleAuswahlEntries.Count > 0)) { if (MultipleAuswahlEntries.Contains(EntriesToShow)) MultipleAuswahlEntries.Remove(EntriesToShow); else { EntriesToShow = MultipleAuswahlEntries[0]; MultipleAuswahlEntries.RemoveAt(0); } if (EntriesToShow == AuswahlSelection.All) SortOrderUsed = AuswahlSortOrder.Alphabetic; else SortOrderUsed = SortOrder; SelectionData = GetSelectionData (EntriesToShow, SortOrderUsed); if (SelectionData == null) return false; } if (SelectionData == null) return false; if (SelectionData.Count == 0) return false; return true; }