Exemple #1
0
        public async Task <IActionResult> DescargarDetallePlanAnualAdquisicion([FromQuery(Name = "cdp")] int cdp,
                                                                               [FromQuery(Name = "instancia")] int instancia)
        {
            string tipoDocumento = string.Empty;

            var enumTipoDocumento = (TipoDocumento)instancia;

            tipoDocumento = enumTipoDocumento.ToString();

            string        nombreArchivo = "DetallePlanAnualAdquisicion_" + tipoDocumento + "_" + cdp.ToString() + "_.xlsx";
            List <CDPDto> lista         = null;

            try
            {
                var usuarioId = int.Parse(User.FindFirst(ClaimTypes.NameIdentifier).Value);
                valorPciId = User.FindFirst(ClaimTypes.Role).Value;
                if (!string.IsNullOrEmpty(valorPciId))
                {
                    pciId = int.Parse(valorPciId);
                }

                UserParams userParams = new UserParams();
                userParams.PageSize   = 500;
                userParams.PageNumber = 1;
                userParams.PciId      = pciId;

                var pagedList = await _repo.ObtenerDetallePlanAnualAdquisicion(cdp, instancia, userParams);

                if (pagedList != null)
                {
                    lista = _mapper.Map <List <CDPDto> >(pagedList);
                    DataTable dtResultado = _procesoCreacionExcelInterface.ObtenerTablaDetallePlanAnualAdquisicion(lista);
                    return(_procesoCreacionExcelInterface.ExportExcel(Response, dtResultado, nombreArchivo));
                }
            }
            catch (Exception)
            {
                throw;
            }
            return(BadRequest());
        }