public async Task <dynamic> Get(string companyName) { DateTime operationStarted = DateTime.Now; using (HttpClient client = new HttpClient()) using (Entities db = new Entities()) { var result = await BulkAction.PerformBulkAction(client, companyName, db, ConfigDictionary.Config()["ShopifyAdminAPIVersion"]); if (Equals(result.GetType(), typeof(string))) { return(BulkAction.WriteSalesData(result, db .StoreCustomDatas .Where(x => x.StoreName == companyName) .FirstOrDefault() .StoreID, db, operationStarted)); } else { return(result); } } }
public override async Task <int> DoGroupActionAsync(ItemView toVeiwEntity, BulkAction selectedAction) { if (selectedAction == BulkAction.AllowWooSync) { toVeiwEntity.CanUpdateWooMap = true; } else if (selectedAction == BulkAction.DisallowWooSync) { toVeiwEntity.CanUpdateWooMap = false; } return(await UpdateWooProductMap(toVeiwEntity)); }
public async Task <IActionResult> BulkEdit(BulkAction bulkAction, PagerParameters pagerParameters) { if (!await _authorizationService.AuthorizeAsync(User, Permissions.ManageNotifications)) { return(Unauthorized()); } var viewModel = new NotificationsIndexViewModel { Notifications = new List <Notification>(), Options = new SearchIndexOptions() }; if (!(await TryUpdateModelAsync(viewModel))) { return(View(viewModel)); } //todo create viewmodel with ischecked property var checkedEntries = viewModel.Notifications.Take(1); // viewModel.Comments.Where(t => t.IsChecked); switch (bulkAction) { case BulkAction.None: break; case BulkAction.Delete: foreach (var entry in checkedEntries) { var commentRecord = await _notificationsRepository.FindByIdAsync(entry.Id); if (commentRecord != null) { await _notificationsRepository.DeleteAsync(commentRecord); _notifier.Success(H["Comment {0} has been deleted.", commentRecord.Content]); } } break; default: throw new ArgumentOutOfRangeException(); } return(RedirectToAction("Index", new { page = pagerParameters.Page, pageSize = pagerParameters.PageSize })); }
public async Task <dynamic> Get(string companyName) { if (CheckClientSecret()) { DateTime operationStarted = DateTime.Now; Entities db = new Entities(); using (HttpClient client = new HttpClient()) { var result = await BulkAction.PerformBulkAction(client, companyName, db, ConfigDictionary.Config()["ShopifyAdminAPIVersion"]); if (Equals(result.GetType(), typeof(string))) { StoreCustomData store = db.StoreCustomDatas.FirstOrDefault(x => x.StoreName == companyName); var dbResult = BulkAction.WriteSalesData(result, store.StoreID, db, operationStarted); if (!Equals(dbResult.GetType(), typeof(Exception))) { return(db.SalesDatas.Where(x => x.StoreID == store.StoreID).OrderBy(x => x.Date)); } else { return(new ArgumentException("An error occurred while writing to the database.")); } } else { return(result); } } } else { return(new HttpResponseMessage(System.Net.HttpStatusCode.Forbidden)); } }
/// <summary> /// Shared method that will perform bulk actions for Delete, Activate/Deactivate /// </summary> /// <param name="action"></param> private void PerformBulkActionTemplates(BulkAction action) { var message = ""; var progressMessage = ""; switch (action) { case BulkAction.Activate: message = "Activating selected Document Templates"; progressMessage = "activating Document Templates in CRM"; break; case BulkAction.Deactivate: message = "Deactivating selected Document Templates"; progressMessage = "deactivating Document Templates in CRM"; break; case BulkAction.Delete: message = "Deleting selected Document Templates"; progressMessage = "deleting Document Templates from CRM"; break; } var selItemArray = new ListViewItem[listViewDocumentTemplates.SelectedItems.Count]; listViewDocumentTemplates.SelectedItems.CopyTo(selItemArray, 0); // build the bach list for delete WorkAsync(new WorkAsyncInfo { Message = message, AsyncArgument = selItemArray.ToList <ListViewItem>(), Work = (w, e) => { try { w.ReportProgress(0, "Begin " + progressMessage); var selItems = e.Argument as List <ListViewItem>; int templateCount = selItems.Count; int counter = 0; // grab the list of selected template Ids foreach (ListViewItem item in selItems) { counter++; var template = item.Tag as DocumentTemplateEdit; var entityTarget = new Entity(template.EntityLogicalName, template.Id) { EntityState = EntityState.Changed }; w.ReportProgress(Convert.ToInt32(counter / templateCount) * 100, "Template: " + template.Name); switch (action) { case BulkAction.Activate: case BulkAction.Deactivate: if (action == BulkAction.Activate) { entityTarget["status"] = false; } else { entityTarget["status"] = true; } var updateRequest = new UpdateRequest() { Target = entityTarget }; Service.Execute(updateRequest); break; case BulkAction.Delete: var deleteRequest = new DeleteRequest() { Target = entityTarget.ToEntityReference() }; Service.Execute(deleteRequest); break; } } w.ReportProgress(0, "Done " + progressMessage); w.ReportProgress(0, ""); } catch (Exception ex) { MessageBox.Show("An error occured with one or more templates:\n" + ex.Message); } }, ProgressChanged = e => { SendMessageToStatusBar?.Invoke(this, new StatusBarMessageEventArgs(e.ProgressPercentage, e.UserState.ToString())); }, PostWorkCallBack = e => { // reload the list of templates LoadDocumentTemplates(); }, IsCancelable = true, MessageWidth = 340, MessageHeight = 150 }); }
public async Task <int> DoGroupActionAsync(ItemCategoryLookupView toVeiwEntity, BulkAction selectedAction) { if (selectedAction == BulkAction.AllowWooSync) { toVeiwEntity.CanUpdateWooMap = true; } else if (selectedAction == BulkAction.DisallowWooSync) { toVeiwEntity.CanUpdateWooMap = false; } return(await UpdateWooCategoryMap(toVeiwEntity)); }
public virtual Task <int> DoGroupActionAsync(TEntityView toVeiwEntity, BulkAction selectedAction) { _Logger.LogError($"DoGroupActionAsync for Entity: {toVeiwEntity.ToString()} not implemented, place holder executed. Please implement."); throw new NotImplementedException(); }