private List <ZohoLead> GetBestOfferLead(List <ZohoLead> leads, ItemType item, BestOfferType offer) { try { var checkLead = leads.Where(i => i.UserId == offer.Buyer.UserID).FirstOrDefault(); if (checkLead == null) { var lead = new ZohoLead() { ItemDescription = item.Description, UserId = offer.Buyer.UserID, EbayItemId = item.ItemID, Offers = new List <Offer>() { new Offer() { OfferAmount = offer.Price.Value, OfferExpirationDate = offer.ExpirationTime } }, Email = offer.Buyer.Email, FirstName = offer.Buyer.UserFirstName, LastName = offer.Buyer.UserLastName, //PageViews = (int)item.HitCount, //Watchers = (int)item.WatchCount, }; apiContext = GetApiContext(); GetItemCall call = new GetItemCall(apiContext); call.ItemID = item.ItemID; call.IncludeWatchCount = true; call.DetailLevelList.Add(DetailLevelCodeType.ReturnAll); ItemType ebayItem = call.GetItem(item.ItemID); lead.ItemDescription = ebayItem.Description; lead.PageViews = (int)ebayItem.HitCount; lead.Watchers = (int)ebayItem.WatchCount; leads.Add(lead); } else { checkLead.Offers.Add( new Offer() { OfferAmount = offer.Price.Value, OfferExpirationDate = offer.ExpirationTime } ); } return(leads); } catch (Exception ex) { Trace.TraceError(ex.Message); throw ex; } }
private List <ZohoLead> GetBidderLead(List <ZohoLead> leads, ItemType item, OfferType bidder) { try { var checkLead = leads.Where(i => i.UserId == bidder.User.UserID).FirstOrDefault(); if (checkLead == null) { var lead = new ZohoLead() { ItemDescription = item.Description, UserId = bidder.User.UserID, EbayItemId = item.ItemID, HighBidAmount = bidder.HighestBid.Value, TimeBid = bidder.TimeBid, Email = bidder.User.Email, FirstName = bidder.User.UserFirstName, LastName = bidder.User.UserLastName, //PageViews = (int)item.HitCount, //Watchers = (int)item.WatchCount, }; apiContext = GetApiContext(); GetItemCall call = new GetItemCall(apiContext); call.ItemID = item.ItemID; call.IncludeWatchCount = true; call.DetailLevelList.Add(DetailLevelCodeType.ReturnAll); ItemType ebayItem = call.GetItem(item.ItemID); lead.ItemDescription = ebayItem.Description; lead.PageViews = (int)ebayItem.HitCount; lead.Watchers = (int)ebayItem.WatchCount; leads.Add(lead); } else { checkLead.HighBidAmount = bidder.HighestBid.Value; checkLead.TimeBid = bidder.TimeBid; } return(leads); } catch (Exception ex) { Trace.TraceError(ex.Message); throw ex; } }
private List <ZohoLead> GetMemberMessageLead(List <ZohoLead> leads, ItemType item, MemberMessageExchangeType message) { try { var checkLead = leads.Where(i => i.UserId == message.Question.SenderID).FirstOrDefault(); if (checkLead == null) { var lead = new ZohoLead() { //ItemDescription = item.Description, UserId = message.Question.SenderID, //PageViews = (int)message.Item.HitCount, //Watchers = (int)message.Item.WatchCount, EbayItemId = item.ItemID, Email = message.Question.SenderEmail, MemberMessage = $"{message.CreationDate} - {message.Question.Body}\n" }; apiContext = GetApiContext(); GetItemCall call = new GetItemCall(apiContext); call.ItemID = item.ItemID; call.IncludeWatchCount = true; call.DetailLevelList.Add(DetailLevelCodeType.ReturnAll); ItemType ebayItem = call.GetItem(item.ItemID); lead.ItemDescription = ebayItem.Description; lead.PageViews = (int)ebayItem.HitCount; lead.Watchers = (int)ebayItem.WatchCount; leads.Add(lead); } else { checkLead.MemberMessage += $"{message.CreationDate} - {message.Question.Body}\n"; } return(leads); } catch (Exception ex) { Trace.TraceError(ex.Message); throw ex; } }
private List <ZohoLead> GetBidderLead(List <ZohoLead> leads, GetItemResponseType item) { try { var lead = new ZohoLead() { ItemDescription = item.Item.Description, //PageViews = (int)item.Item.HitCount, //Watchers = (int)item.Item.WatchCount, UserId = item.Item.SellingStatus.HighBidder.UserID, EbayItemId = item.Item.ItemID, HighBidAmount = item.Item.SellingStatus.CurrentPrice.Value, TimeBid = item.Timestamp, Email = item.Item.SellingStatus.HighBidder.Email, FirstName = item.Item.SellingStatus.HighBidder.UserFirstName, LastName = item.Item.SellingStatus.HighBidder.UserLastName }; apiContext = GetApiContext(); GetItemCall call = new GetItemCall(apiContext); call.ItemID = item.Item.ItemID; call.IncludeWatchCount = true; call.DetailLevelList.Add(DetailLevelCodeType.ReturnAll); ItemType ebayItem = call.GetItem(item.Item.ItemID); lead.ItemDescription = ebayItem.Description; lead.PageViews = (int)ebayItem.HitCount; lead.Watchers = (int)ebayItem.WatchCount; leads.Add(lead); return(leads); } catch (Exception ex) { Trace.TraceError(ex.Message); throw ex; } }
private ZCRMRecord InsertZohoLeadOffer(ZohoLead lead) { try { ZCRMRecord record = ZCRMRecord.GetInstance("Leads", null); //To get ZCRMRecord instance if (lead.Offers.Count > 0) { Offer leadOffer = lead.Offers.First(); record.SetFieldValue("Offer_Amount1", leadOffer.OfferAmount); record.SetFieldValue("Offer_Expiration", new DateTime(leadOffer.OfferExpirationDate.Year, leadOffer.OfferExpirationDate.Month, leadOffer.OfferExpirationDate.Day, leadOffer.OfferExpirationDate.Hour, leadOffer.OfferExpirationDate.Minute, leadOffer.OfferExpirationDate.Second)); } //lead.StockNumber = "2168"; if (!String.IsNullOrEmpty(lead.StockNumber)) { record.SetFieldValue("Stock_Number", lead.StockNumber); ZCRMModule module = ZCRMModule.GetInstance("Contacts"); BulkAPIResponse <ZCRMRecord> response = module.SearchByCriteria("(Cust_ID:equals:" + lead.StockNumber + ")"); List <ZCRMRecord> contacts = response.BulkData; if (contacts != null) { if (contacts.Count > 0) { JObject customerId = new JObject() { { "id", contacts.First().EntityId } }; record.SetFieldValue("Stock_Nbr", customerId); } } } if (lead.PageViews != null) { record.SetFieldValue("Page_Views", lead.PageViews); } if (lead.Watchers != null) { record.SetFieldValue("Current_Watchers", lead.Watchers.ToString()); } if (!String.IsNullOrEmpty(lead.VehicleYear)) { record.SetFieldValue("Year_of_Unit", lead.VehicleYear); } if (!String.IsNullOrEmpty(lead.PhoneNumber)) { record.SetFieldValue("Phone_Number", lead.PhoneNumber); } if (!String.IsNullOrEmpty(lead.VehicleMake)) { record.SetFieldValue("Year_Make_Model", lead.VehicleMake + " " + lead.VehicleModel); record.SetFieldValue("Year_Make_Model1", lead.VehicleMake + " " + lead.VehicleModel); } record.SetFieldValue("Item_Number", lead.EbayItemId); if (!String.IsNullOrEmpty(lead.City)) { record.SetFieldValue("Bidders_City", lead.City); } if (!String.IsNullOrEmpty(lead.State)) { record.SetFieldValue("Bidders_State", lead.State); } record.SetFieldValue("Last_Name", lead.LastName); record.SetFieldValue("Name1", lead.FullName); record.SetFieldValue("Email_provided", lead.Email); record.SetFieldValue("Ebay_User_ID", lead.UserId); JObject layout = new JObject() { { "id", 4212012000003357243 } }; //string layout = "{\"name\", \"Ebay Offer\",\"id\", \4212012000003357243\"}"; record.SetFieldValue("Layout", layout); return(record); } catch (Exception ex) { Trace.TraceError(ex.Message); throw ex; } }
private ZCRMRecord InsertZohoLeadMessage(ZohoLead lead) { try { ZCRMRecord record = ZCRMRecord.GetInstance("Leads", null); //To get ZCRMRecord instance //lead.StockNumber = "2168"; if (!String.IsNullOrEmpty(lead.StockNumber)) { record.SetFieldValue("Stock_Number", lead.StockNumber); ZCRMModule module = ZCRMModule.GetInstance("Contacts"); BulkAPIResponse <ZCRMRecord> response = module.SearchByCriteria("(Cust_ID:equals:" + lead.StockNumber + ")"); List <ZCRMRecord> contacts = response.BulkData; if (contacts != null) { if (contacts.Count > 0) { JObject customerId = new JObject() { { "id", contacts.First().EntityId } }; record.SetFieldValue("Stock_Nbr", customerId); } } } if (lead.PageViews != null) { record.SetFieldValue("Page_Views", lead.PageViews); } if (!String.IsNullOrEmpty(lead.StockNumber)) { record.SetFieldValue("Registered_Watchers", lead.Watchers); } if (!String.IsNullOrEmpty(lead.MemberMessage)) { record.SetFieldValue("Description", lead.MemberMessage); } if (!String.IsNullOrEmpty(lead.VehicleYear)) { record.SetFieldValue("Year_of_Unit", lead.VehicleYear); } if (!String.IsNullOrEmpty(lead.PhoneNumber)) { record.SetFieldValue("Phone_Number", lead.PhoneNumber); } if (!String.IsNullOrEmpty(lead.VehicleMake)) { record.SetFieldValue("Year_Make_Model", lead.VehicleMake + " " + lead.VehicleModel); record.SetFieldValue("Year_Make_Model1", lead.VehicleMake + " " + lead.VehicleModel); } if (!String.IsNullOrEmpty(lead.EbayItemId)) { record.SetFieldValue("Item_Number", lead.EbayItemId); } if (!String.IsNullOrEmpty(lead.City)) { record.SetFieldValue("Bidders_City", lead.City); } if (!String.IsNullOrEmpty(lead.State)) { record.SetFieldValue("Bidders_State", lead.State); } record.SetFieldValue("Last_Name", lead.LastName); record.SetFieldValue("First_Name", lead.FirstName); record.SetFieldValue("Name1", lead.FullName); record.SetFieldValue("Name2", lead.FullName); record.SetFieldValue("Email", lead.Email); record.SetFieldValue("Email_provided", lead.Email); record.SetFieldValue("Ebay_User_ID", lead.UserId); JObject layout = new JObject() { { "id", 4212012000003357573 } }; record.SetFieldValue("Layout", layout); return(record); } catch (Exception ex) { Trace.TraceError(ex.Message); throw ex; } }