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.");
            }
        }
Beispiel #6
0
        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);
        }
Beispiel #9
0
        /// <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);
            }
        }
Beispiel #12
0
        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;
        }
Beispiel #19
0
 protected string GetSDataId(string id, SupportedResourceKinds resourceKind)
 {
     return(String.Format("{0}{1}('{2}')", _context.DatasetLink, resourceKind.ToString(), id));
 }
Beispiel #20
0
        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;
     }
 }
Beispiel #23
0
        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);
        }
Beispiel #24
0
        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));
            }
        }
Beispiel #25
0
 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);
 }
 private void SetCommonProperties(string idString, FeedEntry entry, SupportedResourceKinds resKind)
 {
     entry.Id = GetSDataId(idString, resKind);
     entry.Key = idString;
 }
        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));
            }
        }
Beispiel #30
0
        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);
        }