Exemple #1
0
        public ResultOperationInfo Update(CheckStatusInfo itemInfo)
        {
            var item        = MapperInstance.Map <CheckStatusInfo, CheckStatus>(itemInfo);
            var updatedItem = UnitOfWork.GetRepository <CheckStatus>().Update(item, item.Id);

            return(updatedItem == null
                ? new ResultOperationInfo(false, Localization.Error_OperationComplited)
                : new ResultOperationInfo(true, Localization.Success_OperationComplited));
        }
Exemple #2
0
        public CheckStatusInfo Create(CheckStatusInfo itemInfo)
        {
            var result = _checkStatusService.Create(itemInfo);

            if (result.IsSuccess)
            {
                return(result.Value);
            }
            throw new Exception(result.Message);
        }
Exemple #3
0
        public ResultOperationInfo <CheckStatusInfo> Create(CheckStatusInfo itemInfo)
        {
            var item          = MapperInstance.Map <CheckStatusInfo, CheckStatus>(itemInfo);
            var addedItem     = UnitOfWork.GetRepository <CheckStatus>().Add(item);
            var addedItemInfo = MapperInstance.Map <CheckStatus, CheckStatusInfo>(addedItem);

            return(addedItem == null
                ? new ResultOperationInfo <CheckStatusInfo>(null, false, Localization.Error_OperationComplited)
                : new ResultOperationInfo <CheckStatusInfo>(addedItemInfo, true, Localization.Success_OperationComplited));
        }
        private async void OnCheckAll(object obj)
        {
            NoLinks            = 0;
            UpdatedAvatar      = 0;
            ChangeTitles       = 0;
            SubscribersChannel = 0;

            _tLChannelFull = await _telegramLogic.GetFullInfoCannelsAsync();

            _tLChannels = await _telegramLogic.GetInfoChannelsAsync();

            List <ChannelsInfo> cannelsTelegram = new List <ChannelsInfo>();

            foreach (var item in _tLChannelFull)
            {
                var channelsInfoTelegram = new ChannelsInfo();
                foreach (var item1 in _tLChannels)
                {
                    if (item.Id == item1.Id)
                    {
                        channelsInfoTelegram.NameChannel       = item1.Title;
                        channelsInfoTelegram.UriChannel        = item1.Username;
                        channelsInfoTelegram.IdChannel         = item1.Id;
                        channelsInfoTelegram.AccessHashChannel = (long)item1.AccessHash;
                        break;
                    }
                }
                if (item.ChatPhoto is TLPhoto tLPhoto)
                {
                    channelsInfoTelegram.AvatarChannel = DateTimeOffset.FromUnixTimeSeconds(tLPhoto.Date).DateTime;
                }
                else
                {
                    channelsInfoTelegram.AvatarChannel = new DateTime(2000, 1, 1);
                }
                channelsInfoTelegram.SubscribersChannel = (int)item.ParticipantsCount;
                cannelsTelegram.Add(channelsInfoTelegram);
            }

            string resultStatus = String.Empty;

            foreach (var itemInfoChannels in InfoChannels)
            {
                var isCheck = await _telegramLogic.CheckUriChannel(itemInfoChannels.AccessHashChannel, itemInfoChannels.IdChannel);

                if (!isCheck)
                {
                    resultStatus += $"Ссылка не действительна. ";
                    NoLinks++;
                    var tmpChannel = itemInfoChannels;
                    tmpChannel.Status = resultStatus;
                    _updateChannelsBD.Add(tmpChannel);
                    resultStatus = String.Empty;
                    continue;
                }

                foreach (var itemCannelsTelegram in cannelsTelegram)
                {
                    if (itemInfoChannels.IdChannel == itemCannelsTelegram.IdChannel)
                    {
                        if (DateTime.Compare(itemInfoChannels.AvatarChannel, itemCannelsTelegram.AvatarChannel) != 0)
                        {
                            resultStatus += $"Изменили аватар. ";
                            itemInfoChannels.AvatarChannel = itemCannelsTelegram.AvatarChannel;
                            UpdatedAvatar++;
                        }

                        if (!itemInfoChannels.NameChannel.Equals(itemCannelsTelegram.NameChannel))
                        {
                            resultStatus += $"Изменили имя группы. ";
                            itemInfoChannels.NameChannel = itemCannelsTelegram.NameChannel;
                            ChangeTitles++;
                        }

                        if (itemInfoChannels.SubscribersChannel != itemCannelsTelegram.SubscribersChannel)
                        {
                            resultStatus += $"Изменилось количество подписчиков группы. ";
                            itemInfoChannels.SubscribersChannel = itemCannelsTelegram.SubscribersChannel;
                            SubscribersChannel++;
                        }

                        var tmp = itemInfoChannels;
                        tmp.Status = resultStatus;
                        _updateChannelsBD.Add(tmp);
                        resultStatus = String.Empty;
                    }
                }
            }
            foreach (var item in _updateChannelsBD)
            {
                InfoChannels.Remove(item);
                InfoChannels.Add(item);
            }
            CheckStatusInfo checkStatusInfo = new CheckStatusInfo()
            {
                CheckDate     = DateTime.Now,
                ChangeAvatar  = UpdatedAvatar,
                ChangeName    = ChangeTitles,
                ChannelsCount = SubscribersChannel,
                NoUri         = NoLinks
            };

            StatChannels.Add(_checkStatusService.Create(checkStatusInfo));
        }