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"); }
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; } } } } }