public ObjectResult Post([FromForm] WebAPIEvent apiEvent) { var newEvent = (CitaOdontologica)apiEvent; var i = (ClaimsIdentity)User.Identity; Int64 maxCodigo = 0; maxCodigo = Convert.ToInt64(_context.CitaOdontologica.Max(f => f.Codigo)); maxCodigo += 1; newEvent.Codigo = maxCodigo.ToString("D8"); newEvent.CodigoPaciente = apiEvent.paciente; newEvent.CodigoPersonal = apiEvent.doctor; newEvent.FechaCreacion = Funciones.ObtenerFechaActual("SA Pacific Standard Time"); newEvent.Observaciones = apiEvent.observaciones; newEvent.FechaInicio = Convert.ToDateTime(apiEvent.start_date); newEvent.FechaFin = Convert.ToDateTime(apiEvent.end_date); //Convert.ToDateTime(apiEvent.end_date); newEvent.HoraInicio = new TimeSpan(newEvent.FechaInicio.Hour, newEvent.FechaInicio.Minute, newEvent.FechaInicio.Second); newEvent.HoraFin = new TimeSpan(newEvent.FechaFin.Hour, newEvent.FechaFin.Minute, newEvent.FechaFin.Second); newEvent.Estado = "C"; newEvent.UsuarioCreacion = i.Name; newEvent.RegistroRecetaMedica = false; _context.CitaOdontologica.Add(newEvent); _context.SaveChanges(); //enviar el mail PlantillaCorreoElectronico correo = new PlantillaCorreoElectronico(); correo = _context.PlantillaCorreoElectronico.SingleOrDefault(p => p.Asunto.Contains("Cita")); var paciente = _context.Paciente.Where(p => p.Codigo == apiEvent.paciente).FirstOrDefault(); var doctor = _context.Personal.Where(d => d.Codigo == apiEvent.doctor).FirstOrDefault(); var soloFecha = (newEvent.FechaInicio.ToString("dd/MM/yyyy")); ///Convert.ToDateTime(newEvent.FechaInicio.ToString("dd/MM/yyyy")); //var fechaLarga = soloFecha.ToLongDateString(); var hora = newEvent.FechaInicio.ToString("HH:mm"); // newEvent.FechaInicio.TimeOfDay.ToString();//newEvent.FechaInicio.Hour.ToString() + ":" + newEvent.FechaInicio.Minute.ToString();//newEvent.FechaInicio.ToString("hh:mm"); //envio del email string cuerpo = FuncionesEmail.AsuntoCitaOdontologica(correo.Cuerpo, paciente.NombreCompleto, soloFecha, hora, doctor.NombreCompleto); var correoMensaje = FuncionesEmail.EnviarEmail(_emailSender, paciente.MailEpn + ',' + paciente.MailPersonal, correo.Asunto, cuerpo); return(Ok(new { tid = newEvent.Codigo, action = "inserted" })); }
public async Task <IActionResult> Edit(Diagnostico diagnostico) { var i = (ClaimsIdentity)User.Identity; List <SelectListItem> Cie10 = new SelectList(_context.Cie10.OrderBy(f => f.CodigoInterno), "Codigo", "CodigoNombre", diagnostico.CodigoDiagnosticoCie10).ToList(); List <SelectListItem> Personal = new SelectList(_context.Personal.OrderBy(c => c.NombreCompleto).Where(c => c.Estado == true), "Codigo", "NombreCompleto", diagnostico.CodigoPersonal).ToList(); List <SelectListItem> Paciente = new SelectList(_context.Paciente.OrderBy(p => p.NombreCompleto).Where(p => p.Estado == true), "Codigo", "NombreCompleto", diagnostico.CodigoPaciente).ToList(); if (i.IsAuthenticated) { try { if (ModelState.IsValid) { try { var transaction = _context.Database.BeginTransaction(); //actualizar tipocomprobante diagnostico.Codigo = Encriptacion.Decrypt(diagnostico.Codigo); Diagnostico diagnosticoAntiguo = _context.Diagnostico.SingleOrDefault(p => p.Codigo == diagnostico.Codigo); diagnosticoAntiguo.Codigo = diagnostico.Codigo; diagnosticoAntiguo.CodigoCitaOdontologica = diagnostico.CodigoCitaOdontologica; diagnosticoAntiguo.Fecha = Funciones.ObtenerFechaActual("SA Pacific Standard Time"); diagnosticoAntiguo.Pieza = diagnostico.Pieza; diagnosticoAntiguo.Observacion = diagnostico.Observacion; diagnosticoAntiguo.Firma = diagnostico.Firma; diagnosticoAntiguo.Recomendacion = diagnostico.Recomendacion; var diagnosticoCie10 = _context.DiagnosticoCie10.Where(a => a.CodigoDiagnostico == diagnostico.Codigo).ToList(); foreach (var item in diagnosticoCie10) { _context.DiagnosticoCie10.Remove(item); } _context.SaveChanges(); //guardar AnamenesisEnefermedad Int64 maxCodigoAe = 0; maxCodigoAe = Convert.ToInt64(_context.DiagnosticoCie10.Max(f => f.Codigo)); DiagnosticoCie10 diagCie10 = new DiagnosticoCie10(); maxCodigoAe += 1; diagCie10.Codigo = maxCodigoAe.ToString("D8"); diagCie10.CodigoDiagnostico = diagnostico.Codigo; diagCie10.CodigoCie10 = diagnostico.CodigoDiagnosticoCie10; _context.DiagnosticoCie10.Add(diagCie10); //foreach (var diag in diagnostico.DiagnosticoCie10) //{ // if (diag.Seleccionado) // { // DiagnosticoCie10 diagCie10 = new DiagnosticoCie10(); // maxCodigoAe += 1; // diagCie10.Codigo = maxCodigoAe.ToString("D8"); // //diagCie10.CodigoDiagnostico = null; // diagCie10.CodigoDiagnostico = diagnostico.Codigo; // diagCie10.CodigoCie10 = diag.Cie10.Codigo; // _context.DiagnosticoCie10.Add(diagCie10); // } //} _context.Update(diagnosticoAntiguo); _context.SaveChanges(); transaction.Commit(); await _auditoria.GuardarLogAuditoria(diagnosticoAntiguo.Fecha, i.Name, "Diagnostico", diagnostico.Codigo, "U"); ViewBag.Message = "Save"; Cie10.Insert(0, vacio); ViewData["CIE10"] = Cie10; Personal.Insert(0, vacio); ViewData["CodigoPersonal"] = Personal; Paciente.Insert(0, vacio); ViewData["CodigoPaciente"] = Paciente; return(View(diagnostico)); } catch (DbUpdateConcurrencyException) { throw; } } Cie10.Insert(0, vacio); ViewData["CIE10"] = Cie10; Personal.Insert(0, vacio); ViewData["CodigoPersonal"] = Personal; Paciente.Insert(0, vacio); ViewData["CodigoPaciente"] = Paciente; return(View(diagnostico)); } catch (Exception e) { string mensaje = e.Message; if (e.InnerException != null) { mensaje = MensajesError.UniqueKey(e.InnerException.Message); } ViewBag.Message = mensaje; Cie10.Insert(0, vacio); ViewData["CIE10"] = Cie10; Personal.Insert(0, vacio); ViewData["CodigoPersonal"] = Personal; Paciente.Insert(0, vacio); ViewData["CodigoPaciente"] = Paciente; return(View(diagnostico)); } } else { return(Redirect("../Identity/Account/Login")); } }
public async Task <IActionResult> Edit(CitaOdontologica citaOdontologica, List <string> enfermedades) { var i = (ClaimsIdentity)User.Identity; var transaction = _context.Database.BeginTransaction(); DateTime fecha1 = Convert.ToDateTime("29/04/2020"); var fechaC = Funciones.ObtenerFecha(fecha1, "SA Pacific Standard Time"); var fechaU = Funciones.ObtenerFecha(Convert.ToDateTime(citaOdontologica.UltimaVisitaOdontologo), "SA Pacific Standard Time"); if (i.IsAuthenticated) { try { if (citaOdontologica.UltimaVisitaOdontologo >= Funciones.ObtenerFechaActual("SA Pacific Standard Time").Date) { var mensajeR = "La fecha debe ser menor a la actual."; if (!string.IsNullOrEmpty(mensajeR)) { ModelState.AddModelError("UltimaVisitaOdontologo", mensajeR); } } if (!String.IsNullOrEmpty(citaOdontologica.DescripcionReceta)) { if (String.IsNullOrEmpty(citaOdontologica.Indicaciones)) { var mensajeR = "Debe llenar las indicaciones para los medicamentos"; if (!string.IsNullOrEmpty(mensajeR)) { ModelState.AddModelError("Indicaciones", mensajeR); } } } if (!String.IsNullOrEmpty(citaOdontologica.Indicaciones)) { if (String.IsNullOrEmpty(citaOdontologica.DescripcionReceta)) { var mensajeR = "Debe llenar los medicamentos"; if (!string.IsNullOrEmpty(mensajeR)) { ModelState.AddModelError("DescripcionReceta", mensajeR); } } } if (ModelState.IsValid) { //guardar los imagenes de las firmas String FirmaConsentimiento = string.Empty; String FirmaDiagnostico = string.Empty; if (citaOdontologica.FirmaC != null) { if (GetMimeTypes().SingleOrDefault(p => p.Value == citaOdontologica.FirmaC.ContentType && p.Key == "." + citaOdontologica.FirmaC.FileName.Split(".")[citaOdontologica.FirmaC.FileName.Split(".").Count() - 1]).Value != null) { FirmaConsentimiento = UploadFile(citaOdontologica.FirmaC, Encriptacion.Decrypt(citaOdontologica.Codigo), citaOdontologica.Identificacion, "CI"); } else { citaOdontologica.FirmaC = null; ViewData["ExtensionArchivo"] = "Extensión del documento incorrecto"; } } if (citaOdontologica.FirmaD != null) { if (GetMimeTypes().SingleOrDefault(p => p.Value == citaOdontologica.FirmaD.ContentType && p.Key == "." + citaOdontologica.FirmaC.FileName.Split(".")[citaOdontologica.FirmaC.FileName.Split(".").Count() - 1]).Value != null) { FirmaDiagnostico = UploadFile(citaOdontologica.FirmaD, Encriptacion.Decrypt(citaOdontologica.Codigo), citaOdontologica.Identificacion, "DG"); } else { citaOdontologica.FirmaC = null; ViewData["ExtensionArchivo"] = "Extensión del documento incorrecto"; } } DateTime fecha = Funciones.ObtenerFechaActual("SA Pacific Standard Time"); citaOdontologica.Codigo = Encriptacion.Decrypt(citaOdontologica.Codigo); //anamnesis Anamnesis anamnesis = new Anamnesis(); Int64 maxCodigoAnamnesis = 0; maxCodigoAnamnesis = Convert.ToInt64(_context.Anamnesis.Max(f => f.Codigo)); maxCodigoAnamnesis += 1; anamnesis.Codigo = maxCodigoAnamnesis.ToString("D8"); anamnesis.CodigoCitaOdontologica = citaOdontologica.Codigo; anamnesis.MotivoConsulta = citaOdontologica.MotivoConsulta; anamnesis.EnfermedadActual = citaOdontologica.EnfermedadActual; anamnesis.Alerta = citaOdontologica.Alerta; anamnesis.Alergico = citaOdontologica.Alergico; anamnesis.AntecedentesQuirurgicos = citaOdontologica.AntecedentesQuirurgicos; anamnesis.Alergico = citaOdontologica.Alergico; anamnesis.Medicamentos = citaOdontologica.Medicamentos; anamnesis.Habitos = citaOdontologica.Habitos; anamnesis.AntecedentesFamiliares = citaOdontologica.AntecedentesFamiliares; anamnesis.Fuma = citaOdontologica.Fuma; anamnesis.Embarazada = citaOdontologica.Embarazada; anamnesis.UltimaVisitaOdontologo = citaOdontologica.UltimaVisitaOdontologo; anamnesis.Endocrino = citaOdontologica.Endocrino; anamnesis.Traumatologico = citaOdontologica.Traumatologico; anamnesis.Fecha = fecha; _context.Anamnesis.Add(anamnesis); var anamnesisEnf = _context.AnamnesisEnfermedad.Where(a => a.CodigoAnamnesis == anamnesis.Codigo).ToList(); foreach (var item in anamnesisEnf) { _context.AnamnesisEnfermedad.Remove(item); } _context.SaveChanges(); //guardar AnamenesisEnefermedad Int64 maxCodigoAe = 0; maxCodigoAe = Convert.ToInt64(_context.AnamnesisEnfermedad.Max(f => f.Codigo)); foreach (var enf in enfermedades) { AnamnesisEnfermedad anamnesisEnfermedad = new AnamnesisEnfermedad(); maxCodigoAe += 1; anamnesisEnfermedad.Codigo = maxCodigoAe.ToString("D8"); anamnesisEnfermedad.CodigoAnamnesis = anamnesis.Codigo; anamnesisEnfermedad.CodigoEnfermedad = enf; _context.AnamnesisEnfermedad.Add(anamnesisEnfermedad); } _context.SaveChanges(); //diagnostico Diagnostico diagnostico = new Diagnostico(); Int64 maxCodigoDiag = 0; maxCodigoDiag = Convert.ToInt64(_context.Diagnostico.Max(f => f.Codigo)); maxCodigoDiag += 1; diagnostico.Codigo = maxCodigoDiag.ToString("D8"); diagnostico.CodigoCitaOdontologica = citaOdontologica.Codigo; diagnostico.Fecha = fecha; diagnostico.Pieza = citaOdontologica.Pieza; diagnostico.Observacion = citaOdontologica.Observacion; diagnostico.Firma = FirmaDiagnostico; diagnostico.Acuerdo = true; diagnostico.Recomendacion = citaOdontologica.Recomendacion; _context.Diagnostico.Add(diagnostico); var diagnosticoCie10 = _context.DiagnosticoCie10.Where(a => a.CodigoDiagnostico == diagnostico.Codigo).ToList(); foreach (var item in diagnosticoCie10) { _context.DiagnosticoCie10.Remove(item); } _context.SaveChanges(); //guardar diagnosticoCie10 Int64 maxCodigoCie = 0; maxCodigoCie = Convert.ToInt64(_context.DiagnosticoCie10.Max(f => f.Codigo)); maxCodigoCie += 1; DiagnosticoCie10 diagCie10 = new DiagnosticoCie10(); diagCie10.Codigo = maxCodigoCie.ToString("D8"); diagCie10.CodigoDiagnostico = diagnostico.Codigo; diagCie10.CodigoCie10 = citaOdontologica.CodigoDiagnosticoCie10; _context.DiagnosticoCie10.Add(diagCie10); _context.SaveChanges(); //consentimiento informado ConsentimientoInformado consentimientoInformado = new ConsentimientoInformado(); Int64 maxCodigoCi = 0; maxCodigoCi = Convert.ToInt64(_context.ConsentimientoInformado.Max(f => f.Codigo)); maxCodigoCi += 1; consentimientoInformado.Codigo = maxCodigoCi.ToString("D8"); consentimientoInformado.CodigoCitaOdontologica = citaOdontologica.Codigo; consentimientoInformado.Descripcion = citaOdontologica.Descripcion; consentimientoInformado.Firma = FirmaConsentimiento; //citaOdontologica.FirmaConcentimiento; consentimientoInformado.Acuerdo = true; //citaOdontologica.AcuerdoConsentimiento; consentimientoInformado.Fecha = fecha; _context.Add(consentimientoInformado); _context.SaveChanges(); var codigoReceta = ""; Boolean registroReceta = false; if (!((string.IsNullOrEmpty(citaOdontologica.DescripcionReceta)) && (string.IsNullOrEmpty(citaOdontologica.Indicaciones)))) { //receta medica RecetaMedica recetaMedica = new RecetaMedica(); Int64 maxCodigoR = 0; maxCodigoR = Convert.ToInt64(_context.RecetaMedica.Max(f => f.Codigo)); maxCodigoR += 1; recetaMedica.Codigo = maxCodigoR.ToString("D8"); recetaMedica.CodigoCitaOdontologica = citaOdontologica.Codigo; recetaMedica.Descripcion = citaOdontologica.DescripcionReceta; recetaMedica.Fecha = fecha; if (citaOdontologica.CodigoPlantillaRecetaMedica == "0") { recetaMedica.CodigoPlantillaRecetaMedica = null; } else { recetaMedica.CodigoPlantillaRecetaMedica = citaOdontologica.CodigoPlantillaRecetaMedica; } recetaMedica.Indicaciones = citaOdontologica.Indicaciones; codigoReceta = recetaMedica.Codigo; _context.Add(recetaMedica); _context.SaveChanges(); registroReceta = true; } CitaOdontologica citaAntigua = _context.CitaOdontologica.SingleOrDefault(p => p.Codigo == citaOdontologica.Codigo); citaAntigua.Codigo = citaOdontologica.Codigo; citaAntigua.CodigoPaciente = citaOdontologica.CodigoPaciente; citaAntigua.CodigoPersonal = citaOdontologica.CodigoPersonal; citaAntigua.FechaCreacion = citaOdontologica.FechaCreacion; citaAntigua.Observaciones = citaOdontologica.Observaciones; citaAntigua.Estado = "A"; citaAntigua.FechaInicio = citaOdontologica.FechaInicio; citaAntigua.FechaFin = citaOdontologica.FechaFin; citaAntigua.HoraInicio = citaOdontologica.HoraInicio; citaAntigua.HoraFin = citaOdontologica.HoraFin; citaAntigua.UsuarioCreacion = i.Name; citaAntigua.RegistroRecetaMedica = registroReceta; _context.Update(citaAntigua); _context.SaveChanges(); await _auditoria.GuardarLogAuditoria(fecha, i.Name, "Anamnesis", anamnesis.Codigo, "I"); await _auditoria.GuardarLogAuditoria(fecha, i.Name, "Diagnostico", diagnostico.Codigo, "I"); await _auditoria.GuardarLogAuditoria(fecha, i.Name, "ConsentmientoInformado", consentimientoInformado.Codigo, "I"); if (!string.IsNullOrEmpty(codigoReceta)) { await _auditoria.GuardarLogAuditoria(fecha, i.Name, "Receta", codigoReceta, "I"); } await _auditoria.GuardarLogAuditoria(fecha, i.Name, "CitaOdontologica", citaOdontologica.Codigo, "I"); transaction.Commit(); //cargar los datos var paciente = _context.Paciente.Where(p => p.Codigo == citaOdontologica.CodigoPaciente).Include(p => p.Facultad).Include(p => p.Carrera).SingleOrDefault(); //datos del paciente ViewData["Cedula"] = paciente.Identificacion; ViewData["Nombre"] = paciente.NombreCompleto; ViewData["Direccion"] = paciente.Direccion; ViewData["Correo"] = paciente.MailEpn; ViewData["Telefono"] = paciente.Celular; if (paciente.Facultad == null) { ViewData["Facultad"] = ""; ViewData["Carrera"] = ""; } else { ViewData["Facultad"] = paciente.Facultad.Nombre; ViewData["Carrera"] = paciente.Carrera.Nombre; } ViewData["CodigoCitaOdontologica"] = citaOdontologica.Codigo; //paciente List <SelectListItem> TipoIdentificacion = new SelectList(_context.TipoIdentificacion.OrderBy(f => f.Nombre), "Codigo", "Nombre").ToList(); ViewData["CodigoTipoIdentificacion"] = TipoIdentificacion; List <SelectListItem> Facultad = new SelectList(_context.Facultad.OrderBy(f => f.Nombre), "Codigo", "Nombre").ToList(); Facultad.Insert(0, vacio); ViewData["CodigoFacultad"] = Facultad; //anamnesis List <SelectListItem> Enfermedades = null; Enfermedades = new SelectList(_context.Enfermedad.OrderBy(c => c.Nombre).Where(c => c.Estado == true), "Codigo", "Nombre").ToList(); ViewData["AnamnesisEnfermedad"] = Enfermedades; //diagnostico List <SelectListItem> Cie10 = new SelectList(_context.Cie10.OrderBy(f => f.CodigoInterno), "Codigo", "CodigoNombre").ToList(); //.Where(f => f.Nombre.StartsWith("C")).ToList(); //QUITAR LUEGO ; Cie10.Insert(0, vacio); ViewData["CIE10"] = Cie10; //consentimiento informado var PlantillaCI = _context.PlantillaConsentimientoInformado.Where(c => c.Nombre.Contains("Consentimiento Informado")).SingleOrDefault(); ViewData["Descripcion"] = PlantillaCI.Descripcion; //receta medica List <SelectListItem> PlantillaRM = new SelectList(_context.PlantillaRecetaMedica.OrderBy(c => c.Nombre), "Codigo", "Nombre").ToList(); PlantillaRM.Insert(0, vacio); ViewData["CodigoPlantillaReceta"] = PlantillaRM; //imagen ViewBag.Message = "Save"; return(View(citaOdontologica)); } else { //cargar los datos var paciente = _context.Paciente.Where(p => p.Codigo == citaOdontologica.CodigoPaciente).Include(p => p.Facultad).Include(p => p.Carrera).SingleOrDefault(); //datos del paciente ViewData["Cedula"] = paciente.Identificacion; ViewData["Nombre"] = paciente.NombreCompleto; ViewData["Direccion"] = paciente.Direccion; ViewData["Correo"] = paciente.MailEpn; ViewData["Telefono"] = paciente.Celular; if (paciente.Facultad == null) { ViewData["Facultad"] = ""; ViewData["Carrera"] = ""; } else { ViewData["Facultad"] = paciente.Facultad.Nombre; ViewData["Carrera"] = paciente.Carrera.Nombre; } ViewData["CodigoCitaOdontologica"] = citaOdontologica.Codigo; //paciente List <SelectListItem> TipoIdentificacion = new SelectList(_context.TipoIdentificacion.OrderBy(f => f.Nombre), "Codigo", "Nombre").ToList(); ViewData["CodigoTipoIdentificacion"] = TipoIdentificacion; List <SelectListItem> Facultad = new SelectList(_context.Facultad.OrderBy(f => f.Nombre), "Codigo", "Nombre").ToList(); Facultad.Insert(0, vacio); ViewData["CodigoFacultad"] = Facultad; //anamnesis List <SelectListItem> Enfermedades = null; Enfermedades = new SelectList(_context.Enfermedad.OrderBy(c => c.Nombre).Where(c => c.Estado == true), "Codigo", "Nombre").ToList(); ViewData["AnamnesisEnfermedad"] = Enfermedades; //diagnostico List <SelectListItem> Cie10 = new SelectList(_context.Cie10.OrderBy(f => f.CodigoInterno), "Codigo", "CodigoNombre").ToList(); //.Where(f => f.Nombre.StartsWith("C")).ToList(); //QUITAR LUEGO ; Cie10.Insert(0, vacio); ViewData["CIE10"] = Cie10; //consentimiento informado var PlantillaCI = _context.PlantillaConsentimientoInformado.Where(c => c.Nombre.Contains("Consentimiento Informado")).SingleOrDefault(); ViewData["Descripcion"] = PlantillaCI.Descripcion; //receta medica List <SelectListItem> PlantillaRM = new SelectList(_context.PlantillaRecetaMedica.OrderBy(c => c.Nombre), "Codigo", "Nombre").ToList(); PlantillaRM.Insert(0, vacio); ViewData["CodigoPlantillaReceta"] = PlantillaRM; try { var odontograma = await _context.Odontograma.SingleOrDefaultAsync(f => f.CodigoCitaOdontologica == Encriptacion.Decrypt(citaOdontologica.Codigo)); _context.Odontograma.Remove(odontograma); await _context.SaveChangesAsync(); } catch (Exception e) { string mens = e.Message; ViewBag.Message = mens; } ViewBag.Message = "Debe revisar los datos de Anamnesis o Receta Medica"; return(View(citaOdontologica)); } } catch (Exception e) { string mensaje = e.Message; if (e.InnerException != null) { mensaje = MensajesError.UniqueKey(e.InnerException.Message); } ViewBag.Message = mensaje; transaction.Rollback(); //eliminar el odontograma si hay algun error //citaOdontologica.Codigo = Encriptacion.Decrypt(citaOdontologica.Codigo); var odontograma = await _context.Odontograma.SingleOrDefaultAsync(f => f.CodigoCitaOdontologica == citaOdontologica.Codigo); _context.Odontograma.Remove(odontograma); await _context.SaveChangesAsync(); //cargar los datos var paciente = _context.Paciente.Where(p => p.Codigo == citaOdontologica.CodigoPaciente).Include(p => p.Facultad).Include(p => p.Carrera).SingleOrDefault(); //datos del paciente ViewData["Cedula"] = paciente.Identificacion; ViewData["Nombre"] = paciente.NombreCompleto; ViewData["Direccion"] = paciente.Direccion; ViewData["Correo"] = paciente.MailEpn; ViewData["Telefono"] = paciente.Celular; if (paciente.Facultad == null) { ViewData["Facultad"] = ""; ViewData["Carrera"] = ""; } else { ViewData["Facultad"] = paciente.Facultad.Nombre; ViewData["Carrera"] = paciente.Carrera.Nombre; } ViewData["CodigoCitaOdontologica"] = citaOdontologica.Codigo; //paciente List <SelectListItem> TipoIdentificacion = new SelectList(_context.TipoIdentificacion.OrderBy(f => f.Nombre), "Codigo", "Nombre").ToList(); ViewData["CodigoTipoIdentificacion"] = TipoIdentificacion; List <SelectListItem> Facultad = new SelectList(_context.Facultad.OrderBy(f => f.Nombre), "Codigo", "Nombre").ToList(); Facultad.Insert(0, vacio); ViewData["CodigoFacultad"] = Facultad; //anamnesis List <SelectListItem> Enfermedades = null; Enfermedades = new SelectList(_context.Enfermedad.OrderBy(c => c.Nombre).Where(c => c.Estado == true), "Codigo", "Nombre").ToList(); ViewData["AnamnesisEnfermedad"] = Enfermedades; //diagnostico List <SelectListItem> Cie10 = new SelectList(_context.Cie10.OrderBy(f => f.CodigoInterno), "Codigo", "CodigoNombre").ToList(); //.Where(f => f.Nombre.StartsWith("C")).ToList(); //QUITAR LUEGO ; Cie10.Insert(0, vacio); ViewData["CIE10"] = Cie10; //consentimiento informado var PlantillaCI = _context.PlantillaConsentimientoInformado.Where(c => c.Nombre.Contains("Consentimiento Informado")).SingleOrDefault(); ViewData["Descripcion"] = PlantillaCI.Descripcion; //receta medica List <SelectListItem> PlantillaRM = new SelectList(_context.PlantillaRecetaMedica.OrderBy(c => c.Nombre), "Codigo", "Nombre").ToList(); PlantillaRM.Insert(0, vacio); ViewData["CodigoPlantillaReceta"] = PlantillaRM; //fin cargar datos return(View(citaOdontologica)); } } else { return(Redirect("../Identity/Account/Login")); } }
public async Task <IActionResult> Edit(Anamnesis anamnesis, List <string> enfermedades) { var i = (ClaimsIdentity)User.Identity; List <SelectListItem> Personal = new SelectList(_context.Personal.OrderBy(c => c.NombreCompleto).Where(c => c.Estado == true), "Codigo", "NombreCompleto", anamnesis.CodigoPersonal).ToList(); List <SelectListItem> Paciente = new SelectList(_context.Paciente.OrderBy(p => p.NombreCompleto).Where(p => p.Estado == true), "Codigo", "NombreCompleto", anamnesis.CodigoPaciente).ToList(); if (i.IsAuthenticated) { try { if (ModelState.IsValid) { try { var transaction = _context.Database.BeginTransaction(); //actualizar anamnesis anamnesis.Codigo = Encriptacion.Decrypt(anamnesis.Codigo); Anamnesis anamnesisAntiguo = _context.Anamnesis.SingleOrDefault(p => p.Codigo == anamnesis.Codigo); anamnesisAntiguo.Codigo = anamnesis.Codigo; anamnesisAntiguo.CodigoCitaOdontologica = anamnesis.CodigoCitaOdontologica; anamnesisAntiguo.MotivoConsulta = anamnesis.MotivoConsulta; anamnesisAntiguo.EnfermedadActual = anamnesis.EnfermedadActual; anamnesisAntiguo.Alerta = anamnesis.Alerta; anamnesisAntiguo.Alergico = anamnesis.Alergico; anamnesisAntiguo.AntecedentesQuirurgicos = anamnesis.AntecedentesQuirurgicos; anamnesisAntiguo.Alergico = anamnesis.Alergico; anamnesisAntiguo.Medicamentos = anamnesis.Medicamentos; anamnesisAntiguo.Habitos = anamnesis.Habitos; anamnesisAntiguo.AntecedentesFamiliares = anamnesis.AntecedentesFamiliares; anamnesisAntiguo.Fuma = anamnesis.Fuma; anamnesisAntiguo.Embarazada = anamnesis.Embarazada; anamnesisAntiguo.UltimaVisitaOdontologo = anamnesis.UltimaVisitaOdontologo; anamnesisAntiguo.Endocrino = anamnesis.Endocrino; anamnesisAntiguo.Traumatologico = anamnesis.Traumatologico; anamnesisAntiguo.Fecha = fecha; var anamnesisEnf = _context.AnamnesisEnfermedad.Where(a => a.CodigoAnamnesis == anamnesis.Codigo).ToList(); foreach (var item in anamnesisEnf) { _context.AnamnesisEnfermedad.Remove(item); } _context.SaveChanges(); //guardar AnamenesisEnefermedad Int64 maxCodigoAe = 0; maxCodigoAe = Convert.ToInt64(_context.AnamnesisEnfermedad.Max(f => f.Codigo)); foreach (var enf in enfermedades) { AnamnesisEnfermedad anamnesisEnfermedad = new AnamnesisEnfermedad(); maxCodigoAe += 1; anamnesisEnfermedad.Codigo = maxCodigoAe.ToString("D8"); anamnesisEnfermedad.CodigoAnamnesis = anamnesis.Codigo; anamnesisEnfermedad.CodigoEnfermedad = enf; _context.AnamnesisEnfermedad.Add(anamnesisEnfermedad); } //foreach (var enf in anamnesis.AnamnesisEnfermedad) //{ // if (enf.Seleccionado) // { // AnamnesisEnfermedad anamnesisEnfermedad = new AnamnesisEnfermedad(); // maxCodigoAe += 1; // anamnesisEnfermedad.Codigo = maxCodigoAe.ToString("D8"); // //anamnesisEnfermedad.CodigoAnamnesis = null; // anamnesisEnfermedad.CodigoAnamnesis = anamnesis.Codigo; // anamnesisEnfermedad.CodigoEnfermedad = enf.Enfermedad.Codigo; // _context.AnamnesisEnfermedad.Add(anamnesisEnfermedad); // } //} _context.Update(anamnesisAntiguo); _context.SaveChanges(); transaction.Commit(); await _auditoria.GuardarLogAuditoria(Funciones.ObtenerFechaActual("SA Pacific Standard Time"), i.Name, "Anamnesis", anamnesis.Codigo, "U"); ViewBag.Message = "Save"; Personal.Insert(0, vacio); ViewData["CodigoPersonal"] = Personal; Paciente.Insert(0, vacio); ViewData["CodigoPaciente"] = Paciente; return(View(anamnesis)); } catch (DbUpdateConcurrencyException) { throw; } } Personal.Insert(0, vacio); ViewData["CodigoPersonal"] = Personal; Paciente.Insert(0, vacio); ViewData["CodigoPaciente"] = Paciente; return(View(anamnesis)); } catch (Exception e) { string mensaje = e.Message; if (e.InnerException != null) { mensaje = MensajesError.UniqueKey(e.InnerException.Message); } ViewBag.Message = mensaje; Personal.Insert(0, vacio); ViewData["CodigoPersonal"] = Personal; Paciente.Insert(0, vacio); ViewData["CodigoPaciente"] = Paciente; return(View(anamnesis)); } } else { return(Redirect("../Identity/Account/Login")); } }
public async Task <string> Edit(List <Odontograma> odontograma) { var i = (ClaimsIdentity)User.Identity; List <SelectListItem> Personal = new SelectList(_context.Personal.OrderBy(c => c.NombreCompleto).Where(c => c.Estado == true), "Codigo", "NombreCompleto", odontograma[0].CodigoPersonal).ToList(); List <SelectListItem> Paciente = new SelectList(_context.Paciente.OrderBy(p => p.NombreCompleto).Where(p => p.Estado == true), "Codigo", "NombreCompleto", odontograma[0].CodigoPaciente).ToList(); if (i.IsAuthenticated) { try { if (ModelState.IsValid) { try { var transaction = _context.Database.BeginTransaction(); //actualizar odontograma odontograma[0].Codigo = Encriptacion.Decrypt(odontograma[0].Codigo); Odontograma odontogramaAntiguo = _context.Odontograma.SingleOrDefault(p => p.Codigo == odontograma[0].Codigo); odontogramaAntiguo.Codigo = odontograma[0].Codigo; odontogramaAntiguo.CodigoCitaOdontologica = odontograma[0].CodigoCitaOdontologica; odontogramaAntiguo.FechaActualizacion = fecha; odontogramaAntiguo.Observaciones = null; odontogramaAntiguo.Estado = "A"; var tipoComprobantesImpuesto = _context.OdontogramaDetalle.Where(a => a.CodigoOdontograma == odontograma[0].Codigo).ToList(); foreach (var item in tipoComprobantesImpuesto) { _context.OdontogramaDetalle.Remove(item); } _context.SaveChanges(); //guardar odontogramaDetalle Int64 maxCodigoOd = 0; maxCodigoOd = Convert.ToInt64(_context.OdontogramaDetalle.Max(f => f.Codigo)); foreach (var detalle in odontograma[0].OdontogramaDetalle) { OdontogramaDetalle odontDetalle = new OdontogramaDetalle(); maxCodigoOd += 1; odontDetalle.Codigo = maxCodigoOd.ToString("D8"); odontDetalle.CodigoOdontograma = odontograma[0].Codigo; odontDetalle.Pieza = detalle.Pieza; odontDetalle.Region = detalle.Region; odontDetalle.Enfermedad = detalle.Enfermedad; odontDetalle.Valor = detalle.Valor; odontDetalle.Diagnostico = detalle.Diagnostico; _context.OdontogramaDetalle.Add(odontDetalle); } _context.Update(odontogramaAntiguo); _context.SaveChanges(); transaction.Commit(); await _auditoria.GuardarLogAuditoria(Funciones.ObtenerFechaActual("SA Pacific Standard Time"), i.Name, "Odontograma", odontograma[0].Codigo, "U"); ViewBag.Message = "Save"; Personal.Insert(0, vacio); ViewData["CodigoPersonal"] = Personal; Paciente.Insert(0, vacio); ViewData["CodigoPaciente"] = Paciente; return("Save"); } catch (DbUpdateConcurrencyException) { throw; } } Personal.Insert(0, vacio); ViewData["CodigoPersonal"] = Personal; Paciente.Insert(0, vacio); ViewData["CodigoPaciente"] = Paciente; return("No es valido"); } catch (Exception e) { string mensaje = e.Message; if (e.InnerException != null) { mensaje = MensajesError.UniqueKey(e.InnerException.Message); } ViewBag.Message = mensaje; Personal.Insert(0, vacio); ViewData["CodigoPersonal"] = Personal; Paciente.Insert(0, vacio); ViewData["CodigoPaciente"] = Paciente; return(e.InnerException.Message); } } else { return("No autenticado"); } }
public string GuardarDatosImportados(IFormFile Documento) { string codigo = null; var j = (ClaimsIdentity)User.Identity; try { string fileName = Documento.FileName; FileInfo file = new FileInfo(Path.Combine(pathRootDocumentos, fileName)); if (Documento != null) { if (GetMimeTypes().SingleOrDefault(p => p.Value == Documento.ContentType && p.Key == "." + Documento.FileName.Split(".")[Documento.FileName.Split(".").Count() - 1]).Value != null) { UploadFile(Documento); } else { Documento = null; ViewData["ExtensionArchivo"] = "Extensión del documento incorrecto"; } } //if ((ViewData["ExtensionArchivo"]) is null) //{ ExcelPackage package = new ExcelPackage(file); ExcelWorksheet workSheet = package.Workbook.Worksheets.First(); int totalRows = workSheet.Dimension.Rows; Int64 maxCodigo = 0; maxCodigo = Convert.ToInt64(_context.Paciente.Max(f => f.Codigo)); maxCodigo += 1; codigo = maxCodigo.ToString("D8"); DateTime fechaPacienteGuardado = Funciones.ObtenerFechaActual("SA Pacific Standard Time"); List <Paciente> listaPacientes = new List <Paciente>(); for (int i = 2; i <= totalRows; i++) { Paciente pc = new Paciente(); if (workSheet.Cells[i, 1].Value != null) { string nombreCompleto = workSheet.Cells[i, 3].Value.ToString(); string[] nombres = nombreCompleto.Split(" "); pc.Codigo = maxCodigo.ToString("D8"); pc.NumeroUnico = workSheet.Cells[i, 2].Value.ToString(); pc.Nombres = nombres[2] + " " + nombres[3]; pc.Apellidos = nombres[0] + " " + nombres[1]; pc.Identificacion = workSheet.Cells[i, 4].Value.ToString(); pc.FechaNacimiento = Convert.ToDateTime(workSheet.Cells[i, 5].Value.ToString()); pc.Genero = workSheet.Cells[i, 6].Value.ToString(); pc.Direccion = workSheet.Cells[i, 7].Value.ToString(); pc.Telefono = workSheet.Cells[i, 8].Value.ToString(); pc.Celular = workSheet.Cells[i, 9].Value.ToString(); pc.MailPersonal = workSheet.Cells[i, 10].Value.ToString(); pc.MailEpn = workSheet.Cells[i, 21].Value.ToString(); pc.EstadoCivil = null; pc.DependenciaDondeTrabaja = null; pc.Cargo = null; pc.Procedencia = null; pc.TipoPaciente = null; pc.Estado = true; pc.CodigoTipoIdentificacion = null; pc.CodigoFacultad = null; // buscarFacultad(workSheet.Cells[i, 12].Value.ToString()); pc.CodigoCarrera = null; //buscarCarrrera(pc.CodigoFacultad, workSheet.Cells[i, 11].Value.ToString()); _context.Add(pc); //_auditoria.GuardarLogAuditoria(fechaPacienteGuardado, j.Name, "Paciente", pc.Codigo, "I"); //listaPacientes.Add(pc); maxCodigo = maxCodigo + 1; //} } else { string nombreCompleto = workSheet.Cells[i, 4].Value.ToString(); string[] nombres = nombreCompleto.Split(" "); pc.Codigo = maxCodigo.ToString("D8"); pc.NumeroUnico = workSheet.Cells[i, 3].Value.ToString(); pc.Nombres = nombres[2] + " " + nombres[3]; pc.Apellidos = nombres[0] + " " + nombres[1]; pc.Identificacion = workSheet.Cells[i, 5].Value.ToString(); pc.FechaNacimiento = Convert.ToDateTime(workSheet.Cells[i, 6].Value.ToString()); pc.Genero = workSheet.Cells[i, 7].Value.ToString(); pc.Direccion = workSheet.Cells[i, 8].Value.ToString(); pc.Telefono = workSheet.Cells[i, 9].Value.ToString(); pc.Celular = workSheet.Cells[i, 10].Value.ToString(); pc.MailPersonal = workSheet.Cells[i, 11].Value.ToString(); pc.MailEpn = workSheet.Cells[i, 22].Value.ToString(); pc.EstadoCivil = null; pc.DependenciaDondeTrabaja = null; pc.Cargo = null; pc.Procedencia = null; pc.TipoPaciente = null; pc.Estado = true; pc.CodigoTipoIdentificacion = null; pc.CodigoFacultad = null; //buscarFacultad(workSheet.Cells[i, 13].Value.ToString()); pc.CodigoCarrera = null; //buscarCarrrera(pc.CodigoFacultad, workSheet.Cells[i, 11].Value.ToString()); _context.Add(pc); //_auditoria.GuardarLogAuditoria(fechaPacienteGuardado, j.Name, "Paciente", pc.Codigo, "I"); //listaPacientes.Add(pc); maxCodigo = maxCodigo + 1; //} } } //_context.Paciente.AddRangeAsync(listaPacientes); _context.SaveChanges(); DeleteFile(Documento.FileName); return("Save"); } catch (Exception ex) { DeleteFile(Documento.FileName); return(ex.InnerException.Message.ToString()); } }