public string ObtenerDatosOdontogramaDetalle(string codigoOdontograma) { string codigoD = Encriptacion.Decrypt(codigoOdontograma); Odontograma odontograma = _context.Odontograma.Include(a => a.OdontogramaDetalle) .SingleOrDefault(f => f.Codigo == codigoD); List <OdontogramaDetalle> listaDetalle = new List <OdontogramaDetalle>(); foreach (var item in odontograma.OdontogramaDetalle) { OdontogramaDetalle detalle = new OdontogramaDetalle(); detalle.Codigo = item.Codigo; detalle.CodigoOdontograma = item.CodigoOdontograma; detalle.Pieza = item.Pieza; detalle.Region = item.Region; detalle.Enfermedad = item.Enfermedad; detalle.Valor = item.Valor; detalle.Diagnostico = item.Diagnostico; listaDetalle.Add(detalle); } return(JsonConvert.SerializeObject(listaDetalle)); //return View(odontograma); }
public Odontograma ExcluirOdontograma(Odontograma odontograma) { odontograma.SetSituacao("Excluido"); Context.Entry(odontograma).State = EntityState.Modified; Context.SaveChanges(); return(odontograma); }
[HttpPost] //public async Task<string> Create(Odontograma odontograma , IFormFile svg742, string hola, IFormFile imagen) public async Task <string> Create(List <Odontograma> odontograma) { var i = (ClaimsIdentity)User.Identity; try { //guardar el odontograma Odontograma odont = new Odontograma(); Int64 maxCodigo = 0; maxCodigo = Convert.ToInt64(_context.Odontograma.Max(f => f.Codigo)); maxCodigo += 1; odont.Codigo = maxCodigo.ToString("D8"); odont.CodigoCitaOdontologica = Encriptacion.Decrypt(odontograma[0].CodigoCitaOdontologica); odont.FechaActualizacion = fecha; odont.Observaciones = null; odont.Estado = "I"; _context.Odontograma.Add(odont); //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 = odont.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); } await _context.SaveChangesAsync(); await _auditoria.GuardarLogAuditoria(fecha, i.Name, "Odontograma", odont.Codigo, "I"); //ViewBag.Message = "Guardado"; return(" Se Guardado Correctamente"); } catch (Exception e) { string mensaje = e.Message; if (e.InnerException != null) { mensaje = MensajesError.UniqueKey(e.InnerException.Message); } //ViewBag.Message = mensaje; return(mensaje); } }
private void btn_odontograma_Click(object sender, EventArgs e) { try { Odontograma odonto = new Odontograma(); odonto.ShowDialog(); } catch (Exception ex) { mssg.showMessage(ex.Message, "error", ""); } }
public Odontograma SalvarOdontograma(Odontograma odontograma) { if (odontograma.IdOdontograma > 0) { Context.Entry(odontograma).State = EntityState.Modified; } else { Context.Odontogramas.Add(odontograma); } Context.SaveChanges(); return(odontograma); }
private void Atendiendo() { if (pacienteElegido != null) { var vm = new OdontogramaViewModel(pacienteElegido); var view = new Odontograma { DataContext = vm }; view.SetCanvas(pacienteElegido.Dni.ToString()); view.Show(); // solo cerramos la view por ahora TwT CloseWindowEvent?.Invoke(this, null); } }
private void RegistrarPaciente() { try { var nuevo = new PacienteBL(); var registrado = nuevo.RegistrarPaciente(Paciente); var vm = new OdontogramaViewModel(registrado); var view = new Odontograma { DataContext = vm }; view.Show(); // solo cerramos la view CloseWindowEvent?.Invoke(this, null); } catch (Exception ex) { System.Windows.MessageBox.Show(ex.Message, "Error al registrar", System.Windows.MessageBoxButton.OK, System.Windows.MessageBoxImage.Hand, System.Windows.MessageBoxResult.OK); } }
public Odontograma ExcluirOdontograma(Odontograma odontograma) { return(_repository.ExcluirOdontograma(odontograma)); }
public Odontograma SalvarOdontograma(Odontograma odontograma) { return(_repository.SalvarOdontograma(odontograma)); }
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 ActionResult SavePlacagramaDetalle([FromBody] JsonModel jsonModel) { MicroDB.MicroDB db = new MicroDB.MicroDB(); int oids = (jsonModel != null)?int.Parse(jsonModel.oId.ToString()):0; List <Odontograma> odontograma = new List <Odontograma>(); var objects = JArray.Parse(jsonModel.detail); //Leer JSON que entra por POST foreach (JObject root in objects) //Recorrer JSON e insertarlos en el ArrayList { var oid = root.GetValue("nPlacagramaID"); var odi = root.GetValue("nPlacagramaDetalleID"); var d = root.GetValue("sDescripcion"); var nd = root.GetValue("sNombreDiente"); int odis = int.Parse(odi.ToString()); string ds = d.ToString(); string nds = nd.ToString(); Odontograma o = new Odontograma(oids, odis, ds, nds); odontograma.Add(o); } // ALGORITMO GENERAL //Los que vengan con nOdontogramaDetalleID: 0, insert //Los que vengan con nOdontogramaDetalleID: x, update //Los que no vengan, pero estén en la BD: logical delete // ALGORITMO EN C# : // 1- Recorrer lista de simbolos SQL de odontogramadetalle (active=1) // 2- Si el id existe en el array, actualizar el diente del arraylist hacia la BD // 3- Si el id solo existe en la BD, eliminar el registro logicamente (set active=0) // 4- Recorrer aparte los del arraylist e insertarlos si no existen en la BD // 5- No puede pasar que un registro oid!=0 este en el arraylist y no en la BD, // porque para existir en el arraylist con un id, tuvo que extraerse de la BD con anterioridad. // Sin embargo, para evitar cualquier inconsistencia, se creará un nuevo id para este. var consulta = db.ExecuteReaderList("select * from vwPlacagramaDetalle where nPlacagramaID=" + oids); foreach (var i in consulta) { Odontograma item = odontograma.Where(c => c.d.Equals(i["sDescripcion"]) && c.nd.Equals(i["sNombreDiente"]) && c.odi == int.Parse(i["nPlacagramaDetalleID"].ToString())).FirstOrDefault(); //Si existe en el array... if (item != null) { //Actualizar sNombreDiente en la BD con el odi especifico string strSQL = string.Format("Exec spGrabarPlacagramaDetalle {0}, {1}, '{2}', '{3}', 0; ", item.oid, item.odi, item.nd, item.d); db.ExecuteSqlCommand(strSQL); } else { //Desactivar el simbolo con el odi especifico string strSQL = string.Format("Exec spGrabarPlacagramaDetalle {0}, {1}, '{2}', '{3}', 1; ", i["nPlacagramaID"], i["nPlacagramaDetalleID"], i["sNombreDiente"], i["sDescripcion"]); db.ExecuteSqlCommand(strSQL); } } //Recorrer arraylist foreach (var i in odontograma) { //Si no existe en la BD... if (consulta.Where(c => int.Parse(c["nPlacagramaDetalleID"].ToString()) == i.odi && c["sDescripcion"].Equals(i.d) && c["sNombreDiente"].Equals(i.nd)).ToList().Count == 0) { //Insertar registro nuevo string strSQL = string.Format("Exec spGrabarPlacagramaDetalle {0}, {1}, '{2}', '{3}', 0; ", i.oid, i.odi, i.nd, i.d); db.ExecuteSqlCommand(strSQL); } } return(Json(1)); }