Esempio n. 1
0
        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));
 }
Esempio n. 3
0
        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 }));
        }
Esempio n. 4
0
        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));
            }
        }
Esempio n. 5
0
        /// <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
            });
        }
Esempio n. 6
0
 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));
 }
Esempio n. 7
0
 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();
 }