private void LstDriverStoreEntries_ItemChecked(object sender, ItemCheckedEventArgs e)
        {
            IList checkedObjects = this.lstDriverStoreEntries.CheckedObjects;

            if (checkedObjects?.Count > 0)
            {
                long totalSize = 0;

                foreach (DriverStoreEntry item in checkedObjects)
                {
                    totalSize += item.DriverSize;
                }

                this.ShowStatus(
                    Status.Normal,
                    string.Format(Language.Status_Selected_Drivers, checkedObjects.Count, DriverStoreEntry.GetBytesReadable(totalSize)));
            }
            else
            {
                this.ShowStatus(Status.Normal, Language.Status_No_Drivers_Selected);
            }
        }
        private void UpdateCheckedItemSize()
        {
            IList checkedObjects = this.lstDriverStoreEntries.CheckedObjects;

            if (checkedObjects?.Count > 0)
            {
                long totalSize = 0;

                foreach (DriverStoreEntry item in checkedObjects)
                {
                    totalSize += item.DriverSize;
                }

                this.ShowStatus(
                    Status.Normal,
                    string.Format(Language.Status_Selected_Drivers, checkedObjects.Count, DriverStoreEntry.GetBytesReadable(totalSize)));
            }
            else
            {
                this.ShowStatus(Status.Normal, Language.Status_No_Drivers_Selected);
            }

            this.buttonDeleteDriver.Enabled = this.lstDriverStoreEntries.CheckedObjects.Count > 0;
            this.cbForceDeletion.Enabled    = this.buttonDeleteDriver.Enabled;
        }
Exemple #3
0
        private void LstDriverStoreEntries_ItemChecked(object sender, ItemCheckedEventArgs e)
        {
            IList checkedObjects = this.lstDriverStoreEntries.CheckedObjects;

            if (checkedObjects?.Count > 0)
            {
                long totalSize = 0;

                foreach (DriverStoreEntry item in checkedObjects)
                {
                    totalSize += item.DriverSize;
                }

                this.ShowStatus($"Selected {checkedObjects.Count} Driver(s). Total size: {DriverStoreEntry.GetBytesReadable(totalSize)}.", Status.Normal);
            }
            else
            {
                this.ShowStatus($"Selected 0 Driver.", Status.Normal);
            }
        }
Exemple #4
0
        private void UpdateCheckedItemSize()
        {
            IList checkedObjects = this.lstDriverStoreEntries.CheckedObjects;

            if (checkedObjects?.Count > 0)
            {
                long          totalSize  = 0;
                List <string> driverList = new List <string>();

                foreach (DriverStoreEntry item in checkedObjects)
                {
                    totalSize += item.DriverSize;
                    driverList.Add($"{item.DriverPublishedName} - {item.DriverFolderName} - {DriverStoreEntry.GetBytesReadable(item.DriverSize)}");
                }

                string message = string.Format(Language.Status_Selected_Drivers, checkedObjects.Count, DriverStoreEntry.GetBytesReadable(totalSize));
                this.ShowStatus(
                    Status.Normal,
                    message,
                    message + Environment.NewLine + string.Join(Environment.NewLine, driverList));
            }
            else
            {
                this.ShowStatus(Status.Normal, Language.Status_No_Drivers_Selected);
            }

            this.buttonDeleteDriver.Enabled = this.lstDriverStoreEntries.CheckedObjects.Count > 0;
            this.cbForceDeletion.Enabled    = this.buttonDeleteDriver.Enabled;
        }
Exemple #5
0
        private async Task DeleteDriverStorePackages(List <DriverStoreEntry> driverStoreEntries)
        {
            StringBuilder details = new StringBuilder();

            foreach (DriverStoreEntry item in driverStoreEntries)
            {
                details.AppendLine($"{item.DriverPublishedName} - {item.DriverFolderName} - {DriverStoreEntry.GetBytesReadable(item.DriverSize)}");
            }

            bool force = this.cbForceDeletion.Checked;

            try
            {
                this.StartOperation();

                this.ShowStatus(
                    Status.Normal,
                    Language.Status_Deleting_Packages,
                    $"{Language.Status_Deleting_Packages}{Environment.NewLine}{details.ToString().Trim()}");

                (bool allSucceeded, string detailResult, List <DriverStoreEntry> allDriverStoreEntries) = await Task.Run(() =>
                {
                    bool totalResult = true;
                    StringBuilder sb = new StringBuilder();

                    if (driverStoreEntries.Count == 1)
                    {
                        totalResult = this.driverStore.DeleteDriver(driverStoreEntries[0], force);
                    }
                    else
                    {
                        foreach (DriverStoreEntry entry in driverStoreEntries)
                        {
                            bool succeeded   = this.driverStore.DeleteDriver(entry, force);
                            string resultTxt = string.Format(
                                succeeded ? Language.Message_Delete_Success : Language.Message_Delete_Fail,
                                entry.DriverPublishedName,
                                entry.DriverFolderName);

                            Trace.TraceInformation(resultTxt);

                            sb.AppendLine(resultTxt);
                            totalResult &= succeeded;
                        }
                    }

                    var updatedDriverStoreEntries = totalResult
                        ? new List <DriverStoreEntry>()
                        : this.driverStore.EnumeratePackages();

                    return(totalResult, sb.ToString(), updatedDriverStoreEntries);
                }).ConfigureAwait(true);

                if (allSucceeded)
                {
                    this.lstDriverStoreEntries.RemoveObjects(driverStoreEntries);
                }
                else
                {
                    this.lstDriverStoreEntries.SetObjects(allDriverStoreEntries);
                    this.UpdateColumnSize();
                }

                string resultText;
                if (allSucceeded)
                {
                    if (driverStoreEntries.Count == 1)
                    {
                        resultText = string.Format(
                            Language.Message_Delete_Package,
                            driverStoreEntries[0].DriverInfName,
                            driverStoreEntries[0].DriverPublishedName);
                    }
                    else
                    {
                        resultText = string.Format(
                            Language.Message_Delete_Packages,
                            driverStoreEntries.Count.ToString());
                    }

                    this.ShowStatus(Status.Success, resultText);
                }
                else
                {
                    string fullResult = null;

                    if (driverStoreEntries.Count == 1)
                    {
                        resultText = string.Format(
                            Language.Message_Delete_Package_Error,
                            driverStoreEntries[0].DriverInfName,
                            driverStoreEntries[0].DriverPublishedName);

                        if (!force)
                        {
                            resultText += Environment.NewLine + Language.Tip_Driver_In_Use;
                        }
                    }
                    else
                    {
                        resultText = Language.Message_Delete_Packages_Error;

                        if (!force)
                        {
                            resultText += Environment.NewLine + Language.Tip_Driver_In_Use;
                        }

                        fullResult = $"{resultText}{Environment.NewLine}{detailResult}";
                    }

                    this.ShowStatus(Status.Error, resultText, fullResult, true);
                }

                this.cbForceDeletion.Checked = false;
            }
            catch (Exception ex)
            {
                this.ShowStatus(Status.Error, ex.Message, ex.ToString(), true);
            }
            finally
            {
                this.EndOperation();
            }
        }
Exemple #6
0
        private async Task DeleteDriverStoreEntries(List <DriverStoreEntry> driverStoreEntries)
        {
            StringBuilder msgWarning = new StringBuilder();

            if (driverStoreEntries?.Count > 0)
            {
                if (driverStoreEntries.Count == 1)
                {
                    msgWarning.AppendFormat(
                        this.cbForceDeletion.Checked ? Language.Message_ForceDelete_Single_Package : Language.Message_Delete_Single_Package,
                        driverStoreEntries[0].DriverPublishedName,
                        driverStoreEntries[0].DriverFolderName);
                }
                else
                {
                    msgWarning.AppendFormat(
                        this.cbForceDeletion.Checked ? Language.Message_ForceDelete_Multiple_Packages : Language.Message_Delete_Multiple_Packages,
                        driverStoreEntries.Count);

                    msgWarning.AppendLine();

                    foreach (DriverStoreEntry item in driverStoreEntries)
                    {
                        msgWarning.AppendLine($"{item.DriverPublishedName} - {item.DriverFolderName} - {DriverStoreEntry.GetBytesReadable(item.DriverSize)}");
                    }
                }

                msgWarning.AppendLine().Append(Language.Message_Sure);

                if (DialogResult.OK == this.ShowMessageBox(
                        msgWarning.ToString(),
                        Language.Message_Title_Warning,
                        MessageBoxButtons.OKCancel,
                        MessageBoxIcon.Warning))
                {
                    await this.DeleteDriverStorePackages(driverStoreEntries).ConfigureAwait(true);
                }
            }
        }