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; }
public OverviewMerchant CreateMerchantAccount(Guid internalId, MerchantInternalReference internalReference) { OverviewMerchant merchant = new OverviewMerchant(); try { var dc = new ManagementContext(); string notificationEmail = String.Empty; string ownerName = String.Empty; if (internalReference == MerchantInternalReference.Member) { var mem = dc.Members.Where(x => x.MemberId == internalId).FirstOrDefault(); if (mem != null && mem.ContactCard != null && mem.ContactCard.Emails.FirstOrDefault() != null) notificationEmail = mem.ContactCard.Emails.FirstOrDefault().EmailAddress; ownerName = mem.DerbyName; } Merchant merc = MerchantGateway.CreateMerchantAccount(internalId, internalReference, notificationEmail, ownerName); merchant.InternalReference = internalId; merchant.MerchantId = merc.MerchantId; merchant.PrivateManagerId = merc.PrivateManagerId; merchant.ShopName = merc.ShopName; } catch (Exception exception) { ErrorDatabaseManager.AddException(exception, exception.GetType()); } return merchant; }