public HttpResponseMessage GetReporteExcelRegistroControl([FromUri] ParametersRegistroControl parms) { HttpResponseMessage response = Request.CreateResponse(HttpStatusCode.BadRequest); List <ReporteRegistroControlPartialModel> Lista = GetRegistroControlFiltro(parms); MemoryStream memoryStream = new MemoryStream(); List <string[]> header = new List <string[]>(); header.Add(new string[] { "A" }); header.Add(new string[] { "B" }); header.Add(new string[] { "C" }); header.Add(new string[] { "D" }); header.Add(new string[] { "E" }); byte[] fileExcell = reportExcelService.CreateReportBinary <ReporteRegistroControlPartialModel>(header, Lista, "Excel1"); var contentLength = fileExcell.Length; var statuscode = HttpStatusCode.OK; response = Request.CreateResponse(statuscode); response.Content = new StreamContent(new MemoryStream(fileExcell)); response.Content.Headers.ContentType = new MediaTypeHeaderValue("application/octet-stream"); response.Content.Headers.ContentLength = contentLength; ContentDispositionHeaderValue contentDisposition = null; if (ContentDispositionHeaderValue.TryParse("inline; filename=" + "document" + ".xlsx", out contentDisposition)) { response.Content.Headers.ContentDisposition = contentDisposition; } return(response); }
public async Task <IHttpActionResult> GetRegistroControl([FromUri] ParametersRegistroControl parms) { try { IdentityUser user = await UserManager.FindByIdAsync(User.Identity.GetUserId()); var userArea = usuarioAreaService.GetAll(d => d.US_ID_USUARIO == user.Id && d.UA_ESTATUS == 1, null, includes: c => c.AspNetUsers).ToList(); var userAreacod = new List <AreaOperativaModel>(); foreach (var item in userArea) { userAreacod.Add(areaOperativaService.GetSingle(d => d.CA_ID_AREA == item.CA_ID_AREA)); } //var rgcont = GetRegistroControlFiltro(parms); List <ReporteRegistroControlPartialModel> RegistroControl = GetRegistroControlFiltro(parms); var retorno = new List <ReporteRegistroControlPartialModel>(); foreach (var a in RegistroControl) { foreach (var b in userAreacod) { if (a.AreaId == b.CA_ID_AREA) { retorno.Add(a); } } } var ListRetorno = retorno.Select(c => new { Supervisor = c.Supervisor, NombreOperacion = c.NombreOperacion, Lote = c.Lote, Capturador = c.Capturador, TotalRegistro = c.TotalRegistro, TotalDebito = c.TotalDebito.ToString("N2"), TotalCredito = c.TotalCredito.ToString("N2"), Total = c.Total.ToString("N2"), Status = c.Status, FechaCreacion = c.FechaCreacion, HoraCreacion = c.HoraCreacion }); if (ListRetorno != null) { return(Ok(ListRetorno)); } return(NotFound()); } catch (Exception e) { return(BadRequest(e.Message)); } }
public List <ReporteRegistroControlPartialModel> GetRegistroControlFiltro(ParametersRegistroControl parms) { List <ReporteRegistroControlModel> Registrocontrol; DateTime ParfechaAc = DateTime.Now.Date.Date; // ultima version Registrocontrol = reportService.GetAll(c => c.RC_FECHA_CREACION >= ParfechaAc, null, includes: c => c.AspNetUsers).ToList(); List <ComprobanteModel> Comprobante = serviceComprobante.GetAll(c => (c.TC_FECHA_CREACION >= ParfechaAc || c.TC_FECHA_APROBACION >= ParfechaAc || c.TC_FECHA_RECHAZO >= ParfechaAc || c.TC_FECHA_MOD >= ParfechaAc), null, includes: c => c.AspNetUsers).ToList(); var estatusList = catalagoService.GetAll(c => c.CA_TABLA == "sax_estatus_carga", null, c => c.SAX_CATALOGO_DETALLE).FirstOrDefault(); var ltsTipoOperacion = catalagoService.GetAll(c => c.CA_TABLA == "sax_tipo_operacion", null, c => c.SAX_CATALOGO_DETALLE).FirstOrDefault(); var ListaOperacion = ltsTipoOperacion.SAX_CATALOGO_DETALLE.Where(s => s.CD_VALOR != "CONCILIACION").ToList(); //var retorno = new List<ReporteRegistroControlPartialModel>(); int EstausConc = Convert.ToInt16(BusinessEnumerations.EstatusCarga.CONCILIADO); string Conc_Aut = Convert.ToString(BusinessEnumerations.TipoConciliacion.AUTOMATICO); string Conc_Man = Convert.ToString(BusinessEnumerations.TipoConciliacion.MANUAL); int EstatusAnul = Convert.ToInt16(BusinessEnumerations.EstatusCarga.ANULADO); int PorAnular = Convert.ToInt16(BusinessEnumerations.EstatusCarga.POR_ANULAR); int Rechazado = Convert.ToInt16(BusinessEnumerations.EstatusCarga.RECHAZADO); int Anuladas = Convert.ToInt16(BusinessEnumerations.TipoOperacion.ANULACION); int ConcMan = Convert.ToInt16(BusinessEnumerations.TipoOperacion.CONCILIACION_MANUAL); int ConcAut = Convert.ToInt16(BusinessEnumerations.TipoOperacion.CONCILIACION); //Comprobante = Comprobante.Where(t => ( t.TC_ESTATUS != EstausConc.ToString()) ).ToList(); var comprobante = new List <ComprobanteModel>(); var registrocontrol = new List <ReporteRegistroControlModel>(); foreach (var g in ListaOperacion) { foreach (var r in Registrocontrol) { if (r.RC_COD_OPERACION == g.CD_ESTATUS) { registrocontrol.Add(r); } } foreach (var t in Comprobante) { if (t.TC_COD_OPERACION == g.CD_ESTATUS.ToString()) { comprobante.Add(t); } } } if (parms != null) { int aprobacion = Convert.ToInt16(parms.TipoAprobacion); if (parms.TipoAprobacion != null && parms.TipoAprobacion != string.Empty) { if (aprobacion == Anuladas) //Colocar anulaciones { comprobante = comprobante.Where(x => (x.TC_ESTATUS == EstatusAnul.ToString())).ToList(); registrocontrol = registrocontrol.Where(x => x.RC_COD_OPERACION == aprobacion).ToList(); } else { registrocontrol = registrocontrol.Where(x => x.RC_COD_OPERACION.Equals(aprobacion)).ToList(); comprobante = comprobante.Where(x => x.TC_COD_OPERACION == aprobacion.ToString()).ToList(); } } if (parms.Lote != null && parms.Lote != string.Empty) { registrocontrol = registrocontrol.Where(x => x.RC_COD_PARTIDA.Equals(parms.Lote)).ToList(); comprobante = comprobante.Where(x => x.TC_COD_COMPROBANTE.Equals(parms.Lote)).ToList(); } } var comprobantes = new List <ComprobanteModel>(); ComprobanteModel reg2 = new ComprobanteModel(); foreach (var reg in comprobante) { if (reg.TC_ESTATUS == EstatusAnul.ToString() || reg.TC_ESTATUS == PorAnular.ToString()) //COMPROBANTES DE CONCILIACION { reg.TC_USUARIO_CREACION = reg.TC_USUARIO_MOD; reg.TC_FECHA_CREACION = reg.TC_FECHA_MOD != null ? reg.TC_FECHA_MOD.Value : ParfechaAc; } if (reg.TC_FECHA_RECHAZO != null) { if (reg.TC_FECHA_APROBACION != null) { if (reg.TC_ESTATUS == EstatusAnul.ToString() && reg.TC_FECHA_APROBACION.Value.Date == reg.TC_FECHA_RECHAZO.Value.Date) { reg2 = reg.CloneEntity(); reg2.TC_ESTATUS = Rechazado.ToString(); reg2.TC_FECHA_CREACION = reg.TC_FECHA_RECHAZO != null ? reg.TC_FECHA_RECHAZO.Value : ParfechaAc; } } } if (reg.TC_ESTATUS == EstausConc.ToString()) // estatus actual { if (reg.TC_FECHA_RECHAZO == null && reg.TC_FECHA_APROBACION == null) { // ESTOY CREANDO } else { //if (reg.TC_FECHA_APROBACION != null) //{ // if (reg.TC_FECHA_APROBACION.Value.Date == ParfechaAc) // { // //reg.TC_ESTATUS = EstatusAnul.ToString(); // //reg.TC_USUARIO_CREACION = reg.TC_USUARIO_APROBADOR; // //reg.TC_FECHA_CREACION = reg.TC_FECHA_APROBACION != null ? reg.TC_FECHA_APROBACION.Value : ParfechaAc; // } //} if (reg.TC_FECHA_APROBACION_ANULACION != null) { if (reg.TC_FECHA_APROBACION_ANULACION.Value.Date == ParfechaAc) { reg.TC_ESTATUS = EstatusAnul.ToString(); reg.TC_USUARIO_CREACION = reg.TC_USUARIO_MOD; reg.TC_FECHA_CREACION = reg.TC_FECHA_MOD.Value; //reg.TC_FECHA_APROBACION_ANULACION != null ? reg.TC_FECHA_APROBACION_ANULACION.Value : ParfechaAc; } } if (reg.TC_FECHA_RECHAZO_ANULACION != null) { if (reg.TC_FECHA_RECHAZO_ANULACION.Value.Date == ParfechaAc) { reg.TC_ESTATUS = Rechazado.ToString(); reg.TC_USUARIO_CREACION = reg.TC_USUARIO_MOD; reg.TC_FECHA_CREACION = reg.TC_FECHA_MOD != null ? reg.TC_FECHA_MOD.Value : ParfechaAc; } } } } //else //{ // if (reg.TC_ESTATUS == EstatusAnul.ToString()) // { // reg.TC_USUARIO_CREACION = reg.TC_USUARIO_MOD; // reg.TC_FECHA_CREACION = reg.TC_FECHA_MOD.Value; // } //} if (reg.TC_ESTATUS == EstausConc.ToString()) { if (reg.TC_COD_OPERACION == ConcAut.ToString()) { } else { comprobantes.Add(reg); } } else { comprobantes.Add(reg); } if (reg2.TC_COD_COMPROBANTE == reg.TC_COD_COMPROBANTE) { comprobantes.Add(reg2); reg2 = new ComprobanteModel(); } } if (parms.UsuarioCapturador != null && parms.UsuarioCapturador != string.Empty) { registrocontrol = registrocontrol.Where(x => x.RC_USUARIO_CREACION.Equals(parms.UsuarioCapturador)).ToList(); comprobantes = comprobantes.Where(x => x.TC_USUARIO_CREACION.Equals(parms.UsuarioCapturador)).ToList(); //comprobante.Where(x => (x.TC_USUARIO_CREACION.Equals(parms.UsuarioCapturador) || x.TC_USUARIO_MOD.Equals(parms.UsuarioCapturador))).ToList(); } List <ReporteRegistroControlPartialModel> Lista = (from c in registrocontrol select new ReporteRegistroControlPartialModel { Supervisor = (c.AspNetUsers != null ? c.AspNetUsers.LastName : ""), //Supervisor = GetNameSupervisor(c.RC_USUARIO_APROBADOR.ToString()), NombreOperacion = GetNameTipoOperacion(c.RC_COD_OPERACION.ToString(), ref ltsTipoOperacion, "No"), Lote = c.RC_COD_PARTIDA, Capturador = c.AspNetUsers1 != null ? c.AspNetUsers1.LastName : "", TotalRegistro = c.RC_TOTAL_REGISTRO, TotalDebito = c.RC_TOTAL_DEBITO, TotalCredito = c.RC_TOTAL_CREDITO, Total = c.RC_TOTAL, Status = GetStatusRegistroControl(c.RC_ESTATUS_LOTE.ToString(), estatusList), FechaCreacion = c.RC_FECHA_CREACION.ToString("MM/dd/yyyy", CultureInfo.InvariantCulture), HoraCreacion = c.RC_FECHA_CREACION.ToString("HH:mm:ss"), AreaId = Convert.ToInt16(c.CA_ID_AREA) } ).ToList(); List <ReporteRegistroControlPartialModel> Lista2 = (from c in comprobantes select new ReporteRegistroControlPartialModel { Supervisor = c.AspNetUsers1 != null ? c.AspNetUsers1.LastName : "", NombreOperacion = GetNameTipoOperacion(c.TC_COD_OPERACION, ref ltsTipoOperacion, c.TC_USUARIO_MOD), Lote = c.TC_COD_COMPROBANTE, //Capturador = c.AspNetUsers != null ? c.AspNetUsers.LastName : "", Capturador = GetNameSupervisor(c.TC_USUARIO_CREACION.ToString()), TotalRegistro = c.TC_TOTAL_REGISTRO, TotalDebito = c.TC_TOTAL_DEBITO, TotalCredito = c.TC_TOTAL_CREDITO, Total = c.TC_TOTAL, Status = GetStatusRegistroControl(c.TC_ESTATUS, estatusList), FechaCreacion = c.TC_FECHA_CREACION.ToString("MM/dd/yyyy", CultureInfo.InvariantCulture), HoraCreacion = c.TC_FECHA_CREACION.ToString("HH:mm:ss"), AreaId = Convert.ToInt16(c.CA_ID_AREA) }).ToList(); List <ReporteRegistroControlPartialModel> Lista3 = Lista.Union(Lista2).ToList(); return(Lista3.OrderBy(j => j.FechaCreacion).ToList()); }