IEnumerable <BulletinPackage> GetBulletinList(AccessCache access) { var result = Enumerable.Empty <BulletinPackage>(); DCT.Execute(d => { var tabStates = new List <TabState>(); var bulletins = new List <BulletinPackage>(); var fieldValueContainer = FieldValueContainerList.Get(Uid); var accessContainer = AccessContainerList.Get(Uid); UiHelper.UpdateActionState("Попытка авторизоваться"); if (accessContainer.TryAuth(access)) { Thread.Sleep(2000); UiHelper.UpdateActionState("Ожидание прогрузки страницы"); Thread.Sleep(2000); UiHelper.UpdateActionState("Переход на страницу профиля"); Thread.Sleep(2000); UiHelper.UpdateActionState("Считывание списка буллетинов"); Thread.Sleep(2000); } result = bulletins; }); return(result); }
public override void GetBulletinDetails(IEnumerable <BulletinPackage> packages) { UiHelper.UpdateWorkState("Выгрузка полей для списка буллетинов"); DCT.Execute(d => { { var fieldValueContainer = FieldValueContainerList.Get(Uid); var accessContainer = AccessContainerList.Get(Uid); var accessCollection = packages.Cast <BulletinPackage>().Where(q => q.Access != null).GroupBy(q => q.Access.Login).Select(q => new { Access = q.Key, Collection = q.ToList() }).ToList(); foreach (var a in accessCollection) { UiHelper.UpdateObjectState($"Access {a.Access}"); var bulletins = a.Collection; foreach (var bulletin in bulletins) { UiHelper.UpdateActionState("Попытка авторизоваться"); Thread.Sleep(2000); if (accessContainer.TryAuth(bulletin.Access)) { Thread.Sleep(1000); var url = Path.Combine(bulletin.Url, "edit"); UiHelper.UpdateActionState($"Переход на страницу {url}"); Thread.Sleep(2000); var values = new Dictionary <string, string>(); foreach (var pair in bulletin.AccessFields) { var v = fieldValueContainer.GetFieldValue(bulletin.AccessFields, pair.Key); values.Add(pair.Key, v); } bulletin.ValueFields = values; bulletin.State = (int)CheckBulletinState(bulletin.Url); } } } } { UiHelper.UpdateActionState("Отправка коллбека"); Thread.Sleep(1000); } }); }
public override void EditBulletins(IEnumerable <BulletinPackage> packages) { DCT.Execute(d => { { var fieldValueContainer = FieldValueContainerList.Get(Uid); var accessContainer = AccessContainerList.Get(Uid); foreach (var bulletin in packages) { var name = bulletin.ValueFields["Название объявления"]; UiHelper.UpdateObjectState($"Bulletin {name}, state = {bulletin.State}"); UiHelper.UpdateActionState("Попытка авторизоваться"); if (accessContainer.TryAuth(bulletin.Access)) { UiHelper.UpdateActionState("Ожидание прогрузки страницы"); Thread.Sleep(2000); Tools.WebWorker.NavigatePage(Path.Combine(bulletin.Url, "edit")); UiHelper.UpdateActionState("Установка значений"); Thread.Sleep(1000); SetValueFields(bulletin, fieldValueContainer); Thread.Sleep(1000); ContinueAddOrEdit(EnumHelper.GetValue <BulletinState>(bulletin.State)); Thread.Sleep(1000); Publicate(bulletin); } } } { foreach (var b in packages) { b.State = (int)BulletinState.OnModeration; var name = b.ValueFields["Название объявления"]; UiHelper.UpdateObjectState($"Bulletin {name}, state = {b.State}"); Thread.Sleep(1000); } UiHelper.UpdateActionState("Отправка коллбека"); Thread.Sleep(1000); } }); }
public override void CloneBulletins(IEnumerable <AggregateBulletinPackage> packages) { UiHelper.UpdateWorkState("Клонирование буллетинов"); DCT.Execute(d => { var createdBulletins = new List <BulletinPackage>(); { var fieldValueContainer = FieldValueContainerList.Get(Uid); var accessContainer = AccessContainerList.Get(Uid); foreach (var package in packages) { var name = package.Bulletin.ValueFields["Название объявления"]; UiHelper.UpdateObjectState($"Bulletin {name}, state = {package.Bulletin.State}"); UiHelper.UpdateActionState("Попытка авторизоваться"); var accesses = package.Accesses.ToArray(); foreach (var access in accesses) { if (accessContainer.TryAuth(access)) { UiHelper.UpdateActionState("Ожидание прогрузки страницы"); Thread.Sleep(2000); UiHelper.UpdateActionState("Переход на страницу - additem"); Thread.Sleep(1000); UiHelper.UpdateActionState("Выбор категорий"); ChooseCategories(package.Bulletin.Signature); UiHelper.UpdateActionState("Установка значений"); Thread.Sleep(1000); SetValueFields(package.Bulletin, fieldValueContainer); ContinueAddOrEdit(BulletinState.WaitPublication); Thread.Sleep(1000); Publicate(package.Bulletin); // Thread.Sleep(20000); GetUrl(package.Bulletin); var newBulletin = new BulletinPackage { Access = access, BulletinId = package.Bulletin.BulletinId, Url = package.Bulletin.Url, Title = package.Bulletin.Title, State = package.Bulletin.State, Signature = package.Bulletin.Signature, ValueFields = package.Bulletin.ValueFields }; createdBulletins.Add(newBulletin); } } } } { UiHelper.UpdateActionState("Проверка Url и установка состояний"); Thread.Sleep(1000); foreach (var p in packages) { var name = p.Bulletin.ValueFields["Название объявления"]; UiHelper.UpdateObjectState($"Bulletin {name}, state = {p.Bulletin.State}"); } UiHelper.UpdateActionState("Отправка коллбека"); Thread.Sleep(1000); } }); }
public override void AddBulletins(IEnumerable <BulletinPackage> packages) { UiHelper.UpdateWorkState("Добавление списка буллетинов"); DCT.Execute(d => { var createdBulletins = new List <BulletinPackage>(); { var fieldValueContainer = FieldValueContainerList.Get(Uid); var accessContainer = AccessContainerList.Get(Uid); foreach (var bulletin in packages) { var name = bulletin.ValueFields["Название объявления"]; UiHelper.UpdateObjectState($"Bulletin {name}, state = {bulletin.State}"); UiHelper.UpdateActionState("Попытка авторизоваться"); if (accessContainer.TryAuth(bulletin.Access)) { UiHelper.UpdateActionState("Ожидание прогрузки страницы"); Thread.Sleep(2000); UiHelper.UpdateActionState("Переход на страницу - additem"); Thread.Sleep(1000); UiHelper.UpdateActionState("Выбор категорий"); ChooseCategories(bulletin.Signature); UiHelper.UpdateActionState("Установка значений"); Thread.Sleep(1000); SetValueFields(bulletin, fieldValueContainer); Thread.Sleep(1000); ContinueAddOrEdit(EnumHelper.GetValue <BulletinState>(bulletin.State)); Thread.Sleep(1000); Publicate(bulletin); Thread.Sleep(1000); GetUrl(bulletin); Thread.Sleep(1000); } } } { DCT.ExecuteAsync(d2 => { UiHelper.UpdateActionState("Проверка Url и установка состояний"); Thread.Sleep(1000); foreach (var b in packages) { if (string.IsNullOrEmpty(b.Url)) { b.State = (int)BulletinState.Error; } else { b.State = (int)BulletinState.OnModeration; } var name = b.ValueFields["Название объявления"]; UiHelper.UpdateObjectState($"Bulletin {name}, state = {b.State}"); } UiHelper.UpdateActionState("Отправка коллбека"); Thread.Sleep(1000); }); } }); }