public static bool UpdateTransactionShippedStatus(int transId, bool shipped, DateTime shippedDate) { String sql = string.Format("update [Transaction] set IsShipped={0}, ShippedDate='{1}' where TransactionId={2}", shipped ? 1 : 0, StringUtil.GetSafeDateTime(shippedDate), transId); DataFactory.ExecuteSql(sql); return(true); }
private static ItemStockInNoteType GetItemStockInNoteFromDataRow(DataRow dr) { ItemStockInNoteType note = new ItemStockInNoteType(); note.NoteId = StringUtil.GetSafeInt(dr["NoteId"]); note.ItemSKU = StringUtil.GetSafeString(dr["ItemSKU"]); note.ItemTitle = StringUtil.GetSafeString(dr["ItemTitle"]); note.SourcingNoteId = StringUtil.GetSafeString(dr["SourcingNoteId"]); note.StockInNum = StringUtil.GetSafeInt(dr["StockInNum"]); note.StockInDate = StringUtil.GetSafeDateTime(dr["StockInDate"]); note.Comment = StringUtil.GetSafeString(dr["Comment"]); return(note); }
private static DeliveryNoteType GetDeliveryNoteFromDataRow(DataRow dr) { DeliveryNoteType note = new DeliveryNoteType(); note.DeliveryNoteId = StringUtil.GetSafeInt(dr["DeliveryNoteId"]); note.DeliveryDate = StringUtil.GetSafeDateTime(dr["DeliveryDate"]); note.DeliveryOrderIds = StringUtil.GetSafeString(dr["DeliveryOrderIds"]); note.DeliveryUser = StringUtil.GetSafeString(dr["DeliveryUser"]); note.DeliveryFee = StringUtil.GetSafeDouble(dr["DeliveryFee"]); note.DeliveryExtraFee = StringUtil.GetSafeDouble(dr["DeliveryExtraFee"]); note.DeliveryComment = StringUtil.GetSafeString(dr["DeliveryComment"]); return(note); }
// Returns null if no record corresponds to itemID; public static EbayActiveListingType GetOneActiveListing(String itemID) { if (itemID == null || itemID.Trim().Length == 0) { return(null); } String sql_getOneActiveListing = String.Format("select * from [ActiveListing] where ItemID='{0}'", itemID); DataTable dt = DataFactory.ExecuteSqlReturnTable(sql_getOneActiveListing); if (dt.Rows.Count == 0) { return(null); } DataRow dr = dt.Rows[0]; EbayActiveListingType activeListing = new EbayActiveListingType(); activeListing.ListId = StringUtil.GetSafeInt(dr["ListId"]); activeListing.SellerName = StringUtil.GetSafeString(dr["SellerName"]); activeListing.ItemID = itemID; activeListing.Title = StringUtil.GetSafeString(dr["Title"]); activeListing.ListingType = StringUtil.GetSafeString(dr["ListingType"]); activeListing.GalleryURL = StringUtil.GetSafeString(dr["GalleryURL"]); activeListing.QuantityBid = StringUtil.GetSafeInt(dr["QuantityBid"]); activeListing.MaxBid = StringUtil.GetSafeDouble(dr["MaxBid"]); activeListing.StartPrice = StringUtil.GetSafeDouble(dr["StartPrice"]); activeListing.BuyItNowPrice = StringUtil.GetSafeDouble(dr["BuyItNowPrice"]); activeListing.CurrencyID = StringUtil.GetSafeString(dr["CurrencyID"]); activeListing.StartTime = StringUtil.GetSafeDateTime(dr["StartTime"]); activeListing.EndTime = StringUtil.GetSafeDateTime(dr["EndTime"]); activeListing.ViewItemURL = StringUtil.GetSafeString(dr["ViewItemURL"]); activeListing.ListDuration = StringUtil.GetSafeInt(dr["ListDuration"]); activeListing.PrivateListing = StringUtil.GetSafeBool(dr["PrivateListing"]); activeListing.Quantity = StringUtil.GetSafeInt(dr["Quantity"]); activeListing.QuantityAvailable = StringUtil.GetSafeInt(dr["QuantityAvailable"]); activeListing.SellingStatus = StringUtil.GetSafeString(dr["SellingStatus"]); activeListing.SKU = StringUtil.GetSafeString(dr["SKU"]); activeListing.TimeLeft = StringUtil.GetSafeString(dr["TimeLeft"]); activeListing.WatchCount = StringUtil.GetSafeInt(dr["WatchCount"]); activeListing.BidCount = StringUtil.GetSafeInt(dr["BidCount"]); activeListing.BidderCount = StringUtil.GetSafeInt(dr["BidCount"]); activeListing.CurrentPrice = StringUtil.GetSafeDouble(dr["BidCount"]); activeListing.FVF = StringUtil.GetSafeDouble(dr["BidCount"]); activeListing.ImagePath = StringUtil.GetSafeString(dr["ImagePath"]); return(activeListing); }
public static bool ModifyOneDeliveryNote(DeliveryNoteType note) { bool result = false; if (note == null || note.DeliveryNoteId <= 0) { return(false); } IDbCommand cmd = DataFactory.CreateCommand(null); cmd.CommandText = @"Update [DeliveryNote] set DeliveryDate=@DeliveryDate, DeliveryOrderIds=@DeliveryOrderIds," + "DeliveryUser=@DeliveryUser, DeliveryFee=@DeliveryFee, DeliveryExtraFee=@DeliveryExtraFee, DeliveryComment=@DeliveryComment" + " where DeliveryNoteId=@DeliveryNoteId"; DataFactory.AddCommandParam(cmd, "@DeliveryDate", DbType.DateTime, StringUtil.GetSafeDateTime(note.DeliveryDate)); DataFactory.AddCommandParam(cmd, "@DeliveryOrderIds", DbType.String, StringUtil.GetSafeString(note.DeliveryOrderIds)); DataFactory.AddCommandParam(cmd, "@DeliveryUser", DbType.String, StringUtil.GetSafeString(note.DeliveryUser)); DataFactory.AddCommandParam(cmd, "@DeliveryFee", DbType.Double, StringUtil.GetSafeDouble(note.DeliveryFee)); DataFactory.AddCommandParam(cmd, "@DeliveryExtraFee", DbType.Double, StringUtil.GetSafeDouble(note.DeliveryExtraFee)); DataFactory.AddCommandParam(cmd, "@DeliveryComment", DbType.String, StringUtil.GetSafeString(note.DeliveryComment)); DataFactory.AddCommandParam(cmd, "@DeliveryNoteId", DbType.Int32, note.DeliveryNoteId); try { if (DataFactory.DbConnection.State == ConnectionState.Closed) { DataFactory.DbConnection.Open(); } cmd.ExecuteNonQuery(); result = true; } catch (DataException) { // Write to log here. result = false; } finally { if (DataFactory.DbConnection.State == ConnectionState.Open) { DataFactory.DbConnection.Close(); } } return(result); }
private static SourcingNoteType GetSourcingNoteFromDataRow(DataRow dr) { SourcingNoteType note = new SourcingNoteType(); note.SourcingId = StringUtil.GetSafeInt(dr["SourcingId"]); note.SupplierId = StringUtil.GetSafeInt(dr["SupplierId"]); note.ItemSkuList = StringUtil.GetSafeString(dr["ItemSkuList"]); note.ItemNumList = StringUtil.GetSafeString(dr["ItemNumList"]); note.ItemPriceList = StringUtil.GetSafeString(dr["ItemPriceList"]); note.ExtraFee = StringUtil.GetSafeDouble(dr["ExtraFee"]); note.ShippingFee = StringUtil.GetSafeDouble(dr["ShippingFee"]); note.TotalFee = StringUtil.GetSafeDouble(dr["TotalFee"]); note.Comment = StringUtil.GetSafeString(dr["Comment"]); note.SourcingDate = StringUtil.GetSafeDateTime(dr["SourcingDate"]); return(note); }
public static EbayMessageType GetOneMessage(String ebayMessageId) { String sql_getAllMessages = String.Format("select * from [Message] where EbayMessageId='{0}'", ebayMessageId); DataTable dt = DbAccess.ExecuteSqlReturnTable(sql_getAllMessages); if (dt.Rows.Count == 0) { return(null); } DataRow dr = dt.Rows[0]; EbayMessageType msg = new EbayMessageType(); msg.MessageId = StringUtil.GetSafeInt(dr["MessageId"]); msg.SellerName = StringUtil.GetSafeString(dr["SellerName"]); msg.EbayMessageId = StringUtil.GetSafeString(dr["EbayMessageId"]); msg.MessageType = StringUtil.GetSafeString(dr["MessageType"]); msg.QuestionType = StringUtil.GetSafeString(dr["QuestionType"]); msg.IsRead = StringUtil.GetSafeBool(dr["IsRead"]); msg.IsReplied = StringUtil.GetSafeBool(dr["IsReplied"]); msg.IsResponseEnabled = StringUtil.GetSafeBool(dr["IsResponseEnabled"]); msg.ResponseURL = StringUtil.GetSafeString(dr["ResponseURL"]); msg.UserResponseDate = StringUtil.GetSafeDateTime(dr["UserResponseDate"]); msg.ReceiveDate = StringUtil.GetSafeDateTime(dr["ReceiveDate"]); msg.Sender = StringUtil.GetSafeString(dr["Sender"]); msg.RecipientUserId = StringUtil.GetSafeString(dr["RecipientUserId"]); msg.Subject = StringUtil.GetSafeString(dr["Subject"]); msg.Content = StringUtil.GetSafeString(dr["MessageContent"]); msg.Text = StringUtil.GetSafeString(dr["MessageText"]); msg.ExternalMessageId = StringUtil.GetSafeString(dr["ExternalMessageId"]); msg.FolderId = StringUtil.GetSafeInt(dr["FolderId"]); msg.ItemID = StringUtil.GetSafeString(dr["ItemID"]); msg.ItemTitle = StringUtil.GetSafeString(dr["ItemTitle"]); // ZHI_TODO: return(msg); } // GetOneMessage
// // GetMyeBaySelling // Use this call to return information from the All Selling section of the authenticated user's My eBay account. // http://developer.ebay.com/DevZone/XML/docs/Reference/eBay/GetMyeBaySelling.html // public static List <EbayActiveListingType> GetMyActiveListing(AccountType account) { if (account.SellerApiContext == null) { Logger.WriteSystemLog("Invalid API context in GetMyActiveListing."); return(null); } GetMyeBaySellingCall getMyeBaySellingApiCall = new GetMyeBaySellingCall(account.SellerApiContext); DetailLevelCodeType[] detailLevels = new DetailLevelCodeType[] { DetailLevelCodeType.ReturnAll }; getMyeBaySellingApiCall.DetailLevelList = new DetailLevelCodeTypeCollection(detailLevels); getMyeBaySellingApiCall.SellingSummary = new eBay.Service.Core.Soap.ItemListCustomizationType(); getMyeBaySellingApiCall.SellingSummary.Include = true; getMyeBaySellingApiCall.ActiveList = new eBay.Service.Core.Soap.ItemListCustomizationType(); getMyeBaySellingApiCall.ActiveList.Include = true; getMyeBaySellingApiCall.ActiveList.IncludeNotes = true; //getMyeBaySellingApiCall.ActiveList.ListingType = ListingTypeCodeType.FixedPriceItem; getMyeBaySellingApiCall.ActiveList.Pagination = new PaginationType(); getMyeBaySellingApiCall.ActiveList.Pagination.EntriesPerPage = 25; // max 200 default 25 getMyeBaySellingApiCall.ActiveList.Pagination.PageNumber = 1; //getMyeBaySellingApiCall.BidList = new ItemListCustomizationType(); //getMyeBaySellingApiCall.BidList.Include = true; //getMyeBaySellingApiCall.BidList.Pagination = new PaginationType(); //getMyeBaySellingApiCall.BidList.Pagination.EntriesPerPage = 25; //getMyeBaySellingApiCall.BidList.Pagination.PageNumber = 1; getMyeBaySellingApiCall.GetMyeBaySelling(); AmountType amountLimitRemaining = getMyeBaySellingApiCall.Summary.AmountLimitRemaining; long quantityLimitRemaining = getMyeBaySellingApiCall.Summary.QuantityLimitRemaining; PaginatedItemArrayType paginatedItemArray = getMyeBaySellingApiCall.ActiveListReturn; if (paginatedItemArray == null || paginatedItemArray.ItemArray == null) { return(null); } List <EbayActiveListingType> activeListings = new List <EbayActiveListingType>(); foreach (ItemType item in paginatedItemArray.ItemArray) { EbayActiveListingType activeListing = new EbayActiveListingType(); activeListing.ListId = 0; // to be set activeListing.SellerName = account.ebayAccount; activeListing.ItemID = StringUtil.GetSafeString(item.ItemID); activeListing.Title = StringUtil.GetSafeString(item.Title); if (item.ListingTypeSpecified) { if (ListingTypeCodeType.FixedPriceItem == item.ListingType) { activeListing.ListingType = "FixedPriceItem"; } else if (ListingTypeCodeType.Auction == item.ListingType || ListingTypeCodeType.Chinese == item.ListingType) { activeListing.ListingType = "Auction"; } else { activeListing.ListingType = "Unknown"; } } else { activeListing.ListingType = "Unknown"; } if (item.PictureDetails != null) { activeListing.GalleryURL = StringUtil.GetSafeString(item.PictureDetails.GalleryURL); } else { activeListing.GalleryURL = ""; } if (item.BiddingDetails != null) { activeListing.QuantityBid = StringUtil.GetSafeInt(item.BiddingDetails.QuantityBid); if (item.BiddingDetails.MaxBid != null) { activeListing.MaxBid = StringUtil.GetSafeDouble(item.BiddingDetails.MaxBid.Value); } else { activeListing.MaxBid = 0.0; } } else { activeListing.QuantityBid = 0; activeListing.MaxBid = 0.0; } if (item.StartPrice != null) { activeListing.StartPrice = StringUtil.GetSafeDouble(item.StartPrice.Value); } else { activeListing.StartPrice = 0.0; } if (item.BuyItNowPrice != null) { activeListing.BuyItNowPrice = StringUtil.GetSafeDouble(item.BuyItNowPrice.Value); activeListing.CurrencyID = StringUtil.GetSafeString(item.BuyItNowPrice.currencyID); } else { activeListing.BuyItNowPrice = 0.0; activeListing.CurrencyID = ""; } if (item.ListingDetails != null) { activeListing.StartTime = StringUtil.GetSafeDateTime(item.ListingDetails.StartTime); activeListing.EndTime = StringUtil.GetSafeDateTime(item.ListingDetails.EndTime); activeListing.ViewItemURL = StringUtil.GetSafeString(item.ListingDetails.ViewItemURL); } activeListing.ListDuration = StringUtil.GetSafeInt(StringUtil.GetSafeListDurationDays(item.ListingDuration)); activeListing.PrivateListing = StringUtil.GetSafeBool(item.PrivateListing); activeListing.Quantity = StringUtil.GetSafeInt(item.Quantity); activeListing.QuantityAvailable = StringUtil.GetSafeInt(item.QuantityAvailable); if (item.SellingStatus != null) { if (item.SellingStatus.ListingStatus == ListingStatusCodeType.Active) { activeListing.SellingStatus = "Active"; } else if (item.SellingStatus.ListingStatus == ListingStatusCodeType.Completed) { activeListing.SellingStatus = "Completed"; } else if (item.SellingStatus.ListingStatus == ListingStatusCodeType.Ended) { activeListing.SellingStatus = "Ended"; } else { activeListing.SellingStatus = "Unknown"; } if (item.SellingStatus.BidCountSpecified) { activeListing.BidCount = item.SellingStatus.BidCount; } else { activeListing.BidCount = 0; } if (item.SellingStatus.BidderCountSpecified) { activeListing.BidderCount = (int)item.SellingStatus.BidderCount; } else { activeListing.BidderCount = 0; } if (item.SellingStatus.CurrentPrice != null) { activeListing.CurrentPrice = item.SellingStatus.CurrentPrice.Value; } else { activeListing.CurrentPrice = 0.0; } } else { activeListing.SellingStatus = "Unknown"; } activeListing.SKU = StringUtil.GetSafeString(item.SKU); activeListing.TimeLeft = StringUtil.GetSafeString(item.TimeLeft); activeListing.WatchCount = StringUtil.GetSafeInt(item.WatchCount); activeListings.Add(activeListing); } Logger.WriteSystemLog(string.Format("Successfully called GetMyActiveListing, returns {0} entries", activeListings.Count)); return(activeListings); } // GetMyActiveListing
public static bool InsertOneActiveListing(EbayActiveListingType activeListing) { EbayActiveListingType existedActiveListing = GetOneActiveListing(activeListing.ItemID); if (existedActiveListing != null) { Logger.WriteSystemLog(string.Format("Active listing with itemId={0} alreay exists.", activeListing.ItemID)); return(false); } IDbCommand cmd = DataFactory.CreateCommand(null); cmd.CommandText = @"insert into [ActiveListing] (ItemID, SellerName, Title, ListingType, GalleryURL, QuantityBid,MaxBid," + "StartPrice, BuyItNowPrice, CurrencyID, StartTime, EndTime, ViewItemURL, ListDuration, PrivateListing," + "Quantity, QuantityAvailable, SellingStatus, SKU, TimeLeft, WatchCount, BidCount, BidderCount, CurrentPrice, FVF, ImagePath) values (" + "@ItemID, @SellerName, @Title, @ListingType, @GalleryURL, @QuantityBid, @MaxBid, @StartPrice, @BuyItNowPrice," + "@CurrencyID, @StartTime, @EndTime, @ViewItemURL, @ListDuration, @PrivateListing," + "@Quantity, @QuantityAvailable, @SellingStatus, @SKU, @TimeLeft, @WatchCount, @BidCount, @BidderCount, @CurrentPrice, @FVF, @ImagePath)"; DataFactory.AddCommandParam(cmd, "@ItemID", DbType.String, StringUtil.GetSafeString(activeListing.ItemID)); DataFactory.AddCommandParam(cmd, "@SellerName", DbType.String, StringUtil.GetSafeString(activeListing.SellerName)); DataFactory.AddCommandParam(cmd, "@Title", DbType.String, StringUtil.GetSafeString(activeListing.Title)); DataFactory.AddCommandParam(cmd, "@ListingType", DbType.String, StringUtil.GetSafeString(activeListing.ListingType)); DataFactory.AddCommandParam(cmd, "@GalleryURL", DbType.String, StringUtil.GetSafeString(activeListing.GalleryURL)); DataFactory.AddCommandParam(cmd, "@QuantityBid", DbType.Int32, StringUtil.GetSafeInt(activeListing.QuantityBid)); DataFactory.AddCommandParam(cmd, "@MaxBid", DbType.Double, StringUtil.GetSafeDouble(activeListing.MaxBid)); DataFactory.AddCommandParam(cmd, "@StartPrice", DbType.Double, StringUtil.GetSafeDouble(activeListing.StartPrice)); DataFactory.AddCommandParam(cmd, "@BuyItNowPrice", DbType.Double, StringUtil.GetSafeDouble(activeListing.BuyItNowPrice)); DataFactory.AddCommandParam(cmd, "@CurrencyID", DbType.String, StringUtil.GetSafeString(activeListing.CurrencyID)); DataFactory.AddCommandParam(cmd, "@StartTime", DbType.DateTime, StringUtil.GetSafeDateTime(activeListing.StartTime)); DataFactory.AddCommandParam(cmd, "@EndTime", DbType.DateTime, StringUtil.GetSafeDateTime(activeListing.EndTime)); DataFactory.AddCommandParam(cmd, "@ViewItemURL", DbType.String, StringUtil.GetSafeString(activeListing.ViewItemURL)); DataFactory.AddCommandParam(cmd, "@ListDuration", DbType.Int32, StringUtil.GetSafeInt(activeListing.ListDuration)); DataFactory.AddCommandParam(cmd, "@PrivateListing", DbType.Boolean, StringUtil.GetSafeBool(activeListing.PrivateListing)); DataFactory.AddCommandParam(cmd, "@Quantity", DbType.Int32, StringUtil.GetSafeInt(activeListing.Quantity)); DataFactory.AddCommandParam(cmd, "@QuantityAvailable", DbType.Int32, StringUtil.GetSafeInt(activeListing.QuantityAvailable)); DataFactory.AddCommandParam(cmd, "@SellingStatus", DbType.String, StringUtil.GetSafeString(activeListing.SellingStatus)); DataFactory.AddCommandParam(cmd, "@SKU", DbType.String, StringUtil.GetSafeString(activeListing.SKU)); DataFactory.AddCommandParam(cmd, "@TimeLeft", DbType.String, StringUtil.GetSafeString(activeListing.TimeLeft)); DataFactory.AddCommandParam(cmd, "@WatchCount", DbType.Int32, StringUtil.GetSafeInt(activeListing.WatchCount)); DataFactory.AddCommandParam(cmd, "@BidCount", DbType.Int32, StringUtil.GetSafeInt(activeListing.BidCount)); DataFactory.AddCommandParam(cmd, "@BidderCount", DbType.Int32, StringUtil.GetSafeInt(activeListing.BidderCount)); DataFactory.AddCommandParam(cmd, "@CurrentPrice", DbType.Double, StringUtil.GetSafeDouble(activeListing.CurrentPrice)); DataFactory.AddCommandParam(cmd, "@FVF", DbType.Double, StringUtil.GetSafeDouble(activeListing.FVF)); DataFactory.AddCommandParam(cmd, "@ImagePath", DbType.String, StringUtil.GetSafeString(activeListing.ImagePath)); bool result = false; int newItemId = 0; try { if (DataFactory.DbConnection.State == ConnectionState.Closed) { DataFactory.DbConnection.Open(); } cmd.ExecuteNonQuery(); IDbCommand cmdNewID = DataFactory.CreateCommand("SELECT @@IDENTITY"); // Retrieve the Auto number and store it in the CategoryID column. object obj = cmdNewID.ExecuteScalar(); Int32.TryParse(obj.ToString(), out newItemId); result = newItemId > 0; } catch (DataException ex) { // Write to log here. Logger.WriteSystemLog(string.Format("Error inserting new active listing, itemID={0}, errorMsg={1}", activeListing.ItemID, ex.Message)); result = false; } finally { if (DataFactory.DbConnection.State == ConnectionState.Open) { DataFactory.DbConnection.Close(); } } return(result); } // InsertOneActiveListing
public static bool UpdateOneActiveListing(int listId, EbayActiveListingType activeListing) { bool result = false; IDbCommand cmd = DataFactory.CreateCommand(null); cmd.CommandText = @"Update [ActiveListing] set ItemID=@ItemID, Title=@Title, ListingType=@ListingType," + "GalleryURL=@GalleryURL, QuantityBid=@QuantityBid, MaxBid=@MaxBid, StartPrice=@StartPrice," + "BuyItNowPrice=@BuyItNowPrice, CurrencyID=@CurrencyID, StartTime=@StartTime, EndTime=@EndTime," + "ViewItemURL=@ViewItemURL, ListDuration=@ListDuration, PrivateListing=@PrivateListing," + "Quantity=@Quantity, QuantityAvailable=@QuantityAvailable, SellingStatus=@SellingStatus," + "SKU=@SKU, TimeLeft=@TimeLeft, WatchCount=@WatchCount, BidCount=@BidCount, BidderCount=@BidderCount," + "CurrentPrice=@CurrentPrice, FVF=@FVF, ImagePath=@ImagePath where ListId=@ListId"; DataFactory.AddCommandParam(cmd, "@ItemID", DbType.String, StringUtil.GetSafeString(activeListing.ItemID)); DataFactory.AddCommandParam(cmd, "@Title", DbType.String, StringUtil.GetSafeString(activeListing.Title)); DataFactory.AddCommandParam(cmd, "@ListingType", DbType.String, StringUtil.GetSafeString(activeListing.ListingType)); DataFactory.AddCommandParam(cmd, "@GalleryURL", DbType.String, StringUtil.GetSafeString(activeListing.GalleryURL)); DataFactory.AddCommandParam(cmd, "@QuantityBid", DbType.Int32, StringUtil.GetSafeInt(activeListing.QuantityBid)); DataFactory.AddCommandParam(cmd, "@MaxBid", DbType.Double, StringUtil.GetSafeDouble(activeListing.MaxBid)); DataFactory.AddCommandParam(cmd, "@StartPrice", DbType.Double, StringUtil.GetSafeDouble(activeListing.StartPrice)); DataFactory.AddCommandParam(cmd, "@BuyItNowPrice", DbType.Double, StringUtil.GetSafeDouble(activeListing.BuyItNowPrice)); DataFactory.AddCommandParam(cmd, "@CurrencyID", DbType.String, StringUtil.GetSafeString(activeListing.CurrencyID)); DataFactory.AddCommandParam(cmd, "@StartTime", DbType.DateTime, StringUtil.GetSafeDateTime(activeListing.StartTime)); DataFactory.AddCommandParam(cmd, "@EndTime", DbType.DateTime, StringUtil.GetSafeDateTime(activeListing.EndTime)); DataFactory.AddCommandParam(cmd, "@ViewItemURL", DbType.String, StringUtil.GetSafeString(activeListing.ViewItemURL)); DataFactory.AddCommandParam(cmd, "@ListDuration", DbType.Int32, StringUtil.GetSafeInt(activeListing.ListDuration)); DataFactory.AddCommandParam(cmd, "@PrivateListing", DbType.Boolean, StringUtil.GetSafeBool(activeListing.PrivateListing)); DataFactory.AddCommandParam(cmd, "@Quantity", DbType.Int32, StringUtil.GetSafeInt(activeListing.Quantity)); DataFactory.AddCommandParam(cmd, "@QuantityAvailable", DbType.Int32, StringUtil.GetSafeInt(activeListing.QuantityAvailable)); DataFactory.AddCommandParam(cmd, "@SellingStatus", DbType.String, StringUtil.GetSafeString(activeListing.SellingStatus)); DataFactory.AddCommandParam(cmd, "@SKU", DbType.String, StringUtil.GetSafeString(activeListing.SKU)); DataFactory.AddCommandParam(cmd, "@TimeLeft", DbType.String, StringUtil.GetSafeString(activeListing.TimeLeft)); DataFactory.AddCommandParam(cmd, "@WatchCount", DbType.Int32, StringUtil.GetSafeInt(activeListing.WatchCount)); DataFactory.AddCommandParam(cmd, "@BidCount", DbType.Int32, StringUtil.GetSafeInt(activeListing.BidCount)); DataFactory.AddCommandParam(cmd, "@BidderCount", DbType.Int32, StringUtil.GetSafeInt(activeListing.BidderCount)); DataFactory.AddCommandParam(cmd, "@CurrentPrice", DbType.Double, StringUtil.GetSafeDouble(activeListing.CurrentPrice)); DataFactory.AddCommandParam(cmd, "@FVF", DbType.Double, StringUtil.GetSafeDouble(activeListing.FVF)); DataFactory.AddCommandParam(cmd, "@ImagePath", DbType.String, StringUtil.GetSafeString(activeListing.ImagePath)); DataFactory.AddCommandParam(cmd, "@ListId", DbType.Int32, listId); try { if (DataFactory.DbConnection.State == ConnectionState.Closed) { DataFactory.DbConnection.Open(); } cmd.ExecuteNonQuery(); result = true; } catch (DataException) { // Write to log here. result = false; } finally { if (DataFactory.DbConnection.State == ConnectionState.Open) { DataFactory.DbConnection.Close(); } } return(result); }
public static List <EbayTransactionType> GetAllOrders(AccountType account, TimeFilter timeFilter, StringCollection orderIds) { List <EbayTransactionType> transList = new List <EbayTransactionType>(); GetOrdersCall getOrdersApiCall = new GetOrdersCall(account.SellerApiContext); getOrdersApiCall.IncludeFinalValueFee = true; DetailLevelCodeType[] detailLevels = new DetailLevelCodeType[] { DetailLevelCodeType.ReturnAll }; getOrdersApiCall.DetailLevelList = new DetailLevelCodeTypeCollection(detailLevels); if (orderIds != null) { getOrdersApiCall.OrderIDList = orderIds; } try { OrderTypeCollection orders = getOrdersApiCall.GetOrders(timeFilter, TradingRoleCodeType.Seller, OrderStatusCodeType.All); foreach (OrderType order in orders) { AddressType addressType = order.ShippingAddress; String shippingAddress = GetShippingAddressString(addressType); String shippingAddressCompact = GetShippingAddressCompactString(addressType); bool completed = order.OrderStatus == OrderStatusCodeType.Completed; foreach (TransactionType trans in order.TransactionArray) { #region Process each ebay transaction // Check if this transaction has already be recorded in system. String transId = trans.TransactionID; if (transId == null || transId == "") { Logger.WriteSystemLog("GetAllOrders: Invalid transaction id, skip and continue."); continue; } EbayTransactionType ebayTrans = new EbayTransactionType(); ebayTrans.SellerName = account.ebayAccount; ebayTrans.OrderId = order.OrderID; ebayTrans.OrderLineItemId = trans.OrderLineItemID; ebayTrans.EbayTransactionId = trans.TransactionID; ebayTrans.EbayRecordId = order.ShippingDetails.SellingManagerSalesRecordNumberSpecified ? order.ShippingDetails.SellingManagerSalesRecordNumber : -1; ebayTrans.BuyerId = order.BuyerUserID; GetUserCall getUserApiCall = new GetUserCall(account.SellerApiContext); getUserApiCall.UserID = order.BuyerUserID; UserType user = getUserApiCall.GetUser(); // BuyerRating if (user.FeedbackScoreSpecified) { ebayTrans.BuyerRating = user.FeedbackScore; } else { ebayTrans.BuyerRating = -1; } // BuyerCountryEbayCode ebayTrans.BuyerCountryEbayCode = addressType.Country.ToString(); // BuyerCountry4PXCode ebayTrans.BuyerCountry4PXCode = ""; // BuyerCountry ebayTrans.BuyerCountry = addressType.CountryName; // BuyerCompanyName ebayTrans.BuyerCompanyName = StringUtil.GetSafeString(addressType.CompanyName); // BuyerName ebayTrans.BuyerName = addressType.Name; // BuyerStateOrProvince ebayTrans.BuyerStateOrProvince = addressType.StateOrProvince; // BuyerCity ebayTrans.BuyerCity = addressType.CityName; // BuyerTel ebayTrans.BuyerTel = addressType.Phone; // BuyerMail ebayTrans.BuyerMail = trans.Buyer.Email; // BuyerPostalCode ebayTrans.BuyerPostalCode = addressType.PostalCode; // BuyerAddress ebayTrans.BuyerAddress = shippingAddress; // BuyerAddressCompact ebayTrans.BuyerAddressCompact = shippingAddressCompact; // BuyerAddressLine1 ebayTrans.BuyerAddressLine1 = addressType.Street1; // BuyerAddressLine2 ebayTrans.BuyerAddressLine2 = addressType.Street2; // BuyerPayPal ebayTrans.BuyerPayPal = trans.Buyer.Email; // ItemId ebayTrans.ItemId = trans.Item.ItemID; // What is the valid way to determine if there is a variation. if (trans.Variation != null && trans.Variation.VariationTitle != null && trans.Variation.VariationTitle.Trim() != "") { // ItemTitle ebayTrans.ItemTitle = trans.Variation.VariationTitle; // ItemSKU ebayTrans.ItemSKU = trans.Variation.SKU; } else { // ItemTitle ebayTrans.ItemTitle = trans.Item.Title; // ItemSKU ebayTrans.ItemSKU = trans.Item.SKU; } // ItemPrice if (trans.TransactionPrice != null) { ebayTrans.ItemPrice = trans.TransactionPrice.Value; } // SaleQuantity ebayTrans.SaleQuantity = trans.QuantityPurchased; if (trans.TransactionPrice != null) { // SalePrice ebayTrans.SalePrice = trans.TransactionPrice.Value * trans.QuantityPurchased; // TotalPrice ebayTrans.TotalPrice = trans.TransactionPrice.Value * trans.QuantityPurchased; } // TODO: there may be multiple transactions in one order. if (order.Total != null) { ebayTrans.TotalPrice = order.Total.Value; ebayTrans.CurrencyId = order.Total.currencyID.ToString(); } else { // Set a default value. ebayTrans.TotalPrice = 0.0; ebayTrans.CurrencyId = ""; } // SaleDate ebayTrans.SaleDate = order.CreatedTime; // SaleDateCN ebayTrans.SaleDateCN = order.CreatedTime.ToLocalTime(); // IsPaid ebayTrans.IsPaid = order.PaidTimeSpecified; // order.AmountPaid // order.CheckoutStatus // ebayPaymentStatus // Status // orderStatus if (ebayTrans.IsPaid == false) { // Some payment is paid using credit card, and while PayPal is processing the payment, // the transaction is marked as unpaid. we should view it as paid. if (order.OrderStatusSpecified && order.OrderStatus == OrderStatusCodeType.Completed) { ebayTrans.IsPaid = true; } } if (ebayTrans.IsPaid == false) { if (order.CheckoutStatus.StatusSpecified && order.CheckoutStatus.Status == CompleteStatusCodeType.Complete) { ebayTrans.IsPaid = true; } } // PaidDate ebayTrans.PaidDate = StringUtil.GetSafeDateTime(order.PaidTime); // IsShipped ebayTrans.IsShipped = order.ShippedTimeSpecified; if (order.ShippedTimeSpecified) { ebayTrans.ShippedDate = StringUtil.GetSafeDateTime(order.ShippedTime); } else { ebayTrans.ShippedDate = DateTime.Now.AddYears(-10); } // Store the shippedDate as the local date time. ebayTrans.ShippedDate = ebayTrans.ShippedDate.ToLocalTime(); // ShippingServiceCode ebayTrans.ShippingServiceCode = ""; // ShippingService ebayTrans.ShippingService = ""; // ShippingTrackingNo ebayTrans.ShippingTrackingNo = ""; // ShippingCost ebayTrans.ShippingCost = 0.0; // FinalValueFee if (trans.FinalValueFee != null) { ebayTrans.FinalValueFee = trans.FinalValueFee.Value; } else { ebayTrans.FinalValueFee = 0.0; } // PayPalFee ebayTrans.PayPalFee = 0.034 * ebayTrans.TotalPrice + 0.3; // IsReceived ebayTrans.IsReceived = false; ebayTrans.IsBuyerLeftFeedback = false; ebayTrans.IsSellerLeftFeedback = false; ebayTrans.IsNeedAttention = false; ebayTrans.MessageStatus = TransactionMessageStatus.NoMessage; ebayTrans.IsContactedBuyer = false; ebayTrans.LastContactedBuyerDate = DateTime.Now.AddYears(-10); ebayTrans.IsResendReplacement = false; ebayTrans.UserComment = ""; GetFeedbackCall getFeedbackApiCall = new GetFeedbackCall(account.SellerApiContext); //DetailLevelCodeType[] detailLevels = new DetailLevelCodeType[] { DetailLevelCodeType.ReturnAll }; getFeedbackApiCall.DetailLevelList = new DetailLevelCodeTypeCollection(detailLevels); getFeedbackApiCall.OrderLineItemID = trans.OrderLineItemID; FeedbackDetailTypeCollection feedbacks = getFeedbackApiCall.GetFeedback(); foreach (FeedbackDetailType feedback in feedbacks) { if (feedback.CommentingUser == account.ebayAccount) { ebayTrans.IsSellerLeftFeedback = true; } if (feedback.CommentingUser == ebayTrans.BuyerId) { ebayTrans.IsBuyerLeftFeedback = true; } } if (trans.ShippingDetails != null) { if (trans.ShippingDetails.ShipmentTrackingDetails.Count == 1) { ShipmentTrackingDetailsType shipmentDetails = trans.ShippingDetails.ShipmentTrackingDetails[0]; ebayTrans.ShippingTrackingNo = shipmentDetails.ShipmentTrackingNumber; } } transList.Add(ebayTrans); #endregion } } } catch (Exception ex) { Logger.WriteSystemLog(string.Format("Unexpected expection : {0}", ex.Message)); } return(transList); } // GetAllOrders
// Private to prevent misuse, use public InsertOrUpdateOneTransaction instead!!!!!!! private static bool InsertOneTransaction(EbayTransactionType trans) { if (trans.IsValid() == false) { return(false); } EbayTransactionType transLoc = EbayTransactionDAL.GetOneTransaction(trans.OrderLineItemId); if (transLoc != null) { Logger.WriteSystemLog(string.Format("Transaction already existed in database: userId={0}, itemTitle={1}", trans.BuyerId, trans.ItemTitle)); return(false); } IDbCommand cmd = DataFactory.CreateCommand(null); cmd.CommandText = @"insert into [Transaction] (SellerName, OrderId, OrderLineItemId, EbayTransactionId, EbayRecordId, BuyerId, BuyerRating," + "BuyerCountryEbayCode, BuyerCountry4PXCode," + "BuyerCountry, BuyerCompanyName, BuyerName, BuyerStateOrProvince, BuyerCity," + "BuyerTel, BuyerMail, BuyerPostalCode, BuyerAddress, BuyerAddressCompact, BuyerAddressLine1, BuyerAddressLine2," + "BuyerPayPal,ItemId, ItemTitle, ItemSKU, ItemPrice, SaleQuantity, SalePrice, TotalPrice, CurrencyId," + "SaleDate, SaleDateCN, IsPaid, PaidDate, IsShipped, ShippedDate, ShippingServiceCode, ShippingService, ShippingTrackingNo, ShippingCost, FinalValueFee, PayPalFee," + "IsReceived, IsBuyerLeftFeedback, IsSellerLeftFeedback, IsNeedAttention, MessageStatus, IsContactedBuyer," + "LastContactedBuyerDate, IsResendReplacement, UserComment) values (" + "@SellerName, @OrderId, @OrderLineItemId, @EbayTransactionId, @EbayRecordId, @BuyerId, @BuyerRating," + "@BuyerCountryEbayCode, @BuyerCountry4PXCode," + "@BuyerCountry, @BuyerCompanyName, @BuyerName, @BuyerStateOrProvince, @BuyerCity," + "@BuyerTel, @BuyerMail, @BuyerPostalCode, @BuyerAddress, @BuyerAddressCompact, @BuyerAddressLine1, @BuyerAddressLine2," + "@BuyerPayPal, @ItemId, @ItemTitle, @ItemSKU, @ItemPrice, @SaleQuantity, @SalePrice, @TotalPrice, @CurrencyId," + "@SaleDate, @SaleDateCN, @IsPaid, @PaidDate, @IsShipped, @ShippedDate, @ShippingServiceCode, @ShippingService, @ShippingTrackingNo, @ShippingCost, @FinalValueFee, @PayPalFee," + "@IsReceived, @IsBuyerLeftFeedback, @IsSellerLeftFeedback, @IsNeedAttention, @MessageStatus, @IsContactedBuyer," + "@LastContactedBuyerDate, @IsResendReplacement, @UserComment)"; DataFactory.AddCommandParam(cmd, "@SellerName", DbType.String, trans.SellerName); DataFactory.AddCommandParam(cmd, "@OrderId", DbType.String, trans.OrderId); DataFactory.AddCommandParam(cmd, "@OrderLineItemId", DbType.String, trans.OrderLineItemId); DataFactory.AddCommandParam(cmd, "@EbayTransactionId", DbType.String, trans.EbayTransactionId); DataFactory.AddCommandParam(cmd, "@EbayRecordId", DbType.Int32, trans.EbayRecordId); DataFactory.AddCommandParam(cmd, "@BuyerId", DbType.String, trans.BuyerId); DataFactory.AddCommandParam(cmd, "@BuyerRating", DbType.Int32, trans.BuyerRating); DataFactory.AddCommandParam(cmd, "@BuyerCountryEbayCode", DbType.String, StringUtil.GetSafeString(trans.BuyerCountryEbayCode)); DataFactory.AddCommandParam(cmd, "@BuyerCountry4PXCode", DbType.String, StringUtil.GetSafeString(trans.BuyerCountry4PXCode)); DataFactory.AddCommandParam(cmd, "@BuyerCountry", DbType.String, StringUtil.GetSafeString(trans.BuyerCountry)); DataFactory.AddCommandParam(cmd, "@BuyerCompanyName", DbType.String, StringUtil.GetSafeString(trans.BuyerCompanyName)); DataFactory.AddCommandParam(cmd, "@BuyerName", DbType.String, trans.BuyerName); DataFactory.AddCommandParam(cmd, "@BuyerStateOrProvince", DbType.String, trans.BuyerStateOrProvince); DataFactory.AddCommandParam(cmd, "@BuyerCity", DbType.String, trans.BuyerCity); DataFactory.AddCommandParam(cmd, "@BuyerTel", DbType.String, StringUtil.GetSafeString(trans.BuyerTel)); DataFactory.AddCommandParam(cmd, "@BuyerMail", DbType.String, StringUtil.GetSafeString(trans.BuyerMail)); DataFactory.AddCommandParam(cmd, "@BuyerPostalCode", DbType.String, StringUtil.GetSafeString(trans.BuyerPostalCode)); DataFactory.AddCommandParam(cmd, "@BuyerAddress", DbType.String, StringUtil.GetSafeString(trans.BuyerAddress)); DataFactory.AddCommandParam(cmd, "@BuyerAddressCompact", DbType.String, StringUtil.GetSafeString(trans.BuyerAddressCompact)); DataFactory.AddCommandParam(cmd, "@BuyerAddressLine1", DbType.String, StringUtil.GetSafeString(trans.BuyerAddressLine1)); DataFactory.AddCommandParam(cmd, "@BuyerAddressLine2", DbType.String, StringUtil.GetSafeString(trans.BuyerAddressLine2)); DataFactory.AddCommandParam(cmd, "@BuyerPayPal", DbType.String, StringUtil.GetSafeString(trans.BuyerPayPal)); DataFactory.AddCommandParam(cmd, "@ItemId", DbType.String, StringUtil.GetSafeString(trans.ItemId)); DataFactory.AddCommandParam(cmd, "@ItemTitle", DbType.String, StringUtil.GetSafeString(trans.ItemTitle)); DataFactory.AddCommandParam(cmd, "@ItemSKU", DbType.String, StringUtil.GetSafeString(trans.ItemSKU)); DataFactory.AddCommandParam(cmd, "@ItemPrice", DbType.Double, trans.ItemPrice); DataFactory.AddCommandParam(cmd, "@SaleQuantity", DbType.Int32, trans.SaleQuantity); DataFactory.AddCommandParam(cmd, "@SalePrice", DbType.Double, trans.SalePrice); DataFactory.AddCommandParam(cmd, "@TotalPrice", DbType.Double, trans.TotalPrice); DataFactory.AddCommandParam(cmd, "@CurrencyId", DbType.String, StringUtil.GetSafeString(trans.CurrencyId)); DataFactory.AddCommandParam(cmd, "@SaleDate", DbType.Date, StringUtil.GetSafeDateTime(trans.SaleDate).ToString()); DataFactory.AddCommandParam(cmd, "@SaleDateCN", DbType.Date, StringUtil.GetSafeDateTime(trans.SaleDateCN).ToString()); DataFactory.AddCommandParam(cmd, "@IsPaid", DbType.Boolean, trans.IsPaid); DataFactory.AddCommandParam(cmd, "@PaidDate", DbType.Date, StringUtil.GetSafeDateTime(trans.PaidDate).ToString()); DataFactory.AddCommandParam(cmd, "@IsShipped", DbType.Boolean, trans.IsShipped); DataFactory.AddCommandParam(cmd, "@ShippedDate", DbType.Date, StringUtil.GetSafeDateTime(trans.ShippedDate).ToString()); DataFactory.AddCommandParam(cmd, "@ShippingServiceCode", DbType.String, trans.ShippingServiceCode); DataFactory.AddCommandParam(cmd, "@ShippingService", DbType.String, trans.ShippingService); DataFactory.AddCommandParam(cmd, "@ShippingTrackingNo", DbType.String, trans.ShippingTrackingNo); DataFactory.AddCommandParam(cmd, "@ShippingCost", DbType.Double, trans.ShippingCost); DataFactory.AddCommandParam(cmd, "@FinalValueFee", DbType.Double, trans.FinalValueFee); DataFactory.AddCommandParam(cmd, "@PayPalFee", DbType.Double, trans.PayPalFee); DataFactory.AddCommandParam(cmd, "@IsReceived", DbType.Boolean, trans.IsReceived); DataFactory.AddCommandParam(cmd, "@IsBuyerLeftFeedback", DbType.Boolean, trans.IsBuyerLeftFeedback); DataFactory.AddCommandParam(cmd, "@IsSellerLeftFeedback", DbType.Boolean, trans.IsSellerLeftFeedback); DataFactory.AddCommandParam(cmd, "@IsNeedAttention", DbType.Boolean, trans.IsNeedAttention); DataFactory.AddCommandParam(cmd, "@MessageStatus", DbType.Int32, trans.MessageStatus); DataFactory.AddCommandParam(cmd, "@IsContactedBuyer", DbType.Boolean, trans.IsContactedBuyer); DataFactory.AddCommandParam(cmd, "@LastContactedBuyerDate", DbType.Date, StringUtil.GetSafeDateTime(trans.LastContactedBuyerDate).ToString()); DataFactory.AddCommandParam(cmd, "@IsResendReplacement", DbType.Boolean, trans.IsResendReplacement); DataFactory.AddCommandParam(cmd, "@UserComment", DbType.String, StringUtil.GetSafeString(trans.UserComment)); bool result = false; int newItemId = 0; try { if (DataFactory.DbConnection.State == ConnectionState.Closed) { DataFactory.DbConnection.Open(); } cmd.ExecuteNonQuery(); IDbCommand cmdNewID = DataFactory.CreateCommand("SELECT @@IDENTITY"); // Retrieve the Autonumber and store it in the CategoryID column. object obj = cmdNewID.ExecuteScalar(); Int32.TryParse(obj.ToString(), out newItemId); result = newItemId > 0; } catch (DataException ex) { // Write to log here. Logger.WriteSystemLog(string.Format("Error : {0}", ex.Message)); trans.dump(); result = false; } finally { if (DataFactory.DbConnection.State == ConnectionState.Open) { DataFactory.DbConnection.Close(); } } return(result); } // InsertOneTransaction
private static bool UpdateOneTransactionInternal(int transId, EbayTransactionType trans) { bool result = false; IDbCommand cmd = DataFactory.CreateCommand(null); cmd.CommandText = @"Update [Transaction] set SellerName=@SellerName, OrderId=@OrderId, OrderLineItemId=@OrderLineItemId, EbayTransactionId=@EbayTransactionId, EbayRecordId=@EbayRecordId, BuyerId=@BuyerId, BuyerRating=@BuyerRating," + "BuyerCountryEbayCode=@BuyerCountryEbayCode, BuyerCountry4PXCode=@BuyerCountry4PXCode," + "BuyerCountry=@BuyerCountry, BuyerCompanyName=@BuyerCompanyName, BuyerName=@BuyerName, BuyerStateOrProvince=@BuyerStateOrProvince, BuyerCity=@BuyerCity," + "BuyerTel=@BuyerTel, BuyerMail=@BuyerMail, BuyerPostalCode=@BuyerPostalCode, BuyerAddress=@BuyerAddress, BuyerAddressCompact=@BuyerAddressCompact, BuyerAddressLine1=@BuyerAddressLine1, BuyerAddressLine2=@BuyerAddressLine2, " + "BuyerPayPal=@BuyerPayPal,ItemId=@ItemId, ItemTitle=@ItemTitle, ItemSKU=@ItemSKU, ItemPrice=@ItemPrice, SaleQuantity=@SaleQuantity, SalePrice=@SalePrice, TotalPrice=@TotalPrice, CurrencyId=@CurrencyId," + "SaleDate=@SaleDate, SaleDateCN=@SaleDateCN, IsPaid=@IsPaid, PaidDate=@PaidDate, IsShipped=@IsShipped, ShippedDate=@ShippedDate, ShippingServiceCode=@ShippingServiceCode, ShippingService=@ShippingService, ShippingTrackingNo=@ShippingTrackingNo, ShippingCost=@ShippingCost, FinalValueFee=@FinalValueFee, PayPalFee=@PayPalFee," + "IsReceived=@IsReceived, IsBuyerLeftFeedback=@IsBuyerLeftFeedback, IsSellerLeftFeedback=@IsSellerLeftFeedback, IsNeedAttention=@IsNeedAttention, MessageStatus=@MessageStatus, IsContactedBuyer=@IsContactedBuyer," + "LastContactedBuyerDate=@LastContactedBuyerDate, IsResendReplacement=@IsResendReplacement, UserComment=@UserComment where TransactionId=@TransactionId"; DataFactory.AddCommandParam(cmd, "@SellerName", DbType.String, trans.SellerName); DataFactory.AddCommandParam(cmd, "@OrderId", DbType.String, trans.OrderId); DataFactory.AddCommandParam(cmd, "@OrderLineItemId", DbType.String, trans.OrderLineItemId); DataFactory.AddCommandParam(cmd, "@EbayTransactionId", DbType.String, trans.EbayTransactionId); DataFactory.AddCommandParam(cmd, "@EbayRecordId", DbType.Int32, trans.EbayRecordId); DataFactory.AddCommandParam(cmd, "@BuyerId", DbType.String, trans.BuyerId); DataFactory.AddCommandParam(cmd, "@BuyerRating", DbType.Int32, trans.BuyerRating); DataFactory.AddCommandParam(cmd, "@BuyerCountryEbayCode", DbType.String, trans.BuyerCountryEbayCode); DataFactory.AddCommandParam(cmd, "@BuyerCountry4PXCode", DbType.String, trans.BuyerCountry4PXCode); DataFactory.AddCommandParam(cmd, "@BuyerCountry", DbType.String, trans.BuyerCountry); DataFactory.AddCommandParam(cmd, "@BuyerCompanyName", DbType.String, trans.BuyerCompanyName); DataFactory.AddCommandParam(cmd, "@BuyerName", DbType.String, trans.BuyerName); DataFactory.AddCommandParam(cmd, "@BuyerStateOrProvince", DbType.String, trans.BuyerStateOrProvince); DataFactory.AddCommandParam(cmd, "@BuyerCity", DbType.String, trans.BuyerCity); DataFactory.AddCommandParam(cmd, "@BuyerTel", DbType.String, trans.BuyerTel); DataFactory.AddCommandParam(cmd, "@BuyerMail", DbType.String, trans.BuyerMail); DataFactory.AddCommandParam(cmd, "@BuyerPostalCode", DbType.String, trans.BuyerPostalCode); DataFactory.AddCommandParam(cmd, "@BuyerAddress", DbType.String, trans.BuyerAddress); DataFactory.AddCommandParam(cmd, "@BuyerAddressCompact", DbType.String, trans.BuyerAddressCompact); DataFactory.AddCommandParam(cmd, "@BuyerAddressLine1", DbType.String, trans.BuyerAddressLine1); DataFactory.AddCommandParam(cmd, "@BuyerAddressLine2", DbType.String, trans.BuyerAddressLine2); DataFactory.AddCommandParam(cmd, "@BuyerPayPal", DbType.String, trans.BuyerPayPal); DataFactory.AddCommandParam(cmd, "@ItemId", DbType.String, trans.ItemId); DataFactory.AddCommandParam(cmd, "@ItemTitle", DbType.String, trans.ItemTitle); DataFactory.AddCommandParam(cmd, "@ItemSKU", DbType.String, trans.ItemSKU); DataFactory.AddCommandParam(cmd, "@ItemPrice", DbType.Double, trans.ItemPrice); DataFactory.AddCommandParam(cmd, "@SaleQuantity", DbType.Int32, trans.SaleQuantity); DataFactory.AddCommandParam(cmd, "@SalePrice", DbType.Double, trans.SalePrice); DataFactory.AddCommandParam(cmd, "@TotalPrice", DbType.Double, trans.TotalPrice); DataFactory.AddCommandParam(cmd, "@CurrencyId", DbType.String, trans.CurrencyId); DataFactory.AddCommandParam(cmd, "@SaleDate", DbType.DateTime, trans.SaleDate.ToString()); DataFactory.AddCommandParam(cmd, "@SaleDateCN", DbType.DateTime, StringUtil.GetSafeDateTime(trans.SaleDateCN)); DataFactory.AddCommandParam(cmd, "@IsPaid", DbType.Boolean, trans.IsPaid); DataFactory.AddCommandParam(cmd, "@PaidDate", DbType.DateTime, trans.PaidDate.ToString()); DataFactory.AddCommandParam(cmd, "@IsShipped", DbType.Boolean, trans.IsShipped); DataFactory.AddCommandParam(cmd, "@ShippedDate", DbType.DateTime, StringUtil.GetSafeDateTime(trans.ShippedDate).ToString()); DataFactory.AddCommandParam(cmd, "@ShippingServiceCode", DbType.String, trans.ShippingServiceCode); DataFactory.AddCommandParam(cmd, "@ShippingService", DbType.String, trans.ShippingService); DataFactory.AddCommandParam(cmd, "@ShippingTrackingNo", DbType.String, trans.ShippingTrackingNo); DataFactory.AddCommandParam(cmd, "@ShippingCost", DbType.Double, trans.ShippingCost); DataFactory.AddCommandParam(cmd, "@FinalValueFee", DbType.Double, trans.FinalValueFee); DataFactory.AddCommandParam(cmd, "@PayPalFee", DbType.Double, trans.PayPalFee); DataFactory.AddCommandParam(cmd, "@IsReceived", DbType.Boolean, trans.IsReceived); DataFactory.AddCommandParam(cmd, "@IsBuyerLeftFeedback", DbType.Boolean, trans.IsBuyerLeftFeedback); DataFactory.AddCommandParam(cmd, "@IsSellerLeftFeedback", DbType.Boolean, trans.IsSellerLeftFeedback); DataFactory.AddCommandParam(cmd, "@IsNeedAttention", DbType.Boolean, trans.IsNeedAttention); DataFactory.AddCommandParam(cmd, "@MessageStatus", DbType.Int32, trans.MessageStatus); DataFactory.AddCommandParam(cmd, "@IsContactedBuyer", DbType.Boolean, trans.IsContactedBuyer); DataFactory.AddCommandParam(cmd, "@LastContactedBuyerDate", DbType.DateTime, trans.LastContactedBuyerDate.ToString()); DataFactory.AddCommandParam(cmd, "@IsResendReplacement", DbType.Boolean, trans.IsResendReplacement); DataFactory.AddCommandParam(cmd, "@UserComment", DbType.String, trans.UserComment); DataFactory.AddCommandParam(cmd, "@TransactionId", DbType.String, transId); try { if (DataFactory.DbConnection.State == ConnectionState.Closed) { DataFactory.DbConnection.Open(); } cmd.ExecuteNonQuery(); result = true; } catch (DataException) { // Write to log here. result = false; } finally { if (DataFactory.DbConnection.State == ConnectionState.Open) { DataFactory.DbConnection.Close(); } } return(result); }
private static EbayTransactionType GetTransactionTypeFromDataRow(DataRow dr) { if (dr == null) { return(null); } EbayTransactionType trans = new EbayTransactionType(); trans.TransactionId = StringUtil.GetSafeInt(dr["TransactionId"]); trans.SellerName = StringUtil.GetSafeString(dr["SellerName"]); trans.OrderId = StringUtil.GetSafeString(dr["OrderId"]); trans.OrderLineItemId = StringUtil.GetSafeString(dr["OrderLineItemId"]); trans.EbayTransactionId = StringUtil.GetSafeString(dr["EbayTransactionId"]); trans.EbayRecordId = StringUtil.GetSafeInt(dr["EbayRecordId"]); trans.BuyerId = StringUtil.GetSafeString(dr["BuyerId"]); trans.BuyerRating = StringUtil.GetSafeInt(dr["BuyerRating"]); trans.BuyerCountryEbayCode = StringUtil.GetSafeString(dr["BuyerCountryEbayCode"]); trans.BuyerCountry4PXCode = StringUtil.GetSafeString(dr["BuyerCountry4PXCode"]); trans.BuyerCountry = StringUtil.GetSafeString(dr["BuyerCountry"]); trans.BuyerCompanyName = StringUtil.GetSafeString(dr["BuyerCompanyName"]); trans.BuyerName = StringUtil.GetSafeString(dr["BuyerName"]); trans.BuyerStateOrProvince = StringUtil.GetSafeString(dr["BuyerStateOrProvince"]); trans.BuyerCity = StringUtil.GetSafeString(dr["BuyerCity"]); trans.BuyerTel = StringUtil.GetSafeString(dr["BuyerTel"]); trans.BuyerMail = StringUtil.GetSafeString(dr["BuyerMail"]); trans.BuyerPostalCode = StringUtil.GetSafeString(dr["BuyerPostalCode"]); trans.BuyerAddress = StringUtil.GetSafeString(dr["BuyerAddress"]); trans.BuyerAddressCompact = StringUtil.GetSafeString(dr["BuyerAddressCompact"]); trans.BuyerAddressLine1 = StringUtil.GetSafeString(dr["BuyerAddressLine1"]); trans.BuyerAddressLine2 = StringUtil.GetSafeString(dr["BuyerAddressLine2"]); trans.BuyerPayPal = StringUtil.GetSafeString(dr["BuyerPayPal"]); trans.ItemId = StringUtil.GetSafeString(dr["ItemId"]); trans.ItemTitle = StringUtil.GetSafeString(dr["ItemTitle"]); trans.ItemSKU = StringUtil.GetSafeString(dr["ItemSKU"]); trans.ItemPrice = StringUtil.GetSafeDouble(dr["ItemPrice"]); trans.SaleQuantity = StringUtil.GetSafeInt(dr["SaleQuantity"]); trans.TotalPrice = StringUtil.GetSafeDouble(dr["TotalPrice"]); trans.CurrencyId = StringUtil.GetSafeString(dr["CurrencyId"]); trans.SaleDate = StringUtil.GetSafeDateTime(dr["SaleDate"]); trans.SaleDateCN = StringUtil.GetSafeDateTime(dr["SaleDateCN"]); trans.IsPaid = StringUtil.GetSafeBool(dr["IsPaid"]); trans.PaidDate = StringUtil.GetSafeDateTime(dr["PaidDate"]); trans.IsShipped = StringUtil.GetSafeBool(dr["IsShipped"]); trans.ShippedDate = StringUtil.GetSafeDateTime(dr["ShippedDate"]); trans.ShippingServiceCode = StringUtil.GetSafeString(dr["ShippingServiceCode"]); trans.ShippingService = StringUtil.GetSafeString(dr["ShippingService"]); trans.ShippingTrackingNo = StringUtil.GetSafeString(dr["ShippingTrackingNo"]); trans.ShippingCost = StringUtil.GetSafeDouble(dr["ShippingCost"]); trans.FinalValueFee = StringUtil.GetSafeDouble(dr["FinalValueFee"]); trans.PayPalFee = StringUtil.GetSafeDouble(dr["PayPalFee"]); trans.IsReceived = StringUtil.GetSafeBool(dr["IsReceived"]); trans.IsBuyerLeftFeedback = StringUtil.GetSafeBool(dr["IsBuyerLeftFeedback"]); trans.IsSellerLeftFeedback = StringUtil.GetSafeBool(dr["IsSellerLeftFeedback"]); trans.IsNeedAttention = StringUtil.GetSafeBool(dr["IsNeedAttention"]); trans.MessageStatus = (TransactionMessageStatus)StringUtil.GetSafeInt(dr["MessageStatus"]); trans.IsContactedBuyer = StringUtil.GetSafeBool(dr["IsContactedBuyer"]); trans.LastContactedBuyerDate = StringUtil.GetSafeDateTime(dr["LastContactedBuyerDate"]); trans.IsResendReplacement = StringUtil.GetSafeBool(dr["IsResendReplacement"]); trans.UserComment = StringUtil.GetSafeString(dr["UserComment"]); trans.IsDelivered = StringUtil.GetSafeBool(dr["IsDelivered"]); trans.DeliveryNoteId = StringUtil.GetSafeInt(dr["DeliveryNoteId"]); return(trans); } // GetTransactionTypeFromDataRow
public static bool InsertOneMessage(EbayMessageType msg) { if (!msg.isValid()) { return(false); } OleDbCommand cmd = new OleDbCommand(null, DbAccess.DbConn); cmd.CommandText = @"Insert into [Message] (EbayMessageId, SellerName, MessageType, QuestionType, IsRead, IsReplied, " + "IsResponseEnabled, ResponseURL, UserResponseDate, ReceiveDate, RecipientUserId," + "Sender, Subject, IsHighPriority, MessageContent, MessageText, " + "ExternalMessageId, FolderId, ItemID, ItemTitle, ItemEndTime, ListingStatus) values (" + " @EbayMessageId, @SellerName, @MessageType, @QuestionType, @IsRead, @IsReplied, " + " @IsResponseEnabled, @ResponseURL, @UserResponseDate, @ReceiveDate, @RecipientUserId," + " @Sender, @Subject, @IsHighPriority, @MessageContent, @MessageText, " + " @ExternalMessageId, @FolderId, @ItemID, @ItemTitle, @ItemEndTime, @ListingStatus)"; cmd.Parameters.Add("@EbayMessageId", OleDbType.VarChar).Value = StringUtil.GetSafeString(msg.EbayMessageId); cmd.Parameters.Add("@SellerName", OleDbType.VarChar).Value = StringUtil.GetSafeString(msg.SellerName); cmd.Parameters.Add("@MessageType", OleDbType.VarChar).Value = StringUtil.GetSafeString(msg.MessageType); cmd.Parameters.Add("@QuestionType", OleDbType.VarChar).Value = StringUtil.GetSafeString(msg.QuestionType); cmd.Parameters.Add("@IsRead", OleDbType.Boolean).Value = msg.IsRead; cmd.Parameters.Add("@IsReplied", OleDbType.Boolean).Value = msg.IsReplied; cmd.Parameters.Add("@IsResponseEnabled", OleDbType.Boolean).Value = msg.IsResponseEnabled; cmd.Parameters.Add("@ResponseURL", OleDbType.VarChar).Value = StringUtil.GetSafeString(msg.ResponseURL); cmd.Parameters.Add("@UserResponseDate", OleDbType.Date).Value = StringUtil.GetSafeDateTime(msg.UserResponseDate); cmd.Parameters.Add("@ReceiveDate", OleDbType.Date).Value = StringUtil.GetSafeDateTime(msg.ReceiveDate); cmd.Parameters.Add("@RecipientUserId", OleDbType.VarChar).Value = StringUtil.GetSafeString(msg.RecipientUserId); cmd.Parameters.Add("@Sender", OleDbType.VarChar).Value = StringUtil.GetSafeString(msg.Sender); cmd.Parameters.Add("@Subject", OleDbType.VarChar).Value = StringUtil.GetSafeString(msg.Subject); cmd.Parameters.Add("@IsHighPriority", OleDbType.Boolean).Value = msg.IsHighPriority; cmd.Parameters.Add("@MessageContent", OleDbType.LongVarChar).Value = StringUtil.GetSafeString(msg.Content); cmd.Parameters.Add("@MessageText", OleDbType.LongVarChar).Value = StringUtil.GetSafeString(msg.Text); cmd.Parameters.Add("@ExternalMessageId", OleDbType.VarChar).Value = StringUtil.GetSafeString(msg.ExternalMessageId); cmd.Parameters.Add("@FolderId", OleDbType.BigInt).Value = msg.FolderId; cmd.Parameters.Add("@ItemID", OleDbType.VarChar).Value = StringUtil.GetSafeString(msg.ItemID); cmd.Parameters.Add("@ItemTitle", OleDbType.VarChar).Value = StringUtil.GetSafeString(msg.ItemTitle); cmd.Parameters.Add("@ItemEndTime", OleDbType.Date).Value = StringUtil.GetSafeDateTime(msg.ItemEndTime); cmd.Parameters.Add("@ListingStatus", OleDbType.VarChar).Value = StringUtil.GetSafeString(msg.ListingStatus); bool result = false; try { if (DbAccess.DbConn.State == ConnectionState.Closed) { DbAccess.DbConn.Open(); } cmd.ExecuteNonQuery(); result = true; } catch (OleDbException ex) { // Write to log here. Logger.WriteSystemLog(string.Format("Error : {0}", ex.Message)); result = false; } finally { if (DbAccess.DbConn.State == ConnectionState.Open) { DbAccess.DbConn.Close(); } } return(result); } // InsertOneMessage