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 <IActionResult> Edit(Perfil perfil) { var i = (ClaimsIdentity)User.Identity; if (i.IsAuthenticated) { var permisos = i.Claims.Where(c => c.Type == "Perfiles").Select(c => c.Value).SingleOrDefault().Split(","); try { if (perfil.Codigo == null) { return(NotFound()); } if (ModelState.IsValid) { try { perfil.Codigo = Encriptacion.Decrypt(perfil.Codigo); var PerfilAntiguo = _context.Perfil.Include(p => p.PerfilDetalle).SingleOrDefault(p => p.Codigo == perfil.Codigo); PerfilAntiguo.Nombre = perfil.Nombre; PerfilAntiguo.FechaModificacion = Funciones.ObtenerFechaActual("SA Pacific Standard Time"); PerfilAntiguo.UsuarioModificacion = i.Name; foreach (PerfilDetalle perfilDetalle in perfil.PerfilDetalle) { perfilDetalle.CodigoPerfil = perfil.Codigo; perfilDetalle.Menu = null; } PerfilAntiguo.PerfilDetalle = perfil.PerfilDetalle; _context.Update(PerfilAntiguo); await _context.SaveChangesAsync(); await _auditoria.GuardarLogAuditoria(Convert.ToDateTime(PerfilAntiguo.FechaModificacion), PerfilAntiguo.UsuarioModificacion, "Perfil", perfil.Codigo, "U"); ViewBag.Message = "Save"; List <Menu> men = _context.Menu.ToList(); return(View(perfil)); } catch (DbUpdateConcurrencyException) { throw; } } List <Menu> menus = _context.Menu.ToList(); return(View(perfil)); } catch (Exception e) { string mensaje = e.Message; if (e.InnerException != null) { mensaje = MensajesError.UniqueKey(e.InnerException.Message); } ViewBag.Message = mensaje; List <Menu> menus = _context.Menu.ToList(); return(View(perfil)); } } else { return(Redirect("../Identity/Account/Login")); } }
public async Task <IActionResult> Edit(Usuario usuario) { var i = (ClaimsIdentity)User.Identity; List <SelectListItem> Perfil = new SelectList(_context.Perfil.OrderBy(f => f.Nombre), "Codigo", "Nombre").ToList(); List <SelectListItem> Personal = new SelectList(_context.Personal.OrderBy(f => f.NombreCompleto), "Codigo", "NombreCompleto").ToList(); if (i.IsAuthenticated) { try { if (ModelState.IsValid) { try { usuario.Codigo = Encriptacion.Decrypt(usuario.Codigo); usuario.SecurityStamp = Guid.NewGuid().ToString(); var us = new UsuarioLogin { UserName = usuario.CorreoElectronico }; usuario.PasswordHash = _userManager.PasswordHasher.HashPassword(us, usuario.Contrasenia); if (usuario.CodigoPersonal == "0") { usuario.CodigoPersonal = null; } _context.Update(usuario); await _context.SaveChangesAsync(); await _auditoria.GuardarLogAuditoria(Funciones.ObtenerFechaActual("SA Pacific Standard Time"), i.Name, "Usuario", usuario.Codigo, "U"); ViewBag.Message = "Save"; Perfil.Insert(0, vacio); ViewData["CodigoPerfil"] = Perfil; Personal.Insert(0, vacio); ViewData["CodigoPersonal"] = Personal; return(View(usuario)); } catch (DbUpdateConcurrencyException) { throw; } } Perfil.Insert(0, vacio); ViewData["CodigoPerfil"] = Perfil; Personal.Insert(0, vacio); ViewData["CodigoPersonal"] = Personal; return(View(usuario)); } catch (Exception e) { string mensaje = e.Message; if (e.InnerException != null) { mensaje = MensajesError.UniqueKey(e.InnerException.Message); } Perfil.Insert(0, vacio); ViewData["CodigoPerfil"] = Perfil; Personal.Insert(0, vacio); ViewData["CodigoPersonal"] = Personal; ViewBag.Message = mensaje; return(View(usuario)); } } else { return(Redirect("../Identity/Account/Login")); } }
public async Task <IActionResult> Create(Anamnesis anamnesis, List <string> enfermedades) { var i = (ClaimsIdentity)User.Identity; if (i.IsAuthenticated) { try { if (ModelState.IsValid) { //cita odontologica CitaOdontologica citaOdontologica = _context.CitaOdontologica.Where(ci => ci.Codigo == anamnesis.CodigoCitaOdontologica).SingleOrDefault(); //_context.CitaOdontologica.Where(ci => ci.FechaInicio.Date == fecha.Date && ci.HoraInicio <= intInicial && ci.HoraFin >= intFinal && ci.CodigoPaciente == anamnesis.CodigoPaciente && ci.CodigoPersonal == anamnesis.CodigoPersonal).FirstOrDefault(); DateTime FechaCitaCreacion = Funciones.ObtenerFechaActual("SA Pacific Standard Time"); var transaction = _context.Database.BeginTransaction(); if (citaOdontologica == null) { CitaOdontologica cita = new CitaOdontologica(); Int64 maxCodigoHC = 0; maxCodigoHC = Convert.ToInt64(_context.CitaOdontologica.Max(f => f.Codigo)); maxCodigoHC += 1; cita.Codigo = maxCodigoHC.ToString("D8"); cita.CodigoPaciente = anamnesis.CodigoPaciente; cita.CodigoPersonal = anamnesis.CodigoPersonal; cita.FechaCreacion = FechaCitaCreacion; cita.Observaciones = null; cita.Estado = "N"; cita.FechaInicio = FechaCitaCreacion; cita.FechaFin = FechaCitaCreacion; cita.HoraInicio = new TimeSpan(FechaCitaCreacion.Hour, FechaCitaCreacion.Minute, 00); cita.HoraFin = new TimeSpan(FechaCitaCreacion.Hour, FechaCitaCreacion.Minute, 00); cita.UsuarioCreacion = i.Name; _context.Add(cita); await _context.SaveChangesAsync(); await _auditoria.GuardarLogAuditoria(cita.FechaCreacion, i.Name, "CitaOdontologica", cita.Codigo, "I"); anamnesis.CodigoCitaOdontologica = cita.Codigo; } else { anamnesis.CodigoCitaOdontologica = citaOdontologica.Codigo; } //guardar el anamnesos Anamnesis anm = new Anamnesis(); Int64 maxCodigo = 0; maxCodigo = Convert.ToInt64(_context.Anamnesis.Max(f => f.Codigo)); maxCodigo += 1; anm.Codigo = maxCodigo.ToString("D8"); anm.CodigoCitaOdontologica = anamnesis.CodigoCitaOdontologica; anm.MotivoConsulta = anamnesis.MotivoConsulta; anm.EnfermedadActual = anamnesis.EnfermedadActual; anm.Alerta = anamnesis.Alerta; anm.Alergico = anamnesis.Alergico; anm.AntecedentesQuirurgicos = anamnesis.AntecedentesQuirurgicos; anm.Alergico = anamnesis.Alergico; anm.Medicamentos = anamnesis.Medicamentos; anm.Habitos = anamnesis.Habitos; anm.AntecedentesFamiliares = anamnesis.AntecedentesFamiliares; anm.Fuma = anamnesis.Fuma; anm.Embarazada = anamnesis.Embarazada; anm.UltimaVisitaOdontologo = anamnesis.UltimaVisitaOdontologo; anm.Endocrino = anamnesis.Endocrino; anm.Traumatologico = anamnesis.Traumatologico; anm.Fecha = fecha; _context.Anamnesis.Add(anm); //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 = anm.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 = anamnesis.Codigo; // anamnesisEnfermedad.CodigoAnamnesis = anm.Codigo; // anamnesisEnfermedad.CodigoEnfermedad = enf.Enfermedad.Codigo; // _context.AnamnesisEnfermedad.Add(anamnesisEnfermedad); // } //} await _context.SaveChangesAsync(); transaction.Commit(); await _auditoria.GuardarLogAuditoria(anm.Fecha, i.Name, "Anamnesis", anm.Codigo, "I"); ViewBag.Message = "Save"; return(View(anamnesis)); } return(View(anamnesis)); } catch (Exception e) { string mensaje = e.Message; if (e.InnerException != null) { mensaje = MensajesError.UniqueKey(e.InnerException.Message); } ViewBag.Message = mensaje; List <SelectListItem> Personal = new SelectList(_context.Personal.OrderBy(c => c.NombreCompleto).Where(c => c.Estado == true), "Codigo", "NombreCompleto").ToList(); Personal.Insert(0, vacio); ViewData["CodigoPersonal"] = Personal; List <SelectListItem> Paciente = new SelectList(_context.Paciente.OrderBy(p => p.NombreCompleto).Where(p => p.Estado == true), "Codigo", "NombreCompleto").ToList(); Paciente.Insert(0, vacio); ViewData["CodigoPaciente"] = Paciente; return(View(anamnesis)); } } else { return(Redirect("../Identity/Account/Login")); } }
public async Task <IActionResult> Create(Personal personal) { var i = (ClaimsIdentity)User.Identity; if (i.IsAuthenticated) { try { if (personal.CodigoTipoIdentificacion == "0001") { var mensajeR = validaciones.VerifyCedula(personal.Identificacion); if (!string.IsNullOrEmpty(mensajeR)) { ModelState.AddModelError("Identificacion", mensajeR); } } if (ModelState.IsValid) { Int64 maxCodigo = 0; maxCodigo = Convert.ToInt64(_context.Personal.Max(f => f.Codigo)); maxCodigo += 1; personal.Codigo = maxCodigo.ToString("D8"); _context.Add(personal); await _context.SaveChangesAsync(); await _auditoria.GuardarLogAuditoria(Funciones.ObtenerFechaActual("SA Pacific Standard Time"), i.Name, "Personal", personal.Codigo, "I"); ViewBag.Message = "Save"; return(View(personal)); } List <SelectListItem> Cargo = new SelectList(_context.Cargo.OrderBy(c => c.Nombre), "Codigo", "Nombre").ToList(); Cargo.Insert(0, vacio); ViewData["CodigoCargo"] = Cargo; List <SelectListItem> TipoIdentificacion = new SelectList(_context.TipoIdentificacion.OrderBy(ti => ti.Nombre), "Codigo", "Nombre").ToList(); TipoIdentificacion.Insert(0, vacio); ViewData["CodigoTipoIdentificacion"] = TipoIdentificacion; return(View(personal)); } catch (Exception e) { string mensaje = e.Message; if (e.InnerException != null) { mensaje = MensajesError.UniqueKey(e.InnerException.Message); } ViewBag.Message = mensaje; List <SelectListItem> Cargo = new SelectList(_context.Cargo.OrderBy(c => c.Nombre), "Codigo", "Nombre").ToList(); Cargo.Insert(0, vacio); ViewData["CodigoCargo"] = Cargo; List <SelectListItem> TipoIdentificacion = new SelectList(_context.TipoIdentificacion.OrderBy(ti => ti.Nombre), "Codigo", "Nombre").ToList(); TipoIdentificacion.Insert(0, vacio); ViewData["CodigoTipoIdentificacion"] = TipoIdentificacion; return(View(personal)); } } else { return(Redirect("../Identity/Account/Login")); } }
public async Task <IActionResult> Edit(Personal personal) { var i = (ClaimsIdentity)User.Identity; List <SelectListItem> Cargo = new SelectList(_context.Cargo.OrderBy(c => c.Nombre), "Codigo", "Nombre").ToList(); List <SelectListItem> TipoIdentificacion = new SelectList(_context.TipoIdentificacion.OrderBy(f => f.Nombre), "Codigo", "Nombre").ToList(); if (i.IsAuthenticated) { try { if (ModelState.IsValid) { try { personal.Codigo = Encriptacion.Decrypt(personal.Codigo); _context.Update(personal); await _context.SaveChangesAsync(); await _auditoria.GuardarLogAuditoria(Funciones.ObtenerFechaActual("SA Pacific Standard Time"), i.Name, "Personal", personal.Codigo, "U"); ViewBag.Message = "Save"; Cargo.Insert(0, vacio); ViewData["CodigoCargo"] = Cargo; TipoIdentificacion.Insert(0, vacio); ViewData["CodigoTipoIdentificacion"] = TipoIdentificacion; return(View(personal)); } catch (DbUpdateConcurrencyException) { throw; } } Cargo.Insert(0, vacio); ViewData["CodigoCargo"] = Cargo; TipoIdentificacion.Insert(0, vacio); ViewData["CodigoTipoIdentificacion"] = TipoIdentificacion; return(View(personal)); } catch (Exception e) { string mensaje = e.Message; if (e.InnerException != null) { mensaje = MensajesError.UniqueKey(e.InnerException.Message); } ViewBag.Message = mensaje; Cargo.Insert(0, vacio); ViewData["CodigoCargo"] = Cargo; TipoIdentificacion.Insert(0, vacio); ViewData["CodigoTipoIdentificacion"] = TipoIdentificacion; return(View(personal)); } } 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 async Task <IActionResult> Edit(Paciente paciente) { var i = (ClaimsIdentity)User.Identity; List <SelectListItem> TipoIdentificacion = new SelectList(_context.TipoIdentificacion.OrderBy(f => f.Nombre), "Codigo", "Nombre").ToList(); List <SelectListItem> Facultad = new SelectList(_context.Facultad.OrderBy(f => f.Nombre), "Codigo", "Nombre").ToList(); List <SelectListItem> Carrera = new SelectList(_context.Carrera.OrderBy(f => f.Nombre).Where(p => p.CodigoFacultad == paciente.CodigoFacultad), "Codigo", "Nombre").ToList(); if (i.IsAuthenticated) { try { if (paciente.FechaNacimiento >= Funciones.ObtenerFechaActual("SA Pacific Standard Time").Date) { var mensajeR = "La fecha debe ser menor a la actual."; if (!string.IsNullOrEmpty(mensajeR)) { ModelState.AddModelError("FechaNacimiento", mensajeR); } } if (paciente.CodigoTipoIdentificacion == "0001") { var mensajeR = validaciones.VerifyCedula(paciente.Identificacion); if (!string.IsNullOrEmpty(mensajeR)) { ModelState.AddModelError("Identificacion", mensajeR); } } if (paciente.TipoPaciente == "E" || paciente.TipoPaciente == "EB" || paciente.TipoPaciente == "EC" || paciente.TipoPaciente == "EN") { var mensajeR = validaciones.VerifyCampoRequerido(paciente.NumeroUnico); if (!string.IsNullOrEmpty(mensajeR)) { ModelState.AddModelError("NumeroUnico", mensajeR); } mensajeR = validaciones.VerifyComboRequerido(paciente.CodigoFacultad); if (!string.IsNullOrEmpty(mensajeR)) { ModelState.AddModelError("Facultad", mensajeR); } mensajeR = validaciones.VerifyComboRequerido(paciente.CodigoCarrera); if (!string.IsNullOrEmpty(mensajeR)) { ModelState.AddModelError("Carrera", mensajeR); } } else if (paciente.TipoPaciente == "D" || paciente.TipoPaciente == "PA") { var mensajeR = validaciones.VerifyCampoRequerido(paciente.Cargo); if (!string.IsNullOrEmpty(mensajeR)) { ModelState.AddModelError("Cargo", mensajeR); } } else { var mensajeR = validaciones.VerifyComboRequerido(paciente.TipoPaciente); if (!string.IsNullOrEmpty(mensajeR)) { ModelState.AddModelError("TipoPaciente", mensajeR); } } if (ModelState.IsValid) { try { paciente.Codigo = Encriptacion.Decrypt(paciente.Codigo); _context.Update(paciente); await _context.SaveChangesAsync(); await _auditoria.GuardarLogAuditoria(Funciones.ObtenerFechaActual("SA Pacific Standard Time"), i.Name, "Paciente", paciente.Codigo, "U"); ViewBag.Message = "Save"; TipoIdentificacion.Insert(0, vacio); ViewData["CodigoTipoIdentificacion"] = TipoIdentificacion; Facultad.Insert(0, vacio); ViewData["CodigoFacultad"] = Facultad; Carrera.Insert(0, vacio); ViewData["CodigoCarrera"] = Carrera; return(View(paciente)); } catch (DbUpdateConcurrencyException) { throw; } } TipoIdentificacion.Insert(0, vacio); ViewData["CodigoTipoIdentificacion"] = TipoIdentificacion; Facultad.Insert(0, vacio); ViewData["CodigoFacultad"] = Facultad; Carrera.Insert(0, vacio); ViewData["CodigoCarrera"] = Carrera; return(View(paciente)); } catch (Exception e) { string mensaje = e.Message; if (e.InnerException != null) { mensaje = MensajesError.UniqueKey(e.InnerException.Message); } ViewBag.Message = mensaje; TipoIdentificacion.Insert(0, vacio); ViewData["CodigoTipoIdentificacion"] = TipoIdentificacion; Facultad.Insert(0, vacio); ViewData["CodigoFacultad"] = Facultad; Carrera.Insert(0, vacio); ViewData["CodigoCarrera"] = Carrera; return(View(paciente)); } } else { return(Redirect("../Identity/Account/Login")); } }
public async Task <IActionResult> Edit(RecetaMedica recetaMedica) { var i = (ClaimsIdentity)User.Identity; List <SelectListItem> Personal = new SelectList(_context.Personal.OrderBy(c => c.NombreCompleto).Where(c => c.Estado == true), "Codigo", "NombreCompleto", recetaMedica.CodigoPersonal).ToList(); List <SelectListItem> Paciente = new SelectList(_context.Paciente.OrderBy(p => p.NombreCompleto).Where(p => p.Estado == true), "Codigo", "NombreCompleto", recetaMedica.CodigoPaciente).ToList(); List <SelectListItem> PlantillaRM = new SelectList(_context.PlantillaRecetaMedica.OrderBy(c => c.Nombre), "Codigo", "Nombre", recetaMedica.CodigoPlantillaRecetaMedica).ToList(); if (i.IsAuthenticated) { try { if (ModelState.IsValid) { try { recetaMedica.Codigo = Encriptacion.Decrypt(recetaMedica.Codigo); recetaMedica.Fecha = Funciones.ObtenerFechaActual("SA Pacific Standard Time"); if (recetaMedica.CodigoPlantillaRecetaMedica == "0") { recetaMedica.CodigoPlantillaRecetaMedica = null; } _context.Update(recetaMedica); await _context.SaveChangesAsync(); await _auditoria.GuardarLogAuditoria(recetaMedica.Fecha, i.Name, "RecetaMedica", recetaMedica.Codigo, "U"); ViewBag.Message = "Save"; Personal.Insert(0, vacio); ViewData["CodigoPersonal"] = Personal; Paciente.Insert(0, vacio); ViewData["CodigoPaciente"] = Paciente; PlantillaRM.Insert(0, vacio); ViewData["CodigoPlantillaReceta"] = PlantillaRM; return(View(recetaMedica)); } catch (DbUpdateConcurrencyException) { throw; } } Personal.Insert(0, vacio); ViewData["CodigoPersonal"] = Personal; Paciente.Insert(0, vacio); ViewData["CodigoPaciente"] = Paciente; PlantillaRM.Insert(0, vacio); ViewData["CodigoPlantillaReceta"] = PlantillaRM; return(View(recetaMedica)); } 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; PlantillaRM.Insert(0, vacio); ViewData["CodigoPlantillaReceta"] = PlantillaRM; return(View(recetaMedica)); } } else { return(Redirect("../Identity/Account/Login")); } }
public async Task <IActionResult> Create(RecetaMedica recetaMedica) { var i = (ClaimsIdentity)User.Identity; if (i.IsAuthenticated) { try { List <SelectListItem> Personal = new SelectList(_context.Personal.OrderBy(c => c.NombreCompleto).Where(c => c.Estado == true), "Codigo", "NombreCompleto").ToList(); Personal.Insert(0, vacio); ViewData["CodigoPersonal"] = Personal; List <SelectListItem> Paciente = new SelectList(_context.Paciente.OrderBy(p => p.NombreCompleto).Where(p => p.Estado == true), "Codigo", "NombreCompleto").ToList(); Paciente.Insert(0, vacio); ViewData["CodigoPaciente"] = Paciente; List <SelectListItem> PlantillaRM = new SelectList(_context.PlantillaRecetaMedica.OrderBy(c => c.Nombre), "Codigo", "Nombre").ToList();; PlantillaRM.Insert(0, vacio); ViewData["CodigoPlantillaReceta"] = PlantillaRM; if (ModelState.IsValid) { //cita odontologica CitaOdontologica citaOdontologica = _context.CitaOdontologica.Where(ci => ci.Codigo == recetaMedica.CodigoCitaOdontologica).SingleOrDefault(); //_context.CitaOdontologica.Where(ci => ci.FechaInicio.Date == fecha.Date && ci.HoraInicio <= intInicial && ci.HoraFin >= intFinal && ci.CodigoPaciente == anamnesis.CodigoPaciente && ci.CodigoPersonal == anamnesis.CodigoPersonal).FirstOrDefault(); DateTime FechaCitaCreacion = Funciones.ObtenerFechaActual("SA Pacific Standard Time"); var transaction = _context.Database.BeginTransaction(); if (citaOdontologica == null) { CitaOdontologica cita = new CitaOdontologica(); Int64 maxCodigoHC = 0; maxCodigoHC = Convert.ToInt64(_context.CitaOdontologica.Max(f => f.Codigo)); maxCodigoHC += 1; cita.Codigo = maxCodigoHC.ToString("D8"); cita.CodigoPaciente = recetaMedica.CodigoPaciente; cita.CodigoPersonal = recetaMedica.CodigoPersonal; cita.FechaCreacion = FechaCitaCreacion; cita.Observaciones = null; cita.Estado = "N"; cita.FechaInicio = FechaCitaCreacion; cita.FechaFin = FechaCitaCreacion; cita.HoraInicio = new TimeSpan(FechaCitaCreacion.Hour, FechaCitaCreacion.Minute, 00); cita.HoraFin = new TimeSpan(FechaCitaCreacion.Hour, FechaCitaCreacion.Minute, 00); cita.UsuarioCreacion = i.Name; _context.Add(cita); await _context.SaveChangesAsync(); await _auditoria.GuardarLogAuditoria(cita.FechaCreacion, i.Name, "CitaOdontologica", cita.Codigo, "I"); recetaMedica.CodigoCitaOdontologica = cita.Codigo; } else { recetaMedica.CodigoCitaOdontologica = citaOdontologica.Codigo; } //guardar receta medica Int64 maxCodigo = 0; maxCodigo = Convert.ToInt64(_context.RecetaMedica.Max(f => f.Codigo)); maxCodigo += 1; recetaMedica.Codigo = maxCodigo.ToString("D8"); recetaMedica.Fecha = FechaCitaCreacion; if (recetaMedica.CodigoPlantillaRecetaMedica == "0") { recetaMedica.CodigoPlantillaRecetaMedica = null; } _context.Add(recetaMedica); await _context.SaveChangesAsync(); transaction.Commit(); await _auditoria.GuardarLogAuditoria(recetaMedica.Fecha, i.Name, "RecetaMedica", recetaMedica.Codigo, "I"); ViewBag.Message = "Save"; return(View(recetaMedica)); } return(View(recetaMedica)); } catch (Exception e) { string mensaje = e.Message; if (e.InnerException != null) { mensaje = MensajesError.UniqueKey(e.InnerException.Message); } ViewBag.Message = mensaje; List <SelectListItem> Personal = new SelectList(_context.Personal.OrderBy(c => c.NombreCompleto).Where(c => c.Estado == true), "Codigo", "NombreCompleto").ToList(); Personal.Insert(0, vacio); ViewData["CodigoPersonal"] = Personal; List <SelectListItem> Paciente = new SelectList(_context.Paciente.OrderBy(p => p.NombreCompleto).Where(p => p.Estado == true), "Codigo", "NombreCompleto").ToList(); Paciente.Insert(0, vacio); ViewData["CodigoPaciente"] = Paciente; List <SelectListItem> PlantillaRM = new SelectList(_context.PlantillaRecetaMedica.OrderBy(c => c.Nombre), "Codigo", "Nombre").ToList();; PlantillaRM.Insert(0, vacio); ViewData["CodigoPlantillaReceta"] = PlantillaRM; return(View(recetaMedica)); } } else { return(Redirect("../Identity/Account/Login")); } }
public async Task <IActionResult> Edit(CertificadoMedicoImprimir cmi) { var i = (ClaimsIdentity)User.Identity; if (i.IsAuthenticated) { try { if (ModelState.IsValid) { try { var plantilla = _context.PlantillaCertificadoMedico.Where(p => p.Nombre.Contains("Certificado Asistencia Reposo")).SingleOrDefault(); var contenido = plantilla.Descripcion; var sub = "NO"; if (cmi.CitasSubsecuentes) { sub = "SI"; } var rep = "NO"; DateTime fechaInicioReposo = Funciones.ObtenerFechaActual("SA Pacific Standard Time"); DateTime fechaFinReposo = Funciones.ObtenerFechaActual("SA Pacific Standard Time"); DateTime fechaReincorporarse = Funciones.ObtenerFechaActual("SA Pacific Standard Time"); //var Fechareincorporarse = if (cmi.Reposo) { rep = "SI"; if (cmi.NumdiasReposo > 0) { fechaFinReposo = Funciones.ObtenerFechaActual("SA Pacific Standard Time").AddDays(cmi.NumdiasReposo - 1); } fechaReincorporarse = fechaFinReposo.AddDays(1); } else { var index = contenido.IndexOf("[@ReposoInicio]"); contenido = contenido.Substring(0, index - 6); } string fir = fechaInicioReposo.ToString("dd/MM/yyyy"); string ffr = fechaFinReposo.ToString("dd/MM/yyyy"); string fr = fechaReincorporarse.ToString("dd/MM/yyyy"); var final = contenido.Replace("[@FechaCita]", cmi.FechaCita.ToString("dd/MM/yyyy")) .Replace("[@Paciente]", cmi.NombrePaciente) .Replace("[@Cedula]", cmi.CedulaPaciente) .Replace("[@HoraInicio]", cmi.HoraInicio.ToString()) .Replace("[@HoraFin]", cmi.HoraFin.ToString()) .Replace("[@Cie10]", cmi.CIE10Nombre) .Replace("[@Pieza]", cmi.Pieza.ToString()) .Replace("[@Procedimiento]", cmi.Procedimiento) .Replace("[@CitasSubsecuentes]", sub) .Replace("[@Reposo]", rep) .Replace("[@ReposoInicio]", fir) .Replace("[@ReposoFin]", ffr) .Replace("[@ReposoReincorpararse]", fr); //.ToString("dd/MM/yyyy")) //guardar el contenido PlantillaCertificadoMedico plantillaCertificadoMedico = new PlantillaCertificadoMedico(); Int64 maxCodigo = 0; maxCodigo = Convert.ToInt64(_context.PlantillaCertificadoMedico.Max(f => f.Codigo)); maxCodigo += 1; plantillaCertificadoMedico.Codigo = maxCodigo.ToString("D4"); plantillaCertificadoMedico.Nombre = cmi.NombreMedico + " - " + cmi.NombrePaciente; plantillaCertificadoMedico.Descripcion = final; _context.Add(plantillaCertificadoMedico); await _context.SaveChangesAsync(); await _auditoria.GuardarLogAuditoria(Funciones.ObtenerFechaActual("SA Pacific Standard Time"), i.Name, "CertifidoMedicoPaciente", plantillaCertificadoMedico.Codigo, "I"); string Codigo = Encriptacion.Encrypt(plantillaCertificadoMedico.Codigo); return(Redirect("../CertificadosMedicos/CertificadoMedico?Codigo=" + Codigo)); } catch (DbUpdateConcurrencyException) { throw; } } return(View(cmi)); } catch (Exception e) { string mensaje = e.Message; if (e.InnerException != null) { mensaje = MensajesError.UniqueKey(e.InnerException.Message); } ViewBag.Message = mensaje; return(View(cmi)); } } else { return(Redirect("../Identity/Account/Login")); } }