コード例 #1
0
 public void Registre(Bitacora laBitacora)
 {
     using (var contexto = new AnalisisCodigoEntities())
     {
         contexto.R2PBBitacora.Add(ConstruyaLaBitacora(laBitacora));
         contexto.SaveChanges();
     }
 }
コード例 #2
0
 public void Registre(int idPaquete, Commit[] losCommits)
 {
     using (var contexto = new AnalisisCodigoEntities())
     {
         foreach (Commit elCommit in losCommits)
         {
             contexto.R2PBRepositorio.Add(Construya(elCommit, idPaquete));
             contexto.SaveChanges();
         }
     }
 }
コード例 #3
0
        public bool Consulte(Commit[] losCommits)
        {
            bool existe = false;

            using (var contexto = new AnalisisCodigoEntities())
            {
                Commit          elUltimoCommit   = losCommits[0];
                R2PBRepositorio elUltimoRegistro = contexto.R2PBRepositorio.ToList()
                                                   .Where(filtro => filtro.NombreRepositorio == elUltimoCommit.NombreRepositorio &&
                                                          filtro.NombreAutorRepositorio == elUltimoCommit.NombreAutorRepositorio &&
                                                          filtro.Hash == elUltimoCommit.Hash).FirstOrDefault();
                if (elUltimoRegistro != null)
                {
                    existe = true;
                }
            }

            return(existe);
        }
コード例 #4
0
        public int Registre(Paquete elPaquete)
        {
            using (var contexto = new AnalisisCodigoEntities())
            {
                R2PBPaquete elPaqueteRegistrado = contexto.R2PBPaquete.Add(ConstruyaElPaquete(elPaquete));
                contexto.SaveChanges();

                foreach (Proyecto elProyecto in elPaquete.Proyectos)
                {
                    try
                    {
                        R2PBProyecto elProyectoRegistrado = contexto.R2PBProyecto.Add(ConstruyaElProyecto(elProyecto, elPaqueteRegistrado.IdPaquete));
                        contexto.SaveChanges();

                        foreach (Clase laClase in elProyecto.Clases)
                        {
                            R2PBClase laClaseRegistrada = contexto.R2PBClase.Add(ConstruyaLaClase(laClase, elProyectoRegistrado.IdProyecto, elPaqueteRegistrado.IdPaquete));
                            contexto.SaveChanges();

                            foreach (Metodo elMetodo in laClase.Metodos)
                            {
                                R2PBMetodo elMetodoRegistrado = contexto.R2PBMetodo.Add(ConstruyaElMetodo(elMetodo, laClaseRegistrada.IdClase, elPaqueteRegistrado.IdPaquete, elProyectoRegistrado.IdProyecto));
                                contexto.SaveChanges();

                                foreach (Parametro elParametro in elMetodo.Parametros)
                                {
                                    R2PBParametro elParametroRegistrado = contexto.R2PBParametro.Add(ConstruyaElParametro(elParametro, elMetodoRegistrado.IdMetodo, elPaqueteRegistrado.IdPaquete, elProyectoRegistrado.IdProyecto));
                                    contexto.SaveChanges();
                                    if (elParametro.TieneMasModificadores.Count > 0)
                                    {
                                        foreach (string elModificador in elParametro.TieneMasModificadores)
                                        {
                                            contexto.R2PBParametroModificador.Add(ConstruyaElModificador(elModificador, elParametroRegistrado.IdParametro));
                                        }
                                        contexto.SaveChanges();
                                    }
                                }

                                foreach (Control elControl in elMetodo.Controles)
                                {
                                    contexto.R2PBControl.Add(ConstruyaElControl(elControl, elMetodoRegistrado.IdMetodo, elPaqueteRegistrado.IdPaquete, elProyectoRegistrado.IdProyecto, laClaseRegistrada.IdClase));
                                    if (elControl.OtroControl != null)
                                    {
                                        contexto.R2PBControl.Add(ConstruyaElControl(elControl.OtroControl, elMetodoRegistrado.IdMetodo, elPaqueteRegistrado.IdPaquete, elProyectoRegistrado.IdProyecto, laClaseRegistrada.IdClase));
                                    }
                                }
                                contexto.SaveChanges();
                            }

                            foreach (Using elUsing in laClase.Usings)
                            {
                                contexto.R2PBUsing.Add(ConstruyaElUsing(elUsing, laClaseRegistrada.IdClase, elProyectoRegistrado.IdProyecto, elPaqueteRegistrado.IdPaquete));
                            }

                            foreach (Herencia laHerencia in laClase.Herencias)
                            {
                                contexto.R2PBHerencia.Add(ConstruyaLaHerencia(laHerencia, laClaseRegistrada.IdClase, elProyectoRegistrado.IdProyecto, elPaqueteRegistrado.IdPaquete));
                            }

                            foreach (Propiedad laPropiedad in laClase.Propiedades)
                            {
                                contexto.R2PBPropiedad.Add(ConstruyaLaPropiedad(laPropiedad, laClaseRegistrada.IdClase, elProyectoRegistrado.IdProyecto, elProyectoRegistrado.IdPaquete));
                            }

                            contexto.SaveChanges();
                        }
                    }
                    catch (DbEntityValidationException ex)
                    {
                        var mensajesError    = ex.EntityValidationErrors.SelectMany(x => x.ValidationErrors).Select(x => x.ErrorMessage);
                        var todoslosMensajes = string.Join("; ", mensajesError);

                        Bitacoras.Registrador elRegistrador = new Bitacoras.Registrador();
                        elRegistrador.Registre(new SI.Datos.Bitacoras.Bitacora {
                            IdSolucion = elPaqueteRegistrado.IdentificadorPaquete,
                            StackTrace = ex.StackTrace,
                            Tipo       = BC.Componentes.AnalizadorCodigoFuente,
                            Mensaje    = ex.Message,
                            MasInformacionExcepcion = todoslosMensajes,
                        });
                    }
                }
                return(elPaqueteRegistrado.IdPaquete);
            }
        }