private void btnBuscar_Click(object sender, EventArgs e)
        {
            try
            {
                if (ValidarInputs())
                {
                    CorridaSubidaArchivoSearch search = new CorridaSubidaArchivoSearch();
                    if (!string.IsNullOrEmpty(this.txtIdentificador.Text))
                    {
                        search.CorridaId = Convert.ToInt64(this.txtIdentificador.Text);
                    }

                    search.NombreArchivoLike = this.txtNombreDeArchivo.Text;
                    search.FechaDesde        = dtpFechaDesde.Value;
                    search.FechaHasta        = dtpFechaHasta.Value;

                    var searchResult = SubidaArchivoService.ObtenerCorridas(search);
                    this.lblCantidadReg.Text = searchResult.Count.ToString();

                    this.bsCorridaSubidaArchivo.DataSource = searchResult;
                    this.gridCorridas.DataSource           = this.bsCorridaSubidaArchivo;
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
            }
        }
        private void FormDetalleDeEnvioArhivoAWeb_Load(object sender, EventArgs e)
        {
            CorridaSubidaArchivoSearch search = new CorridaSubidaArchivoSearch();

            search.CorridaId   = CorridaId;
            search.LoadLog     = true;
            search.LoadDetalle = true;

            CorridaSubidaArchivoDto corridaDto = SubidaArchivoService.ObtenerCorridas(search).Single();

            this.lblIdentificador.Text = corridaDto.Id.ToString();
            this.lblFecha.Text         = corridaDto.FechaProceso.ToString();

            CargarLog(corridaDto);
            CargarDetalleDeArchivos(corridaDto);
        }
        private void btnRefresh_Click(object sender, EventArgs e)
        {
            try
            {
                this.LogTextBox.Clear();
                CorridaSubidaArchivoSearch search = new CorridaSubidaArchivoSearch();
                search.CorridaId = CorridaId;
                search.LoadLog   = true;

                CorridaSubidaArchivoDto corridaDto = SubidaArchivoService.ObtenerCorridas(search).Single();
                CargarLog(corridaDto);
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
            }
        }
Ejemplo n.º 4
0
        public List <CorridaSubidaArchivoDto> ObtenerCorridas(CorridaSubidaArchivoSearch search)
        {
            List <CorridaSubidaArchivoDto> dto    = null;
            SubidaArchivoServiceClient     client = new SubidaArchivoServiceClient();

            ClientCredentialHelper.SetCredentials(client.ClientCredentials);
            try
            {
                dto = client.ObtenerCorridas(search);
                client.Close();
            }
            catch
            {
                if (client.State != System.ServiceModel.CommunicationState.Closed)
                {
                    client.Abort();
                }

                throw;
            }

            return(dto);
        }
        private void MostrarLog()
        {
            CorridaSubidaArchivoSearch search = new CorridaSubidaArchivoSearch();

            search.CorridaId  = CorridaSubidaArchivo.Id;
            search.LoadLog    = true;
            search.FechaDesde = fechaLog;

            var corrida = this.SubidaArchivoService.ObtenerCorridas(search).First();
            List <CorridaSubidaArchivoLogDto> logs = corrida.Log;

            if (logs != null && logs.Count() > 0)
            {
                foreach (CorridaSubidaArchivoLogDto log in logs)
                {
                    if (log.FinCorrida)
                    {
                        // Si solo quedan los emails, pooleo en menos tiempo
                        this.timerLog.Interval = this.timerLog.Interval * 7;
                        //.Stop();
                        //fechaLog = DateTime.MinValue;
                        this.btnVerDetalleCorrida.Enabled = true;
                        //break;
                    }

                    if (log.Id > lastLogId)
                    {
                        this.LogTextBox.Text += log.Mensaje + Environment.NewLine;
                    }
                }

                var lastLog = logs.Last();
                lastLogId = lastLog.Id;
                fechaLog  = lastLog.Fecha;
            }
        }
Ejemplo n.º 6
0
        /// <summary>
        /// Obtiene las corridas de subida de archivo
        /// </summary>
        /// <param name="search"></param>
        /// <returns></returns>
        public List <CorridaSubidaArchivoDto> ObtenerCorridas(CorridaSubidaArchivoSearch search)
        {
            List <CorridaSubidaArchivoDto> corridasList = new List <CorridaSubidaArchivoDto>();

            using (FacturaElectronicaEntities ctx = new FacturaElectronicaEntities())
            {
                IQueryable <CorridaSubidaArchivo> query = ctx.CorridaSubidaArchivoes;

                if (search.CorridaId.HasValue)
                {
                    query = query.Where(c => c.Id == search.CorridaId);
                }
                else
                {
                    if (!String.IsNullOrEmpty(search.NombreArchivoLike))
                    {
                        query = query.Where(c => c.CorridaSubidaArchivoDetalles.Where(d => d.NombreArchivo.Contains(search.NombreArchivoLike)).Count() > 0);
                    }

                    if (search.FechaDesde.HasValue)
                    {
                        DateTime desde = search.FechaDesde.Value.Date;
                        query = query.Where(c => c.FechaProceso >= desde);
                    }

                    if (search.FechaHasta.HasValue)
                    {
                        DateTime hasta = search.FechaHasta.Value.Date.AddDays(1).AddSeconds(-1);
                        query = query.Where(c => c.FechaProceso <= hasta);
                    }
                }

                query = query.OrderByDescending(c => c.Id);

                List <CorridaSubidaArchivo> corridas = query.ToList();
                foreach (var dbCorrida in corridas)
                {
                    CorridaSubidaArchivoDto corridaDto = new CorridaSubidaArchivoDto();
                    EntityMapper.Map(dbCorrida, corridaDto);

                    if (search.LoadDetalle)
                    {
                        List <CorridaSubidaArchivoDetalleDto> detalleDtoList = new List <CorridaSubidaArchivoDetalleDto>();
                        foreach (var dbDetalle in dbCorrida.CorridaSubidaArchivoDetalles)
                        {
                            CorridaSubidaArchivoDetalleDto detalle = new CorridaSubidaArchivoDetalleDto();
                            EntityMapper.Map(dbDetalle, detalle);
                            detalleDtoList.Add(detalle);
                        }

                        corridaDto.Detalles = detalleDtoList;
                    }

                    if (search.LoadLog)
                    {
                        List <CorridaSubidaArchivoLogDto>    logDtoList = new List <CorridaSubidaArchivoLogDto>();
                        IQueryable <CorridaSubidaArchivoLog> queryLog   = dbCorrida.CorridaSubidaArchivoLogs.AsQueryable();

                        if (search.FechaLog.HasValue)
                        {
                            queryLog = queryLog.Where(l => l.Fecha >= search.FechaLog.Value);
                        }

                        foreach (var dbLog in queryLog)
                        {
                            CorridaSubidaArchivoLogDto logDto = new CorridaSubidaArchivoLogDto();
                            EntityMapper.Map(dbLog, logDto);
                            logDtoList.Add(logDto);
                            if (logDto.Mensaje == FinCorridaStr)
                            {
                                logDto.FinCorrida = true;
                            }
                        }

                        corridaDto.Log = logDtoList;
                    }

                    corridasList.Add(corridaDto);
                }
            }

            return(corridasList);
        }