/// <summary> /// Saves changes in WarehouseDto. /// </summary> /// <param name="dto">The dto.</param> public static void SaveWarehouse(WarehouseDto dto) { if (dto == null) { throw new ArgumentNullException("dto", String.Format("WarehouseDto can not be null")); } DataCommand cmd = CatalogDataHelper.CreateDataCommand(); using (TransactionScope scope = new TransactionScope()) { DataHelper.SaveDataSetSimple(CatalogContext.MetaDataContext, cmd, dto, "Warehouse"); scope.Complete(); } }
/// <summary> /// Saves changes in TaxCategory table. /// </summary> /// <param name="dto">The dto.</param> public static void SaveTaxCategory(CatalogTaxDto dto) { if (dto == null) { throw new ArgumentNullException("dto", String.Format("TaxDto can not be null")); } // TODO: Check if user is allowed to perform this operation DataCommand cmd = CatalogDataHelper.CreateDataCommand(); using (TransactionScope scope = new TransactionScope()) { DataHelper.SaveDataSetSimple(CatalogContext.MetaDataContext, cmd, dto, "TaxCategory"); scope.Complete(); } }
/// <summary> /// Gets the tax category by name. /// </summary> /// <returns></returns> public static CatalogTaxDto GetTaxCategoryByName(string taxCategoryName) { CatalogTaxDto dto = null; DataCommand cmd = CatalogDataHelper.CreateDataCommand(); cmd.CommandText = "ecf_TaxCategory_Name"; cmd.Parameters = new DataParameters(); cmd.Parameters.Add(new DataParameter("ApplicationId", CatalogConfiguration.Instance.ApplicationId, DataParameterType.UniqueIdentifier)); cmd.Parameters.Add(new DataParameter("Name", taxCategoryName, DataParameterType.NVarChar, 50)); cmd.DataSet = new CatalogTaxDto(); cmd.TableMapping = DataHelper.MapTables("TaxCategory"); DataResult results = DataService.LoadDataSet(cmd); dto = (CatalogTaxDto)results.DataSet; return(dto); }
/// <summary> /// Retrieves table containing nodes and entries from the specified catalog and catagory. /// </summary> /// <param name="parameters">The parameters.</param> /// <param name="responseGroup">The response group.</param> /// <returns> /// DataTable with the following fields: /// ID, Name, Type, Code, StartDate, EndDate, IsActive, SortOrder, RowNumber. /// If returnTotalCount is true, [RecordCount] is returned in the last column of the output table. /// </returns> internal static DataTable GetCatalogItemsTable(ItemSearchParameters parameters, CatalogNodeResponseGroup responseGroup) { // Assign new cache key, specific for site guid and response groups requested string cacheKey = CatalogCache.CreateCacheKey("catalogitemslist", responseGroup.CacheKey, parameters.CatalogId.ToString(), parameters.ParentNodeId.ToString(), parameters.OrderByClause, parameters.RecordsToRetrieve.ToString(), parameters.StartingRecord.ToString(), parameters.ReturnTotalCount.ToString(), parameters.ReturnInactive.ToString()); DataTable table = null; // check cache first object cachedObject = CatalogCache.Get(cacheKey); if (cachedObject != null) { table = (DataTable)cachedObject; } // Load the object if (table == null) { DataCommand cmd = CatalogDataHelper.CreateDataCommand(); cmd.CommandText = String.Format("[ecf_CatalogNodesList]"); cmd.Parameters = new DataParameters(); cmd.Parameters.Add(new DataParameter("CatalogId", parameters.CatalogId, DataParameterType.Int)); cmd.Parameters.Add(new DataParameter("CatalogNodeId", parameters.ParentNodeId, DataParameterType.Int)); cmd.Parameters.Add(new DataParameter("OrderClause", parameters.OrderByClause, DataParameterType.NVarChar, 100)); cmd.Parameters.Add(new DataParameter("StartingRec", parameters.StartingRecord, DataParameterType.Int)); cmd.Parameters.Add(new DataParameter("NumRecords", parameters.RecordsToRetrieve, DataParameterType.Int)); cmd.Parameters.Add(new DataParameter("ReturnInactive", parameters.ReturnInactive, DataParameterType.Bit)); cmd.Parameters.Add(new DataParameter("ReturnTotalCount", parameters.ReturnTotalCount, DataParameterType.Bit)); table = DataService.LoadTable(cmd); if (table != null) { // Insert to the cache collection CatalogCache.Insert(cacheKey, table, CatalogConfiguration.Instance.Cache.CatalogNodeTimeout); } } return(table); }
/// <summary> /// Gets the warehouses. /// </summary> /// <returns></returns> public static WarehouseDto GetWarehouseByWarehouseId(int warehouseId) { // Assign new cache key, specific for site guid and response groups requested //string cacheKey = CatalogCache.CreateCacheKey("catalog-warehouse-id", CatalogConfiguration.Instance.ApplicationId.ToString(), warehouseId); WarehouseDto dto = null; DataCommand cmd = CatalogDataHelper.CreateDataCommand(); cmd.CommandText = "ecf_Warehouse_WarehouseId"; cmd.Parameters = new DataParameters(); cmd.Parameters.Add(new DataParameter("ApplicationId", CatalogConfiguration.Instance.ApplicationId, DataParameterType.UniqueIdentifier)); cmd.Parameters.Add(new DataParameter("WarehouseId", warehouseId, DataParameterType.Int)); cmd.DataSet = new WarehouseDto(); cmd.TableMapping = DataHelper.MapTables("Warehouse"); DataResult results = DataService.LoadDataSet(cmd); dto = (WarehouseDto)results.DataSet; return(dto); }
/// <summary> /// Searches the entries. /// </summary> /// <param name="searchGuid">The search GUID.</param> /// <returns></returns> public int SearchEntries(Guid searchGuid) { DataCommand cmd = CatalogDataHelper.CreateDataCommand(); cmd.CommandText = String.Format("ecf_CatalogEntrySearch"); cmd.Parameters = new DataParameters(); cmd.Parameters.Add(new DataParameter("ApplicationId", CatalogConfiguration.Instance.ApplicationId, DataParameterType.UniqueIdentifier)); cmd.Parameters.Add(new DataParameter("SearchSetId", searchGuid, DataParameterType.UniqueIdentifier)); cmd.Parameters.Add(new DataParameter("Language", SearchParameters.Language, DataParameterType.NVarChar, 50)); cmd.Parameters.Add(new DataParameter("Catalogs", CommerceHelper.ConvertToString(SearchParameters.CatalogNames, ","), DataParameterType.NVarChar)); cmd.Parameters.Add(new DataParameter("CatalogNodes", CommerceHelper.ConvertToString(SearchParameters.CatalogNodes, ","), DataParameterType.NVarChar)); cmd.Parameters.Add(new DataParameter("SQLClause", SearchParameters.SqlWhereClause, DataParameterType.NVarChar)); cmd.Parameters.Add(new DataParameter("MetaSQLClause", SearchParameters.SqlMetaWhereClause, DataParameterType.NVarChar)); cmd.Parameters.Add(new DataParameter("FTSPhrase", SearchParameters.FreeTextSearchPhrase, DataParameterType.NVarChar)); cmd.Parameters.Add(new DataParameter("AdvancedFTSPhrase", SearchParameters.AdvancedFreeTextSearchPhrase, DataParameterType.NVarChar)); cmd.Parameters.Add(new DataParameter("OrderBy", SearchParameters.OrderByClause, DataParameterType.NVarChar)); cmd.Parameters.Add(new DataParameter("Namespace", SearchOptions.Namespace, DataParameterType.NVarChar, 1024)); cmd.Parameters.Add(new DataParameter("Classes", CommerceHelper.ConvertToString(SearchOptions.Classes, ","), DataParameterType.NVarChar)); cmd.Parameters.Add(new DataParameter("StartingRec", SearchOptions.StartingRecord, DataParameterType.Int)); cmd.Parameters.Add(new DataParameter("NumRecords", SearchOptions.RecordsToRetrieve, DataParameterType.Int)); cmd.Parameters.Add(new DataParameter("JoinType", SearchParameters.JoinType, DataParameterType.NVarChar, 50)); cmd.Parameters.Add(new DataParameter("SourceTableName", SearchParameters.JoinSourceTable, DataParameterType.NVarChar)); cmd.Parameters.Add(new DataParameter("TargetQuery", SearchParameters.JoinTargetQuery, DataParameterType.NVarChar)); cmd.Parameters.Add(new DataParameter("SourceJoinKey", SearchParameters.JoinSourceTableKey, DataParameterType.NVarChar)); cmd.Parameters.Add(new DataParameter("TargetJoinKey", SearchParameters.JoinTargetTableKey, DataParameterType.NVarChar)); DataParameter param = new DataParameter("RecordCount", DataParameterType.Int); param.Direction = ParameterDirection.InputOutput; param.Value = 0; cmd.Parameters.Add(param); cmd.Parameters.Add(new DataParameter("ReturnTotalCount", SearchOptions.ReturnTotalCount, DataParameterType.Bit)); //cmd.Parameters.Add(new DataParameter("ReturnNodeFilter", Enum.GetName(typeof(CatalogNodeFilter), SearchOptions.NodeFilter), DataParameterType.NVarChar, 50)); DataService.ExecuteNonExec(cmd); return(Int32.Parse(cmd.Parameters["RecordCount"].Value.ToString())); }