예제 #1
0
        private void toDatabase_Click(object sender, EventArgs e)
        {
            Editable(false);

            _resourceGrid.Clear();

            foreach (var line in dataGridView.Rows)
            {
                var row         = (DataGridViewRow)line;
                var resourceRow = new ResourceRow
                {
                    Assembly     = row.Cells[0].Value.ToString(),
                    ResourceType = row.Cells[1].Value.ToString(),
                    ResourceName = row.Cells[2].Value.ToString()
                };

                resourceRow.Cultures.Add(dataGridView.Columns[3].Name, row.Cells[3].Value.ToString());
                resourceRow.Cultures.Add(dataGridView.Columns[4].Name, row.Cells[4].Value.ToString());
                resourceRow.Cultures.Add(dataGridView.Columns[5].Name, row.Cells[5].Value.ToString());
                resourceRow.Cultures.Add(dataGridView.Columns[6].Name, row.Cells[6].Value.ToString());

                _resourceGrid.Add(resourceRow);
            }

            _resourceGrid.Save();

            Editable(true);

            MessageBox.Show("Resources saved.", "Save eneded");
        }
예제 #2
0
        private void LoadFromResX()
        {
            _resourceGrid = new ResourceGrid();

            List <AssemblyName> assemblyNames = ResxReader.GetAssemblyNamesStartingBy("InterwayDocs");

            Dictionary <AssemblyName, List <string> > assemblyResourceTypes =
                ResxReader.GetResourceTypesForStrings(assemblyNames);

            foreach (KeyValuePair <AssemblyName, List <string> > assemblyResourceType in assemblyResourceTypes)
            {
                foreach (string value in assemblyResourceType.Value)
                {
                    ResxReader resxReader =
                        new ResxReader(System.Reflection.Assembly.Load(assemblyResourceType.Key), value);
                    List <CultureInfo> cultureInfos = resxReader.GetCultureInfos();
                    Dictionary <CultureInfo, Dictionary <string, string> > resources =
                        resxReader.GetResourcesByLanguage(cultureInfos);

                    foreach (KeyValuePair <CultureInfo, Dictionary <string, string> > resource in resources)
                    {
                        foreach (KeyValuePair <string, string> stringResource in resource.Value)
                        {
                            ResourceRow resourceRow =
                                _resourceGrid.GetResourceRow(assemblyResourceType.Key.Name, value, stringResource.Key);

                            resourceRow.Cultures[resource.Key.Name] = stringResource.Value;
                        }
                    }
                }
            }
        }