Esempio n. 1
0
        private static SolicitudArchivo FabricarSolicitudArchivo(Solicitud s, Area a, string nombreArchivo, int i)
        {
            SolicitudArchivo sa = new SolicitudArchivo();

            sa.Area     = a;
            sa.SarID    = String.Concat(s.Ambiente.Abreviatura, "-", a.Abreviatura, "-", s.Proyecto.Codigo, "-", s.FechaCreacion.ToString("ddMMyy"), "-", i.ToString());
            sa.Archivos = new List <Archivo>();
            Archivo archivo = new Archivo();

            archivo.Nombre = nombreArchivo;
            archivo.Id     = i;
            sa.Archivos.Add(archivo);
            return(sa);
        }
Esempio n. 2
0
        /// <summary>
        /// Lista los archivos de una solicitud por cada area. En el caso de areas que no tengan correos
        /// especificados (Configuraciones), se agrupan los archivos de esta area como un solo Sar ID
        /// </summary>
        /// <param name="s">Solicitd</param>
        /// <returns>Lista de archivos de una solicitud</returns>
        public static List <SolicitudArchivo> ListarArchivos(Solicitud s)
        {
            List <SolicitudArchivo> sas = new List <SolicitudArchivo>();
            Area   a             = null;
            string nombreArchivo = String.Empty;

            //int j = 0;
            for (int i = 1; i <= 10; i++)
            {
                a             = ObtenerArea(s, i);
                nombreArchivo = ObtenerNombreArchivo(s, i);
                if (a.Id > 0 && !String.IsNullOrEmpty(nombreArchivo))
                {
                    //j++;
                    if (a.Correos.Count() > 0)
                    {
                        SolicitudArchivo sa = FabricarSolicitudArchivo(s, a, nombreArchivo, i);
                        sas.Add(sa);
                    }
                    else
                    {
                        // Un pase de configuración, usualmente se adjuntan mas de un archivo
                        // Buscar si ya existe la configuracion en la lista de archivos
                        SolicitudArchivo saBuscado = sas.FirstOrDefault(p => p.Area.Id == a.Id);
                        if (saBuscado != null)
                        {
                            // Si existe, entonces agregar el archivo solamente
                            Archivo archivo = new Archivo();
                            archivo.Nombre = nombreArchivo;
                            archivo.Id     = i;
                            saBuscado.Archivos.Add(archivo);
                        }
                        else
                        {
                            saBuscado = FabricarSolicitudArchivo(s, a, nombreArchivo, i);
                            sas.Add(saBuscado);
                        }
                    }
                }
            }
            return(sas);
        }