public EntityWrapperBase(RequestContext context, SupportedResourceKinds resourceKind) { _context = context; _resourceKind = resourceKind; _emptyToken = new Token(); _correlatedResSyncInfoStore = RequestReceiver.NorthwindAdapter.StoreLocator.GetCorrelatedResSyncStore(_context.SdataContext); }
public EntityWrapperBase(RequestContext context, SupportedResourceKinds resourceKind) { _context = context; _resourceKind = resourceKind; _emptyToken = new Token(); _correlatedResSyncInfoStore = NorthwindAdapter.StoreLocator.GetCorrelatedResSyncStore(_context.SdataContext); }
public static IFeedEntryEntityWrapper Create(SupportedResourceKinds resourceKind, RequestContext context) { IFeedEntryEntityWrapper result; switch (resourceKind) { case SupportedResourceKinds.contacts: result = new ContactFeedEntryWrapper(context); return(result); case SupportedResourceKinds.tradingAccounts: result = new TradingAccountsFeedEntryWrapper(context); return(result); case SupportedResourceKinds.postalAddresses: result = new PostalAddressFeedEntryWrapper(context); return(result); case SupportedResourceKinds.salesOrders: result = new SalesOrderFeedEntryWrapper(context); return(result); case SupportedResourceKinds.phoneNumbers: result = new PhoneNumberFeedEntryWrapper(context); return(result); case SupportedResourceKinds.emails: result = new EmailFeedEntryWrapper(context); return(result); case SupportedResourceKinds.commodityGroups: result = new CommodityGroupFeedEntryWrapper(context); return(result); case SupportedResourceKinds.commodities: result = new CommodityFeedEntryWrapper(context); return(result); case SupportedResourceKinds.unitsOfMeasure: result = new UnitOfMeasureFeedEntryWrapper(context); return(result); case SupportedResourceKinds.priceLists: result = new PriceListFeedEntryWrapper(context); return(result); case SupportedResourceKinds.prices: return(new PriceFeedEntryWrapper(context)); // case SupportedResourceKinds.salesInvoices: // return new SalesInvoiceFeedEntryWrapper(context); default: throw new InvalidOperationException("Resource Kind not supported."); } }
private string GetLocalId(Guid uuid, SupportedResourceKinds resKind) { CorrelatedResSyncInfo[] results = _correlatedResSyncInfoStore.GetByUuid(resKind.ToString(), new Guid[] { uuid }); if (results.Length > 0) { return(results[0].LocalId); } return(string.Empty); }
public static IFeedEntryEntityWrapper Create(SupportedResourceKinds resourceKind, RequestContext context) { IFeedEntryEntityWrapper result; switch (resourceKind) { case SupportedResourceKinds.contacts: result = new ContactFeedEntryWrapper(context); return result; case SupportedResourceKinds.tradingAccounts: result = new TradingAccountsFeedEntryWrapper(context); return result; case SupportedResourceKinds.postalAddresses: result = new PostalAddressFeedEntryWrapper(context); return result; case SupportedResourceKinds.salesOrders: result = new SalesOrderFeedEntryWrapper(context); return result; case SupportedResourceKinds.phoneNumbers: result = new PhoneNumberFeedEntryWrapper(context); return result; case SupportedResourceKinds.emails: result = new EmailFeedEntryWrapper(context); return result; case SupportedResourceKinds.commodityGroups: result = new CommodityGroupFeedEntryWrapper(context); return result; case SupportedResourceKinds.commodities: result = new CommodityFeedEntryWrapper(context); return result; case SupportedResourceKinds.unitsOfMeasure: result = new UnitOfMeasureFeedEntryWrapper(context); return result; case SupportedResourceKinds.priceLists: result = new PriceListFeedEntryWrapper(context); return result; case SupportedResourceKinds.prices: return new PriceFeedEntryWrapper(context); // case SupportedResourceKinds.salesInvoices: // return new SalesInvoiceFeedEntryWrapper(context); default: throw new InvalidOperationException("Resource Kind not supported."); } }
public static string GetSingleResourceUrl(string baseUrl, string payloadpath, string id) { if (!baseUrl.EndsWith("/")) { baseUrl = baseUrl + "/"; } SupportedResourceKinds resKind = GetResourceKind(payloadpath); return(String.Format("{0}{1}('{2}')", baseUrl, resKind.ToString(), id)); }
public TransformationBase(RequestContext context, SupportedResourceKinds resourceKind) { _context = context; _datasetLink = _context.DatasetLink; _config = _context.Config; _resourceKind = resourceKind; _resourceKindString = _resourceKind.ToString(); _originApplication = _datasetLink + _resourceKindString; _correlatedResSyncInfoStore = NorthwindAdapter.StoreLocator.GetCorrelatedResSyncStore(_context.SdataContext); }
public TransformationBase(RequestContext context, SupportedResourceKinds resourceKind) { _context = context; _datasetLink = _context.DatasetLink; _config = _context.Config; _resourceKind = resourceKind; _resourceKindString = _resourceKind.ToString(); _originApplication = _datasetLink + _resourceKindString; _correlatedResSyncInfoStore = RequestReceiver.NorthwindAdapter.StoreLocator.GetCorrelatedResSyncStore(_context.SdataContext); }
/// <summary> /// Returns the payload type for a given resource kind type /// </summary> /// <param name="resourceKind"></param> /// <returns></returns> public static Type GetPayloadType(SupportedResourceKinds resourceKind) { switch (resourceKind) { case SupportedResourceKinds.contacts: return(typeof(ContactPayload)); case SupportedResourceKinds.emails: return(typeof(EmailPayload)); case SupportedResourceKinds.phoneNumbers: return(typeof(PhoneNumberPayload)); case SupportedResourceKinds.postalAddresses: return(typeof(PostalAddressPayload)); case SupportedResourceKinds.tradingAccounts: return(typeof(TradingAccountPayload)); case SupportedResourceKinds.commodityGroups: return(typeof(CommodityGroupPayload)); case SupportedResourceKinds.unitsOfMeasureGroup: return(typeof(UnitOfMeasureGroupPayload)); case SupportedResourceKinds.unitsOfMeasure: return(typeof(UnitOfMeasurePayload)); case SupportedResourceKinds.commodities: return(typeof(CommodityPayload)); case SupportedResourceKinds.priceLists: return(typeof(PriceListPayload)); case SupportedResourceKinds.prices: return(typeof(PricePayload)); case SupportedResourceKinds.salesOrders: return(typeof(SalesOrderPayload)); case SupportedResourceKinds.salesOrderLines: return(typeof(SalesOrderLinePayload)); case SupportedResourceKinds.salesInvoices: return(typeof(SalesInvoicePayload)); case SupportedResourceKinds.salesInvoiceLines: return(typeof(SalesInvoiceLinePayload)); } return(null); }
internal SdataTransactionResult GetSdataTransactionResult( List <TransactionResult> transactions, string EndPoint, SupportedResourceKinds resource) { SdataTransactionResult result; // create default result result = new SdataTransactionResult(); result.ResourceKind = resource; result.HttpStatus = HttpStatusCode.BadRequest; if (transactions == null) { return(null); } if (transactions.Count == 0) { return(null); } PersistRelations(transactions); foreach (TransactionResult transaction in transactions) { SupportedResourceKinds res = GetSupportedResourceKind(transaction.EntityName); if (res == resource) { result.ResourceKind = resource; result.LocalId = transaction.ID; result.Uuid = transaction.CRMID; result.HttpMessage = transaction.Message; result.Location = EndPoint + "('" + transaction.ID + "')"; result.HttpStatus = Helper.GetHttpStatus(transaction.Status, transaction.Action); result.HttpMethod = Helper.GetHttpMethod(transaction.Action); } } foreach (TransactionResult transaction in transactions) { if (transaction.Status != TransactionStatus.Success) { result = new SdataTransactionResult(); result.ResourceKind = resource; result.HttpMessage = transaction.Message; result.HttpStatus = Helper.GetHttpStatus(transaction.Status, transaction.Action); return(result); } } return(result); }
private string GetLocalId(string uuidString, SupportedResourceKinds resKind) { GuidConverter converter = new GuidConverter(); try { Guid uuid = (Guid)converter.ConvertFromString(uuidString); return(GetLocalId(uuid, resKind)); } catch (Exception) { return(string.Empty); } }
public static PayloadBase CreatePayload(SupportedResourceKinds resource) { switch (resource) { case SupportedResourceKinds.tradingAccounts: return(new TradingAccountPayload()); case SupportedResourceKinds.postalAddresses: return(new PostalAddressPayload()); case SupportedResourceKinds.phoneNumbers: return(new PhoneNumberPayload()); case SupportedResourceKinds.emails: return(new EmailPayload()); case SupportedResourceKinds.contacts: return(new ContactPayload()); case SupportedResourceKinds.commodityGroups: return(new CommodityGroupPayload()); case SupportedResourceKinds.unitsOfMeasureGroup: return(new UnitOfMeasureGroupPayload()); case SupportedResourceKinds.unitsOfMeasure: return(new UnitOfMeasurePayload()); case SupportedResourceKinds.commodities: return(new CommodityPayload()); case SupportedResourceKinds.priceLists: return(new PriceListPayload()); case SupportedResourceKinds.prices: return(new PricePayload()); case SupportedResourceKinds.salesOrders: return(new SalesOrderPayload()); case SupportedResourceKinds.salesOrderLines: return(new SalesOrderLinePayload()); } return(null); }
private Guid GetUuid(string localId, string uuidString, SupportedResourceKinds resKind) { if (String.IsNullOrEmpty(localId)) { return(Guid.Empty); } CorrelatedResSyncInfo[] results = _correlatedResSyncInfoStore.GetByLocalId(resKind.ToString(), new string[] { localId }); if (results.Length > 0) { return(results[0].ResSyncInfo.Uuid); } Guid result; if (string.IsNullOrEmpty(uuidString)) { result = Guid.NewGuid(); } else { try { GuidConverter converter = new GuidConverter(); result = (Guid)converter.ConvertFromString(uuidString); if (Guid.Empty.Equals(result)) { result = Guid.NewGuid(); } } catch (Exception) { result = Guid.NewGuid(); } } ResSyncInfo newResSyncInfo = new ResSyncInfo(result, _context.DatasetLink + resKind.ToString(), 0, string.Empty, DateTime.Now); CorrelatedResSyncInfo newCorrelation = new CorrelatedResSyncInfo(localId, newResSyncInfo); _correlatedResSyncInfoStore.Put(resKind.ToString(), newCorrelation); return(result); }
private List <SyncFeedEntryLink> GetLinks(Dictionary <string, string> foreignIds) { List <SyncFeedEntryLink> result = new List <SyncFeedEntryLink>(); foreach (string key in foreignIds.Keys) { string value; if (foreignIds.TryGetValue(key, out value)) { SupportedResourceKinds tmpResKind = ResourceKindHelpers.GetResourceKind(key); Guid guid = GetUuid(value, "", tmpResKind); SyncFeedEntryLink link = SyncFeedEntryLink.CreateRelatedLink( Common.ResourceKindHelpers.GetSingleResourceUrl(_context.DatasetLink, key, value), tmpResKind.ToString(), key, guid.ToString()); result.Add(link); } } return(result); }
/// <summary> /// Returns the payload type for a given resource kind type /// </summary> /// <param name="resourceKind"></param> /// <returns></returns> public static Type GetPayloadType(SupportedResourceKinds resourceKind) { switch (resourceKind) { case SupportedResourceKinds.contacts: return typeof(ContactPayload); case SupportedResourceKinds.emails: return typeof(EmailPayload); case SupportedResourceKinds.phoneNumbers: return typeof(PhoneNumberPayload); case SupportedResourceKinds.postalAddresses: return typeof(PostalAddressPayload); case SupportedResourceKinds.tradingAccounts: return typeof(TradingAccountPayload); case SupportedResourceKinds.commodityGroups: return typeof(CommodityGroupPayload); case SupportedResourceKinds.unitsOfMeasureGroup: return typeof(UnitOfMeasureGroupPayload); case SupportedResourceKinds.unitsOfMeasure: return typeof(UnitOfMeasurePayload); case SupportedResourceKinds.commodities: return typeof(CommodityPayload); case SupportedResourceKinds.priceLists: return typeof(PriceListPayload); case SupportedResourceKinds.prices: return typeof(PricePayload); case SupportedResourceKinds.salesOrders: return typeof(SalesOrderPayload); case SupportedResourceKinds.salesOrderLines: return typeof(SalesOrderLinePayload); case SupportedResourceKinds.salesInvoices: return typeof(SalesInvoicePayload); case SupportedResourceKinds.salesInvoiceLines: return typeof(SalesInvoiceLinePayload); } return null; }
private void PersistRelations(List <TransactionResult> transactions) { GuidConverter guidConverter = new GuidConverter(); foreach (TransactionResult transaction in transactions) { if (transaction.Status == TransactionStatus.Success) { SupportedResourceKinds resourceKind = GetSupportedResourceKind(transaction.EntityName); if (resourceKind == SupportedResourceKinds.None) { continue; } string uuidString = transaction.CRMID; Guid uuid = Guid.Empty; try { uuid = (Guid)guidConverter.ConvertFromString(uuidString); } catch { continue; } if (uuid == Guid.Empty) { continue; } string localId = transaction.ID; ResSyncInfo resSyncInfo = new ResSyncInfo(uuid, _context.DatasetLink + resourceKind.ToString(), -1, "", DateTime.Now); CorrelatedResSyncInfo correlatedResSyncInfo = new CorrelatedResSyncInfo(localId, resSyncInfo); // store the new correlation to the sync store _correlatedResSyncInfoStore.Put(resourceKind.ToString(), correlatedResSyncInfo); } } }
public static PayloadBase CreatePayload(SupportedResourceKinds resource) { switch (resource) { case SupportedResourceKinds.tradingAccounts: return new TradingAccountPayload(); case SupportedResourceKinds.postalAddresses: return new PostalAddressPayload(); case SupportedResourceKinds.phoneNumbers: return new PhoneNumberPayload(); case SupportedResourceKinds.emails: return new EmailPayload(); case SupportedResourceKinds.contacts: return new ContactPayload(); case SupportedResourceKinds.commodityGroups: return new CommodityGroupPayload(); case SupportedResourceKinds.unitsOfMeasureGroup: return new UnitOfMeasureGroupPayload(); case SupportedResourceKinds.unitsOfMeasure: return new UnitOfMeasurePayload(); case SupportedResourceKinds.commodities: return new CommodityPayload(); case SupportedResourceKinds.priceLists: return new PriceListPayload(); case SupportedResourceKinds.prices: return new PricePayload(); case SupportedResourceKinds.salesOrders: return new SalesOrderPayload(); case SupportedResourceKinds.salesOrderLines: return new SalesOrderLinePayload(); } return null; }
internal SdataTransactionResult GetSdataTransactionResult( List<TransactionResult> transactions, string EndPoint, SupportedResourceKinds resource) { SdataTransactionResult result; // create default result result = new SdataTransactionResult(); result.ResourceKind = resource; result.HttpStatus = HttpStatusCode.BadRequest; if (transactions == null) return null; if (transactions.Count == 0) return null; PersistRelations(transactions); foreach (TransactionResult transaction in transactions) { SupportedResourceKinds res = GetSupportedResourceKind(transaction.EntityName); if (res == resource) { result.ResourceKind = resource; result.LocalId = transaction.ID; result.Uuid = transaction.CRMID; result.HttpMessage = transaction.Message; result.Location = EndPoint + "('" + transaction.ID + "')"; result.HttpStatus = Helper.GetHttpStatus(transaction.Status, transaction.Action); result.HttpMethod = Helper.GetHttpMethod(transaction.Action); } } foreach (TransactionResult transaction in transactions) { if (transaction.Status != TransactionStatus.Success) { result = new SdataTransactionResult(); result.ResourceKind = resource; result.HttpMessage = transaction.Message; result.HttpStatus = Helper.GetHttpStatus(transaction.Status, transaction.Action); return result; } } return result; }
protected string GetSDataId(string id, SupportedResourceKinds resourceKind) { return(String.Format("{0}{1}('{2}')", _context.DatasetLink, resourceKind.ToString(), id)); }
internal static SdataTransactionResult GetSdataTransactionResult(List<TransactionResult> transactions, string endpoint, SupportedResourceKinds resource) { if (transactions == null) return null; if (transactions.Count == 0) return null; GuidConverter guidConverter = new GuidConverter(); SdataTransactionResult result; foreach (TransactionResult transaction in transactions) { if (transaction.Status != TransactionStatus.Success) { result = new SdataTransactionResult(); result.ResourceKind = resource; result.LocalId = transaction.ID; try { result.Uuid = (Guid)guidConverter.ConvertFromString(transaction.CRMID); } catch (Exception) { } result.HttpMessage = transaction.Message; result.Location = endpoint + "('" + transaction.ID + "')"; result.HttpStatus = Helper.GetHttpStatus(transaction.Status, transaction.Action); result.HttpMethod = Helper.GetHttpMethod(transaction.Action); return result; } } if (transactions.Count == 0) return null; result = new SdataTransactionResult(); result.ResourceKind = resource; result.LocalId = transactions[0].ID; try { result.Uuid = (Guid)guidConverter.ConvertFromString(transactions[0].CRMID); } catch (Exception) { } result.HttpMessage = transactions[0].Message; result.Location = endpoint + "('" + transactions[0].ID + "')"; result.HttpStatus = Helper.GetHttpStatus(transactions[0].Status, transactions[0].Action); result.HttpMethod = Helper.GetHttpMethod(transactions[0].Action); return result; }
private Guid GetUuid(string localId, string uuidString, SupportedResourceKinds resKind) { if (String.IsNullOrEmpty(localId)) { return Guid.Empty; } CorrelatedResSyncInfo[] results = _correlatedResSyncInfoStore.GetByLocalId(resKind.ToString(), new string[] { localId }); if (results.Length > 0) return results[0].ResSyncInfo.Uuid; Guid result; if (string.IsNullOrEmpty(uuidString)) result = Guid.NewGuid(); else try { GuidConverter converter = new GuidConverter(); result = (Guid)converter.ConvertFromString(uuidString); if (Guid.Empty.Equals(result)) result = Guid.NewGuid(); } catch (Exception) { result = Guid.NewGuid(); } ResSyncInfo newResSyncInfo = new ResSyncInfo(result, _context.DatasetLink + resKind.ToString(), 0, string.Empty, DateTime.Now); CorrelatedResSyncInfo newCorrelation = new CorrelatedResSyncInfo(localId, newResSyncInfo); _correlatedResSyncInfoStore.Put(resKind.ToString(), newCorrelation); return result; }
private string GetLocalId(string uuidString, SupportedResourceKinds resKind) { GuidConverter converter = new GuidConverter(); try { Guid uuid = (Guid)converter.ConvertFromString(uuidString); return GetLocalId(uuid, resKind); } catch (Exception) { return string.Empty; } }
internal static SdataTransactionResult GetSdataTransactionResult(List <TransactionResult> transactions, string endpoint, SupportedResourceKinds resource) { if (transactions == null) { return(null); } if (transactions.Count == 0) { return(null); } GuidConverter guidConverter = new GuidConverter(); SdataTransactionResult result; foreach (TransactionResult transaction in transactions) { if (transaction.Status != TransactionStatus.Success) { result = new SdataTransactionResult(); result.ResourceKind = resource; result.LocalId = transaction.ID; try { result.Uuid = (Guid)guidConverter.ConvertFromString(transaction.CRMID); } catch (Exception) { } result.HttpMessage = transaction.Message; result.Location = endpoint + "('" + transaction.ID + "')"; result.HttpStatus = Helper.GetHttpStatus(transaction.Status, transaction.Action); result.HttpMethod = Helper.GetHttpMethod(transaction.Action); return(result); } } if (transactions.Count == 0) { return(null); } result = new SdataTransactionResult(); result.ResourceKind = resource; result.LocalId = transactions[0].ID; try { result.Uuid = (Guid)guidConverter.ConvertFromString(transactions[0].CRMID); } catch (Exception) { } result.HttpMessage = transactions[0].Message; result.Location = endpoint + "('" + transactions[0].ID + "')"; result.HttpStatus = Helper.GetHttpStatus(transactions[0].Status, transactions[0].Action); result.HttpMethod = Helper.GetHttpMethod(transactions[0].Action); return(result); }
public static IEntityWrapper Create(SupportedResourceKinds resourceKind, RequestContext context) { IEntityWrapper result; switch (resourceKind) { case SupportedResourceKinds.tradingAccounts: result = new TradingAccountWrapper(context); return(result); case SupportedResourceKinds.phoneNumbers: result = new PhoneNumberWrapper(context); return(result); case SupportedResourceKinds.postalAddresses: result = new PostalAddressWrapper(context); return(result); case SupportedResourceKinds.contacts: result = new ContactWrapper(context); return(result); case SupportedResourceKinds.commodityGroups: result = new CommodityGroupWrapper(context); return(result); case SupportedResourceKinds.commodities: result = new CommodityWrapper(context); return(result); case SupportedResourceKinds.unitsOfMeasureGroup: result = new UnitOfMeasureGroupWrapper(context); return(result); case SupportedResourceKinds.unitsOfMeasure: result = new UnitOfMeasureWrapper(context); return(result); case SupportedResourceKinds.priceLists: result = new PriceListWrapper(context); return(result); case SupportedResourceKinds.prices: result = new PriceWrapper(context); return(result); case SupportedResourceKinds.emails: result = new EmailWrapper(context); return(result); case SupportedResourceKinds.salesOrders: result = new SalesOrderWrapper(context); return(result); case SupportedResourceKinds.salesOrderLines: result = new SalesOrderLineWrapper(context); return(result); case SupportedResourceKinds.salesInvoices: result = new SalesInvoicesWrapper(context); return(result); case SupportedResourceKinds.salesInvoiceLines: result = new SalesInvoiceLineWrapper(context); return(result); default: throw new NotSupportedException(string.Format("ResourceKind '{0}' not supported.", resourceKind)); } }
private void SetCommonProperties(string idString, FeedEntry entry, SupportedResourceKinds resKind) { entry.Id = GetSDataId(idString, resKind); entry.Key = idString; }
private string GetLocalId(Guid uuid, SupportedResourceKinds resKind) { CorrelatedResSyncInfo[] results = _correlatedResSyncInfoStore.GetByUuid(resKind.ToString(), new Guid[] { uuid }); if (results.Length > 0) return results[0].LocalId; return string.Empty; }
protected string GetSDataId(string id, SupportedResourceKinds resourceKind) { return String.Format("{0}{1}('{2}')", _context.DatasetLink, resourceKind.ToString(), id); }
public static IEntityWrapper Create(SupportedResourceKinds resourceKind, RequestContext context) { IEntityWrapper result; switch (resourceKind) { case SupportedResourceKinds.tradingAccounts: result = new TradingAccountWrapper(context); return result; case SupportedResourceKinds.phoneNumbers: result = new PhoneNumberWrapper(context); return result; case SupportedResourceKinds.postalAddresses: result = new PostalAddressWrapper(context); return result; case SupportedResourceKinds.contacts: result = new ContactWrapper(context); return result; case SupportedResourceKinds.commodityGroups: result = new CommodityGroupWrapper(context); return result; case SupportedResourceKinds.commodities: result = new CommodityWrapper(context); return result; case SupportedResourceKinds.unitsOfMeasureGroup: result = new UnitOfMeasureGroupWrapper(context); return result; case SupportedResourceKinds.unitsOfMeasure: result = new UnitOfMeasureWrapper(context); return result; case SupportedResourceKinds.priceLists: result = new PriceListWrapper(context); return result; case SupportedResourceKinds.prices: result = new PriceWrapper(context); return result; case SupportedResourceKinds.emails: result = new EmailWrapper(context); return result; case SupportedResourceKinds.salesOrders: result = new SalesOrderWrapper(context); return result; case SupportedResourceKinds.salesOrderLines: result = new SalesOrderLineWrapper(context); return result; case SupportedResourceKinds.salesInvoices: result = new SalesInvoicesWrapper(context); return result; case SupportedResourceKinds.salesInvoiceLines : result = new SalesInvoiceLineWrapper(context); return result; default: throw new NotSupportedException(string.Format("ResourceKind '{0}' not supported.", resourceKind)); } }
public static SupportedResourceKinds GetResourceKind(string payloadPath) { string reskind = payloadPath; if (reskind.IndexOf("/") > 0) { reskind = reskind.Substring(reskind.LastIndexOf("/") + 1); } if (reskind.IndexOf("[") > 0) { reskind = reskind.Substring(0, reskind.IndexOf("[")); } if (reskind.Equals("commodity", StringComparison.InvariantCultureIgnoreCase)) { return(SupportedResourceKinds.commodities); } if (reskind.Equals("unitOfMeasure", StringComparison.InvariantCultureIgnoreCase)) { return(SupportedResourceKinds.unitsOfMeasure); } if (reskind.Equals("salesOrderLines", StringComparison.InvariantCultureIgnoreCase)) { return(SupportedResourceKinds.salesOrderLines); } SupportedResourceKinds result = SupportedResourceKinds.None; try { object obj = Enum.Parse(typeof(SupportedResourceKinds), reskind + "s", true); if (obj is SupportedResourceKinds) { result = (SupportedResourceKinds)obj; } } catch (Exception) { } if (result != SupportedResourceKinds.None) { return(result); } try { object obj = Enum.Parse(typeof(SupportedResourceKinds), reskind, true); if (obj is SupportedResourceKinds) { result = (SupportedResourceKinds)obj; } } catch (Exception) { } return(result); }
public static T GetTransformation <T>(SupportedResourceKinds resourceKind, RequestContext context) { string endpoint = context.DatasetLink + resourceKind.ToString(); if (stat_transformations.ContainsKey(endpoint)) { return((T)stat_transformations[endpoint]); } // create new transformation instance ITransformation transformation = null; switch (resourceKind) { case SupportedResourceKinds.tradingAccounts: transformation = new TradingAccountTransformation(context); break; case SupportedResourceKinds.emails: transformation = new EmailAdressTransformation(context); break; case SupportedResourceKinds.contacts: transformation = new ContactTransformation(context); break; case SupportedResourceKinds.phoneNumbers: transformation = new PhoneNumberTransformation(context); break; case SupportedResourceKinds.postalAddresses: transformation = new PostalAdressTransformation(context); break; case SupportedResourceKinds.commodityGroups: transformation = new CommodityGroupTransformation(context); break; case SupportedResourceKinds.unitsOfMeasureGroup: transformation = new UnitOfMeasureGroupTransformation(context); break; case SupportedResourceKinds.unitsOfMeasure: transformation = new UnitOfMeasureTransformation(context); break; case SupportedResourceKinds.commodities: transformation = new CommodityTransformation(context); break; case SupportedResourceKinds.priceLists: transformation = new PriceListTransformation(context); break; case SupportedResourceKinds.prices: transformation = new PriceTransformation(context); break; case SupportedResourceKinds.salesOrders: transformation = new SalesOrderTransformation(context); break; case SupportedResourceKinds.salesOrderLines: transformation = new SalesOrderLineTransformation(context); break; default: throw new InvalidOperationException(string.Format("ResourceKind {0} not supported.", resourceKind.ToString())); } T resultTransformation = (T)transformation; if (transformation != null) { stat_transformations.Add(endpoint, transformation); } return(resultTransformation); }