예제 #1
0
        public void Update(object source, RoutedEventArgs eventArgs)
        {
            if (!ValidateUpdate())
            {
                return;
            }

            try
            {
                SetLoading(Visibility.Visible);
                var languageResources = ExcelService.Read(UpdateSelectedExcel);
                ResxService.Update(UpdateClassName, UpdateResxFolder, languageResources);

                var resxKeys  = ResxService.GetAllKeys(UpdateResxFolder);
                var excelKeys = new List <string>();
                foreach (var item in languageResources)
                {
                    excelKeys.AddRange(item.Values.Keys);
                    excelKeys = excelKeys.Distinct().ToList();
                }

                var(NotInA, NotInB) = CompareHelper.GetDifference(excelKeys, resxKeys);

                KeysNotInExcel = new ObservableCollection <string>(NotInA);
                KeysNotInResx  = new ObservableCollection <string>(NotInB);

                SetLoading(Visibility.Hidden);
            }
            catch (Exception ex)
            {
                ExceptionHandler(ex);
            }
        }
        private void scanSolution()
        {
            if (string.IsNullOrEmpty(SolutionFileName) && openSolutionFile() != true)
            {
                return;
            }

            if (string.IsNullOrEmpty(ResourceFileMask))
            {
                ResourceFileMask = DEFAULT_RESOURCE_FILE_MASK;
            }

            var service = new ResxService(getSolutionPath());

            Translations        = new ObservableCollection <Translation>(service.GetResources(ResourceFileMask, Tag));
            TranslationFileName = null;
        }
        private void updateSolution()
        {
            if (string.IsNullOrEmpty(SolutionFileName) && openSolutionFile() != true)
            {
                return;
            }

            var service = new ResxService(getSolutionPath());

            service.UpdateResources(Translations);

            // TODO: Refactor to not use MessageBox inside view model.
            MessageBox.Show(
                "Solution resources were updated successfully.",
                "Update",
                MessageBoxButton.OK,
                MessageBoxImage.Information);
        }
예제 #4
0
        public void Generate(object source, RoutedEventArgs eventArgs)
        {
            if (!ValidateGenerate())
            {
                return;
            }

            try
            {
                SetLoading(Visibility.Visible);
                var languageResources = ExcelService.Read(GenerateSelectedExcel);
                ResxService.Create(GenerateClassName, GenerateSaveFolder, languageResources);
                SetLoading(Visibility.Hidden);
            }
            catch (Exception ex)
            {
                ExceptionHandler(ex);
            }
        }
예제 #5
0
        public void Export(object source, RoutedEventArgs eventArgs)
        {
            if (!ValidateExport())
            {
                return;
            }


            try
            {
                SetLoading(Visibility.Visible);
                var excelData = ResxService.ConvertToExcelData(exportSourceFolder);
                var excelPath = Path.Combine(ExportSaveFolder, $"{ExportExcelName}.xlsx");
                ExcelService.Export(excelData, excelPath);
                SetLoading(Visibility.Hidden);
            }
            catch (Exception ex)
            {
                ExceptionHandler(ex);
            }
        }
        private void syncSolutionResources()
        {
            if (string.IsNullOrEmpty(SolutionFileName) && openSolutionFile() != true)
            {
                return;
            }

            var service = new ResxService(getSolutionPath());
            var log     = service.SyncResources(Tag);

            // TODO: Refactor to not use MessageBox inside view model.
            var result = MessageBox.Show(
                "Solution resources were synchronized successfully. Do you want to see the log?",
                "Synchronization",
                MessageBoxButton.YesNo,
                MessageBoxImage.Question);

            if (result == MessageBoxResult.Yes)
            {
                var tempFileName = Path.Combine(Path.GetTempPath(), DateTime.Now.ToString("yyMMddHHmmss") + "_Sync.txt");
                File.WriteAllText(tempFileName, log);
                Process.Start(tempFileName);
            }
        }
예제 #7
0
        public Response <VideoUploadResponseBody> VideoUpload([FromForm] VideoUploadRequestBody requestBody)
        {
            Request <VideoUploadRequestBody> request = base.GetDefaultRequest(requestBody.Token, requestBody);

            return(ResxService.VideoUpload(request));
        }
예제 #8
0
        public Response <ImageUploadResponseBody> ImageUpload([FromForm] ImageUploadRequestBody requestBody)
        {
            Request <ImageUploadRequestBody> request = base.GetDefaultRequest(requestBody.Token, requestBody);

            return(ResxService.ImageUpload(request));
        }