public void SalvarModelo(Modelo modeloSave) { string m_Directory = BaseDirectoryModelo + @"\" + modeloSave.Id; Directory.CreateDirectory(m_Directory); using (StreamWriter sw = new StreamWriter(m_Directory + @"\modelo_" + modeloSave.Id + ".json")) using (JsonWriter writer = new JsonTextWriter(sw)) { writer.Formatting = Formatting.Indented; Serializer.Serialize(writer, modeloSave); } if (Modelos.Any(entry => entry.Id == modeloSave.Id)) { var oldModelo = Modelos.FirstOrDefault(entry => entry.Id == modeloSave.Id); Modelos.Remove(oldModelo); } Modelos.Add(modeloSave); }
/// <summary> /// Obtém todos os modelos de lançamentos que não estão cadastrados /// </summary> private void LancamentosModelos() { var lancamentosModelo = Lancamentos.Where(entry => !Modelos.Any(x => x.Id == entry.Modelo.Id)).GroupBy(x => x.Modelo.Id).ToList(); if (lancamentosModelo.Count == 0) { return; } MessageBoxResult result = MessageBox.Show("Você possui " + lancamentosModelo.Count + " modelos sem cadastro.\n\rDeseja cadastrá-los ?", "Atenção", MessageBoxButton.YesNo, MessageBoxImage.Question); if (result == MessageBoxResult.No) { return; } foreach (var lancamentoModelo in lancamentosModelo) { SalvarModelo(Lancamentos.FirstOrDefault(entry => entry.Modelo.Id == lancamentoModelo.Key).Modelo); } }