示例#1
0
        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;
            }
        }
示例#2
0
        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;
            }
        }
示例#3
0
        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;
            }
        }
示例#4
0
        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;
            }
        }
示例#5
0
        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;
            }
        }
示例#6
0
        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;
            }
        }