Ejemplo n.º 1
0
        public IssueEntity Crear(DirectoryInfo directorio)
        {
            _ScriptList = null;
            _ScriptList = new List <ScriptEntity>();

            string prefix;

            for (int i = 1; i <= 9999; i++)
            {
                prefix = i.ToString().PadLeft(4, '0');
                FileInfo[] files = directorio.GetFiles(prefix + kFilter);
                if (files.Length == 0)
                {
                    break;
                }

                ProcesarScripts(directorio.Name, prefix, files);
            }

            //TODO: validar que no existan mas archivos que los procesados.


            IssueEntity incidencia = new IssueEntity();

            incidencia.Secuencia = 1;
            try
            {
                incidencia.Nro        = Convert.ToInt32(directorio.Name);
                incidencia.PathFisico = directorio.FullName;
            }
            catch (FormatException fe)
            {
                // ignoramos el directorio que esta mal nombrado
                return(null);

                //TODO: podemos poner un aviso al usuario de los directorios no procesados.
            }


            incidencia.Nombre = directorio.Name;

            foreach (ScriptEntity s in _ScriptList)
            {
                s.IssueEntity = incidencia;
                incidencia.Scripts.Add(s.Secuencia, s);
            }

            _ScriptList.Clear();

            return(incidencia);
        }
Ejemplo n.º 2
0
        public void Merge(IssueEntity incidencia)
        {
            if (string.IsNullOrEmpty(this.PathFisico))
            {
                this.PathFisico = incidencia.PathFisico;
            }

            foreach (var se in this.Scripts) //por cada script entry
            {
                se.Value.Merge(incidencia.Scripts[se.Key]);
            }

            this.Nro       = incidencia.Nro;
            this.Secuencia = incidencia.Secuencia;
            this.Nombre    = incidencia.Nombre;
        }