예제 #1
0
        private IEnumerable <IResult> InnerUpload(BatchMode mode)
        {
            if (!CanUpload)
            {
                yield break;
            }

            var haveOrders = Address.ActiveOrders().Any();

            if (haveOrders && !Confirm("После успешной отправки дефектуры будут заморожены текущие заказы.\r\n" +
                                       "Продолжить?"))
            {
                yield break;
            }

            var dialog = new OpenFileResult();

            //если установить директорию на не существующем диске диалог не будет отображен
            if (Directory.Exists(lastUsedDir))
            {
                dialog.Dialog.InitialDirectory = lastUsedDir;
            }
            yield return(dialog);

            lastUsedDir = Path.GetDirectoryName(dialog.Dialog.FileName) ?? lastUsedDir;
            foreach (var result in Shell.Batch(dialog.Dialog.FileName, mode))
            {
                yield return(result);
            }
        }