예제 #1
0
 public void DeleteLeadTabelData()
 {
     timer4Sync.Stop();
     foreach (ClsLead cd in objLeadCollection)
     {
         clsDataService.UpdateLeadStatus(cd.ID, cd.Status);
     }
     timer4Sync_Elapsed(null, null);
     clsDataService.DeleteLeadTableData();
     LeadCollection.Clear();
 }
예제 #2
0
        public IActionResult PostHandler([FromBody] IEnumerable <LeadRequest> leads)
        {
            if (!_telegramService.IsConnected || !_telegramService.IsAuthorized)
            {
                return(new JsonResult(new TelegramSettingsMissingJsonResult(TelegramSettings)));
            }
            //TODO: use other services


            var leadsCollection = new LeadCollection(leads.ToList());

            if (leadsCollection.Leads.Count == 0)
            {
                return(new JsonResult(new LeadDataMissingJsonResult()));
            }

            _telegramService.VerifyNumbers(leadsCollection);
            //TODO: use other services
            return(new JsonResult(leadsCollection.GetLeadsList()));
        }
예제 #3
0
 public void FncRemoveDialLead(int channelID)
 {
     lock (this)
     {
         if (channelID == 0)
         {
             foreach (ClsLead cl in LeadCollection)
             {
                 for (int i = 0; i < _DiallerChannel.Count; i++)
                 {
                     if (long.Parse(cl.ID.ToString()) == _DiallerChannel[i].LeadID)
                     {
                         LeadCollection.Remove(cl);
                     }
                 }
             }
         }
         else
         {
             foreach (ClsLead cl in LeadCollection)
             {
                 if (long.Parse(cl.ID.ToString()) == _DiallerChannel[channelID - 1].LeadID)
                 {
                     LeadCollection.Remove(cl);
                     _DiallerChannel[channelID - 1].CallResult = ClsChannel.CallStatus.NotInCall;
                     break;
                 }
             }
         }
         if (LeadCollection.Count == 0)
         {
             //   GetNextLeadList();
             GetNextLeadList(true);
         }
     }
 }
예제 #4
0
파일: Program.cs 프로젝트: coenvdwel/leebl
        private static void Process(string username, string password, string folderName)
        {
            Console.WriteLine(" > Opening file...");

            var path  = Directory.GetCurrentDirectory() + @"\Leebl.csv";
            var leads = new LeadCollection(path);

            var binding = new ExchangeServiceBinding
            {
                Url         = "https://amxprd0510.outlook.com/ews/exchange.asmx",
                Credentials = new NetworkCredential(username, password),
                RequestServerVersionValue = new RequestServerVersion {
                    Version = ExchangeVersionType.Exchange2010
                }
            };

            #region Get folder

            Console.WriteLine(" > Retrieving folder...");

            var folderRequest = new FindFolderType
            {
                Traversal   = FolderQueryTraversalType.Deep,
                FolderShape = new FolderResponseShapeType {
                    BaseShape = DefaultShapeNamesType.IdOnly
                },
                ParentFolderIds = new BaseFolderIdType[]
                {
                    new DistinguishedFolderIdType {
                        Id = DistinguishedFolderIdNameType.root
                    }
                },
                Restriction = new RestrictionType
                {
                    Item = new ContainsExpressionType
                    {
                        ContainmentMode                = ContainmentModeType.Substring,
                        ContainmentModeSpecified       = true,
                        ContainmentComparison          = ContainmentComparisonType.IgnoreCase,
                        ContainmentComparisonSpecified = true,
                        Item = new PathToUnindexedFieldType
                        {
                            FieldURI = UnindexedFieldURIType.folderDisplayName
                        },
                        Constant = new ConstantValueType
                        {
                            Value = folderName
                        }
                    }
                }
            };

            var folderResponse = binding.FindFolder(folderRequest);
            var folderIds      = new List <BaseFolderIdType>();

            foreach (var folder in folderResponse.ResponseMessages.Items
                     .Select(x => (x as FindFolderResponseMessageType))
                     .Where(x => x != null))
            {
                folderIds.AddRange(folder.RootFolder.Folders.Select(y => y.FolderId));
            }

            #endregion

            #region Get items

            Console.WriteLine(" > Retrieving items...");

            var itemRequest = new FindItemType
            {
                Traversal = ItemQueryTraversalType.Shallow,
                ItemShape = new ItemResponseShapeType {
                    BaseShape = DefaultShapeNamesType.Default
                },
                ParentFolderIds = folderIds.ToArray()
            };

            var itemResponse = binding.FindItem(itemRequest);
            var itemIds      = new List <BaseItemIdType>();

            foreach (var item in itemResponse.ResponseMessages.Items
                     .Select(x => (x as FindItemResponseMessageType))
                     .Where(x => x != null)
                     .Where(x => x.RootFolder != null && x.RootFolder.TotalItemsInView > 0))
            {
                itemIds.AddRange(((ArrayOfRealItemsType)item.RootFolder.Item).Items.Select(y => y.ItemId));
            }

            #endregion

            #region Get bodies

            Console.WriteLine(" > Parsing " + itemIds.Count + " messages...");

            var messageRequest = new GetItemType
            {
                ItemShape = new ItemResponseShapeType {
                    BaseShape = DefaultShapeNamesType.AllProperties
                },
                ItemIds = itemIds.ToArray()
            };

            var messageResponse = binding.GetItem(messageRequest);

            foreach (var message in messageResponse.ResponseMessages.Items
                     .Select(x => (x as ItemInfoResponseMessageType))
                     .Where(x => x != null)
                     .Select(x => x.Items.Items[0])
                     .Where(x => x != null))
            {
                leads.Add(message.Body.Value, message.DateTimeSent);
            }

            #endregion

            Console.WriteLine(" > Saving to file...");
            leads.Save(path);
        }