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);
        }
Beispiel #2
0
 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", "");
     }
 }
Beispiel #5
0
 public Odontograma SalvarOdontograma(Odontograma odontograma)
 {
     if (odontograma.IdOdontograma > 0)
     {
         Context.Entry(odontograma).State = EntityState.Modified;
     }
     else
     {
         Context.Odontogramas.Add(odontograma);
     }
     Context.SaveChanges();
     return(odontograma);
 }
Beispiel #6
0
 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));
        }