public ActionResult SalvarArquivos(int id, string tipo) { try { foreach (string fileName in Request.Files) { HttpPostedFileBase file = Request.Files[fileName]; Arquivo arquivo = new Arquivo(); if (file != null) { var path = Path.Combine(@Server.MapPath(@"~\Files\Clientes"), string.Format("c_{0}_{1}", id, file.FileName)); if (!System.IO.File.Exists(path)) { file.SaveAs(path); arquivo.Path = path; arquivo.OriginalName = file.FileName; db.Arquivos.Add(arquivo); db.SaveChanges(); AtendimentoArquivo atendimentoarquivo = new AtendimentoArquivo(); atendimentoarquivo.AtendimentoId = id; atendimentoarquivo.Tipo = tipo; atendimentoarquivo.ArquivoId = arquivo.Id; db.AtendimentoArquivo.Add(atendimentoarquivo); db.SaveChanges(); } } } } catch (Exception e) { DebugLog.Logar(e.StackTrace); return(Json("Erro ao salvar arquivos!")); } return(Json("Arquivos salvos com sucesso!")); }
public ActionResult Create([Bind(Include = "Id,Date,Hora,Minuto,EspecialidadeId,EspecialistaId," + "PacienteId,Observacao,ValorPago,FormaPagamentoId,Tratamento")] ConsultaViewModel consultaViewModel, [Bind(Include = "Cpf,Nome,DataNascimento")] Paciente formPaciente, string cidade, string bairro, string rua, string numero, string telefone, HttpPostedFileBase file) { if (ModelState.IsValid) { using (var transaction = db.Database.BeginTransaction()) { string path = ""; try { var paciente = db.Pacientes.Where(x => x.Cpf == formPaciente.Cpf).FirstOrDefault(); if (paciente == null || string.IsNullOrEmpty(formPaciente.Cpf)) { var lvtelefone = new Telefone(); lvtelefone.Numero = telefone; db.Telefones.Add(lvtelefone); db.SaveChanges(); var endereco = new Endereco(); endereco.Cidade = cidade; endereco.Bairro = bairro; endereco.Rua = rua; endereco.Numero = numero; db.Enderecos.Add(endereco); db.SaveChanges(); paciente = new Paciente(); paciente.Nome = formPaciente.Nome; paciente.DataNascimento = formPaciente.DataNascimento; paciente.DataCadastro = DateTime.Now; paciente.Cpf = formPaciente.Cpf; paciente.TelefoneId = lvtelefone.Id; paciente.EnderecoId = endereco.Id; db.Pacientes.Add(paciente); db.SaveChanges(); } Arquivo arquivo = new Arquivo(); arquivo.OriginalName = ""; arquivo.Path = "#"; db.Arquivos.Add(arquivo); db.SaveChanges(); var consulta = new Consulta(); consulta.Date = consultaViewModel.Date; consulta.Hora = consultaViewModel.Hora; consulta.Minuto = consultaViewModel.Minuto; consulta.EspecialidadeId = consultaViewModel.EspecialidadeId; consulta.EspecialistaId = consultaViewModel.EspecialistaId; consulta.PacienteId = paciente.Id; consulta.Observacao = consultaViewModel.Observacao; consulta.ValorPago = consultaViewModel.ValorPago; consulta.ArquivoId = arquivo.Id; consulta.AtendimentoRealizado = false; consulta.Tratamento = consultaViewModel.Tratamento; db.Consultas.Add(consulta); db.SaveChanges(); var atendimentoArquivo = new AtendimentoArquivo(); atendimentoArquivo.ArquivoId = arquivo.Id; atendimentoArquivo.Tipo = "Consulta"; atendimentoArquivo.AtendimentoId = consulta.Id; db.AtendimentoArquivo.Add(atendimentoArquivo); db.SaveChanges(); if (file != null) { path = Path.Combine(@Server.MapPath(@"~\Files\Clientes"), string.Format("c_{0}_{1}", consulta.Id, file.FileName)); file.SaveAs(path); arquivo.Path = path; arquivo.OriginalName = file.FileName; } if (consultaViewModel.FormaPagamentoId != -1) { db.PagamentosConsultas.Add(new PagamentoConsulta() { ConsultaId = consulta.Id, FormaPagamentoId = consultaViewModel.FormaPagamentoId }); } db.SaveChanges(); transaction.Commit(); } catch (Exception e) { DebugLog.Logar(e.Message); DebugLog.Logar(e.StackTrace); DebugLog.Logar(Utility.Details(e)); if (System.IO.File.Exists(path)) { System.IO.File.Delete(path); } transaction.Rollback(); } } return(RedirectToAction("Index")); } var paymentWays = db.FormasPagamento.ToList(); paymentWays.Insert(0, new FormaPagamento() { Id = -1, Nome = "-" }); ViewBag.EspecialidadeId = new SelectList(db.Especialidades, "Id", "Nome", consultaViewModel.EspecialidadeId); ViewBag.EspecialistaId = new SelectList(db.Especialistas, "Id", "Nome", consultaViewModel.EspecialistaId); ViewBag.FormaPagamentoId = new SelectList(paymentWays, "Id", "Nome", consultaViewModel.FormaPagamentoId); ViewBag.PacienteId = new SelectList(db.Pacientes, "Id", "Nome", consultaViewModel.PacienteId); ViewBag.Hora = GetListHour(); ViewBag.Minuto = GetListMinute(); return(View(consultaViewModel)); }