public async Task <ActionResult <ArquivoRedeViewModel> > GetArquivoRedeBayesiana(int id) { ArquivoRedeViewModel arquivoRedeViewModel = new ArquivoRedeViewModel(); ArquivoRedeService arquivoRedeService = new ArquivoRedeService(_context); var arquivoRedeBayesiana = await _context.ArquivosRedeBayesiana.FindAsync(id); if (arquivoRedeBayesiana == null) { return(NotFound()); } arquivoRedeViewModel.NomeRede = arquivoRedeBayesiana.NomeRede; arquivoRedeViewModel.Descricao = arquivoRedeBayesiana.Descricao; arquivoRedeViewModel.RedeBayesianaJson = await arquivoRedeService.GetRedeBayesiana(arquivoRedeBayesiana); return(arquivoRedeViewModel); }
public async Task <IActionResult> Create(IFormFile file, string nomeRede, string descricaoRede) { var result = string.Empty; using (var reader = new StreamReader(file.OpenReadStream())) { result = reader.ReadToEnd(); } ArquivoRedeViewModel arquivoRede = new ArquivoRedeViewModel(); arquivoRede.RedeBayesianaJson = JsonConvert.DeserializeObject <FileBayesianNetwork>(result); arquivoRede.Descricao = descricaoRede; arquivoRede.NomeRede = nomeRede; ArquivoRedeService arquivoRedeService = new ArquivoRedeService(_context); ArquivoRedeBayesiana arq = await arquivoRedeService.AddArquivoRedeBayesiana(arquivoRede); return(RedirectToAction("Details", new { id = arq.ID })); // return View(arq); }
public async Task <ArquivoRedeBayesiana> AddArquivoRedeBayesiana(ArquivoRedeViewModel arg) { ArquivoRedeBayesiana arquivoRedeBayesiana = new ArquivoRedeBayesiana(); arquivoRedeBayesiana.DataUpload = DateTime.Now; arquivoRedeBayesiana.Descricao = arg.Descricao; arquivoRedeBayesiana.NomeRede = string.IsNullOrEmpty(arg.NomeRede) ? arg.RedeBayesianaJson.Network.name : arg.NomeRede; arquivoRedeBayesiana.ArquivoJson = JsonConvert.SerializeObject(arg.RedeBayesianaJson); //Necessario salvar para obter id para usar no nome do arquivo _context.ArquivosRedeBayesiana.Add(arquivoRedeBayesiana); await _context.SaveChangesAsync(); //Atualiza nome arquivo com Id e salva novamente arquivoRedeBayesiana.NomeArquivo = DateTime.Now.ToString("yyyy_MM_dd_HH_mm_ss") + "_" + arquivoRedeBayesiana.ID.ToString("D8") + ".json"; _context.ArquivosRedeBayesiana.Update(arquivoRedeBayesiana); await _context.SaveChangesAsync(); var serializerSettings = new JsonSerializerSettings { TypeNameHandling = TypeNameHandling.Auto, ContractResolver = new CollectionAsObjectResolver(), PreserveReferencesHandling = PreserveReferencesHandling.Objects }; var serializer = JsonSerializer.Create(serializerSettings); // write to disk using (FileStream stream = new FileStream(@"RepoArquivos/" + @arquivoRedeBayesiana.NomeArquivo, FileMode.Create)) { var streamWriter = new StreamWriter(stream); var jsonWriter = new JsonTextWriter(streamWriter); serializer.Serialize(jsonWriter, arg.RedeBayesianaJson); jsonWriter.Flush(); } return(arquivoRedeBayesiana); }
public async Task <ActionResult <ArquivoRedeBayesiana> > PostArquivoRedeBayesiana(ArquivoRedeViewModel arg) { ArquivoRedeService arquivoRedeService = new ArquivoRedeService(_context); ArquivoRedeBayesiana arq = await arquivoRedeService.AddArquivoRedeBayesiana(arg); return(CreatedAtAction("GetArquivoRedeBayesiana", new { id = arq.ID }, arq)); }