private static OverviewMerchant GetDisplayMerchant(Merchant merchant)
 {
     try
     {
         var merch = new OverviewMerchant();
         merch.ShopName = merchant.ShopName;
         merch.MerchantId = merchant.MerchantId;
         merch.InternalReference = merchant.InternalReference;
         merch.PrivateManagerId = merchant.PrivateManagerId;
         merch.AmountOnAccount = merchant.AmountOnAccount;
         
         if (merchant.CurrencyRate == null)
         {
             merch.Currency = "USD";
             merch.CurrencyCost = 1;
         }
         else
         {
             merch.Currency = merchant.CurrencyRate.CurrencyAbbrName;
             merch.CurrencyCost = merchant.CurrencyRate.CurrencyExchangePerUSD;
         }
         merch.OrderPayedNotificationEmail = merchant.OrderPayedNotificationEmail;
         merch.PayedFeesToRDN = merchant.PayedFeesToRDN;
         merch.IsPublished = merchant.IsPublished;
         merch.AcceptPaymentsViaPaypal = merchant.AcceptPaymentsViaPaypal;
         merch.PaypalEmail = merchant.PaypalEmail;
         merch.AcceptPaymentsViaStripe = merchant.AcceptPaymentsViaStripe;
         merch.StripeConnectKey = merchant.StripeConnectKey;
         merch.StripeConnectToken = merchant.StripeConnectToken;
         merch.WelcomeMessage = merchant.WelcomeMessage;
         return merch;
     }
     catch (Exception exception)
     {
         ErrorDatabaseManager.AddException(exception, exception.GetType());
     }
     return null;
 }
 private static OverviewMerchant DisplayMerchant(Merchant dbmerchant)
 {
     try
     {
         var merchant = new OverviewMerchant();
         merchant.AmountOnAccount = dbmerchant.AmountOnAccount;
         merchant.PrivateManagerId = dbmerchant.PrivateManagerId;
         merchant.Created = dbmerchant.Created;
         merchant.InternalReference = dbmerchant.InternalReference;
         merchant.InternalReferenceType = (MerchantInternalReference)dbmerchant.InternalReferenceType;
         merchant.MerchantId = dbmerchant.MerchantId;
         merchant.OwnerName = dbmerchant.OwnerName;
         merchant.PayedFeesToRDN = dbmerchant.PayedFeesToRDN;
         merchant.ShopName = dbmerchant.ShopName;
         merchant.AcceptPaymentsViaPaypal = dbmerchant.AcceptPaymentsViaPaypal;
         merchant.AcceptPaymentsViaStripe = dbmerchant.AcceptPaymentsViaStripe;
         merchant.PaypalEmail = dbmerchant.PaypalEmail;
         merchant.OrderPayedNotificationEmail = dbmerchant.OrderPayedNotificationEmail;
         merchant.StripeConnectKey = dbmerchant.StripeConnectKey;
         merchant.StripeConnectToken = dbmerchant.StripeConnectToken;
         merchant.StripePublishableKey = dbmerchant.StripePublishableKey;
         merchant.StripeRefreshToken = dbmerchant.StripeRefreshToken;
         merchant.StripeTokenType = dbmerchant.StripeTokenType;
         merchant.StripeUserId = dbmerchant.StripeUserId;
         return merchant;
     }
     catch (Exception exception)
     {
         ErrorDatabaseManager.AddException(exception, exception.GetType());
     }
     return null;
 }
        public static Merchant CreateMerchantAccount(Guid internalId, MerchantInternalReference internalReference, string notificationEmail, string ownerName)
        {

            try
            {
                ManagementContext dc = new ManagementContext();
                Merchant merc = new Merchant();
                merc.AmountOnAccount = Convert.ToDecimal(0.00);
                merc.AutoAcceptPayment = true;
                merc.AutoShipWhenPaymentIsReceived = false;
                merc.Bank = "None";
                merc.BankAccount = String.Empty;
                merc.CurrencyRate = dc.ExchangeRates.Where(x => x.CurrencyAbbrName == "USD").FirstOrDefault();
                merc.InternalReference = internalId;
                merc.InternalReferenceType = Convert.ToByte(internalReference);
                merc.IsRDNation = false;
                merc.MerchantAccountStatus = Convert.ToByte(RDN.Library.Classes.Payment.Enums.MerchantAccountStatus.NotActive);
                merc.OrderPayedNotificationEmail = notificationEmail;
                if (String.IsNullOrEmpty(ownerName))
                    merc.OwnerName = "Shop";
                else
                    merc.OwnerName = ownerName;
                merc.PayedFeesToRDN = Convert.ToDecimal(0.00);
                merc.PrivateManagerId = Guid.NewGuid();
                merc.RDNFixedFee = Convert.ToDecimal(0.00);
                merc.RDNPercentageFee = 0.00;
                merc.ShippingNotificationEmail = notificationEmail;
                merc.ShopName = ownerName;
                merc.TaxRate = Convert.ToDouble(0.00);
                merc.MerchantId = Guid.NewGuid();
                merc.IsPublished = false;
                dc.Merchants.Add(merc);
                int c = dc.SaveChanges();
                if (c > 0)
                    return merc;
            }
            catch (Exception exception)
            {
                ErrorDatabaseManager.AddException(exception, exception.GetType());
            }
            return null;
        }
Exemplo n.º 4
0
        private static DisplayStore GetDisplayStore(Merchant merchant)
        {
            try
            {
                var store = new DisplayStore();
                store.ShopName = merchant.ShopName;
                store.MerchantId = merchant.MerchantId;
                store.InternalReference = merchant.InternalReference;
                store.PrivateManagerId = merchant.PrivateManagerId;
                store.AccountStatus = (MerchantAccountStatus)merchant.MerchantAccountStatus;
                store.AmountOnAccount = merchant.AmountOnAccount;
                store.AutoAcceptPayment = merchant.AutoAcceptPayment;
                store.AutoShipWhenPaymentIsReceived = merchant.AutoShipWhenPaymentIsReceived;
                store.Bank = merchant.Bank;
                store.BankAccount = merchant.BankAccount;
                if (merchant.CurrencyRate == null)
                {
                    store.Currency = "USD";
                    store.CurrencyCost = 1;
                }
                else
                {
                    store.Currency = merchant.CurrencyRate.CurrencyAbbrName;
                    store.CurrencyCost = merchant.CurrencyRate.CurrencyExchangePerUSD;
                }
                store.IsRDNation = merchant.IsRDNation;
                store.OrderPayedNotificationEmail = merchant.OrderPayedNotificationEmail;
                store.PayedFeesToRDN = merchant.PayedFeesToRDN;
                store.RDNFixedFee = merchant.RDNFixedFee;
                store.RDNPercentageFee = merchant.RDNPercentageFee;
                store.ShippingNotificationEmail = merchant.ShippingNotificationEmail;
                store.TaxRate = merchant.TaxRate;
                store.IsPublished = merchant.IsPublished;
                store.AcceptPaymentsViaPaypal = merchant.AcceptPaymentsViaPaypal;
                store.PayPalEmailAddressForPayments = merchant.PaypalEmail;
                store.AcceptPaymentsViaStripe = merchant.AcceptPaymentsViaStripe;
                store.StripeConnectKey = merchant.StripeConnectKey;
                store.StripeConnectToken = merchant.StripeConnectToken;
                store.Description = merchant.Description;
                store.WelcomeMessage = merchant.WelcomeMessage;
                if (merchant.Locations.FirstOrDefault() != null)
                    store.Location = Location.LocationFactory.DisplayLocation(merchant.Locations.FirstOrDefault());

                foreach (var storeItem in merchant.Items)
                {
                    var item = DisplayStoreItem(storeItem);
                    if (item != null)
                        store.StoreItems.Add(item);
                }
                foreach (var voice in merchant.Invoices.Where(x => x.Items.Count > 0).OrderByDescending(x => x.Created))
                {
                    DisplayInvoice v = DisplayInvoice(voice);
                    store.Invoices.Add(v);
                }
                return store;
            }
            catch (Exception exception)
            {
                ErrorDatabaseManager.AddException(exception, exception.GetType());
            }
            return null;
        }