// GET: CertificadosMedicos/Edit/5 public async Task <IActionResult> Edit(string Codigo) { var i = (ClaimsIdentity)User.Identity; if (i.IsAuthenticated) { var permisos = i.Claims.Where(c => c.Type == "CertificadosMedicos").Select(c => c.Value).SingleOrDefault().Split(";"); Codigo = Encriptacion.Decrypt(Codigo); if (Convert.ToBoolean(permisos[2])) { if (Codigo == null) { return(NotFound()); } var cita = await _context.CitaOdontologica.Include(c => c.Paciente).Include(c => c.Personal).SingleOrDefaultAsync(f => f.Codigo == Codigo); var diag = _context.Diagnostico.Include(d => d.DiagnosticoCie10).ThenInclude(d => d.Cie10).Where(d => d.CodigoCitaOdontologica == cita.Codigo).SingleOrDefault(); if (cita == null) { return(NotFound()); } CertificadoMedicoImprimir cmi = new CertificadoMedicoImprimir(); cmi.CedulaPaciente = cita.Paciente.Identificacion; cmi.NombrePaciente = cita.Paciente.NombreCompleto; cmi.FechaCita = cita.FechaInicio; //new DateTime(cita.FechaInicio.Day, cita.FechaInicio.Month, cita.FechaInicio.Year); cmi.HoraInicio = cita.HoraInicio; cmi.HoraFin = cita.HoraFin; List <SelectListItem> Cie10 = new SelectList(_context.Cie10.OrderBy(f => f.CodigoInterno), "Codigo", "CodigoNombre", diag.DiagnosticoCie10[0].Cie10.Codigo).ToList(); Cie10.Insert(0, vacio); ViewData["CIE10"] = Cie10; cmi.CIE10Nombre = diag.DiagnosticoCie10[0].Cie10.CodigoInterno + " - " + diag.DiagnosticoCie10[0].Cie10.Nombre; cmi.Procedimiento = ""; cmi.Pieza = diag.Pieza; cmi.Reposo = false; //cmi.FechaInicioReposo = Funciones.ObtenerFechaActual("SA Pacific Standard Time"); // cmi.FechaFinReposo = Funciones.ObtenerFechaActual("SA Pacific Standard Time"); //cmi.FechaReincorporarse = Funciones.ObtenerFechaActual("SA Pacific Standard Time"); cmi.Fecha = Funciones.ObtenerFechaActual("SA Pacific Standard Time"); cmi.NombreMedico = cita.Personal.NombreCompleto; return(View(cmi)); } else { return(Redirect("../CertificadosMedicos")); } } 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")); } }