public async Task <ActionResult> DetailsPanel(TipoPQRS TipoPQRS, int DataId, int RecordId) { var data = new PQRSTimeLineViewModel(); if (TipoPQRS == TipoPQRS.Recruitment) { data.formato = await db.Recruitments .Include(d => d.UsuarioCreacion) .Include(d => d.Analista) .Where(d => d.RecruitmentId == DataId && d.PQRSRecordId == RecordId) .Select(d => new PQRSTimeLineViewModel.Formato { TipoPQRS = TipoPQRS, Id = d.RecruitmentId, FechaCreacion = d.CreationDate, UsuarioIdCreacion = d.UsuarioCreacion.UsuarioNombre, Estado = d.Estado, Prioridad = Prioridad.Baja, TipoPersona = TipoPersona.Otro, Persona = "", ClienteId = "", AnalistaId = d.Analista.UsuarioNombre, Asunto = d.Appointment, Observacion = d.Appointment, Destinatarios = d.Appointment, NroTracking = d.NroTracking }) .FirstOrDefaultAsync(); data.formatoArchivos = new List <PQRSTimeLineViewModel.Comentarios.Archivos>(); data.formatoItems = new List <PQRSTimeLineViewModel.FormatoItems>(); //data.formatoArchivos = await db.DevolucionArchivos // .Where(di => di.DevolucionId == DataId) // .Select(da => new PQRSTimeLineViewModel.Comentarios.Archivos { Item = da.Order, FileName = da.FileName }) // .ToListAsync(); //data.formatoItems = await db.DevolucionItems // .Include(di => di.MotivoPQRS) // .Include(di => di.Items) // .Where(di => di.DevolucionId == DataId && di.PQRSRecordId == RecordId) // .Select(di => new PQRSTimeLineViewModel.FormatoItems // { // Id = di.Id, // ItemId = di.ItemId, // Cantidad = di.Cantidad, // Precio = di.Precio, // NroFactura = di.NroFactura, // NroGuia = di.NroGuia, // MotivoPQRSId = di.MotivoPQRSId, // ComentarioAdicional = di.ComentarioAdicional, // Estado = di.Estado, // CantidadRecibida = di.CantidadRecibida, // CantidadSubida = di.CantidadSubida, // ComentarioEstadoMercancia = di.ComentarioEstadoMercancia, // DocSoporte = di.DocSoporte, // MotivoPQRS = di.MotivoPQRS, // Items = di.Items // }) // .ToListAsync(); } //Lista de pasos. var PQRSRecords = await db.PQRSRecords .Include(p => p.PQRSRecordUsuarios) .Where(pr => pr.Id == RecordId).ToListAsync(); data.PQRSRecords = PQRSRecords; //Lista de comentarios var PQRSRecordComentarios = await db.PQRSRecordComentarios .Include(pc => pc.Usuario) .Where(pc => pc.PQRSRecordId == RecordId).ToListAsync(); List <PQRSTimeLineViewModel.Comentarios> Comentarios = new List <PQRSTimeLineViewModel.Comentarios>(); foreach (var c in PQRSRecordComentarios) { PQRSTimeLineViewModel.Comentarios comentario = new PQRSTimeLineViewModel.Comentarios(); comentario.PQRSRecordComentarios = c; comentario.PQRSRecordDocumentos = await db.PQRSRecordDocumentos .Include(pd => pd.TipoDocSoporte) .Where(pd => pd.PQRSRecordComentarioId == c.Id).ToListAsync(); comentario.PQRSRecordArchivos = await db.PQRSRecordArchivos .Where(pa => pa.PQRSRecordComentarioId == c.Id) .Select(pa => new PQRSTimeLineViewModel.Comentarios.Archivos { Id = pa.PQRSRecordComentarioId, Item = pa.Item, FileName = pa.FileName }).ToListAsync(); Comentarios.Add(comentario); } data.PQRSRecordComentarios = Comentarios; return(View(data)); }
public async Task <ActionResult> Details(TipoPQRS TipoPQRS, int DataId, int RecordId) { var data = new PQRSTimeLineViewModel(); if (TipoPQRS == TipoPQRS.Devolucion) { data.formato = await db.Devoluciones .Include(d => d.UsuarioCreacion) .Include(d => d.Analista) .Where(d => d.Id == DataId) .Select(d => new PQRSTimeLineViewModel.Formato { TipoPQRS = TipoPQRS, Id = d.Id, FechaCreacion = d.FechaCreacion, UsuarioIdCreacion = d.UsuarioCreacion.UsuarioNombre, Estado = d.Estado, Prioridad = Prioridad.Baja, TipoPersona = TipoPersona.Otro, Persona = "", ClienteId = d.ClienteId, AnalistaId = d.Analista.UsuarioNombre, Asunto = d.Asunto, Observacion = d.Observacion, Destinatarios = d.Destinatarios, NroTracking = d.NroTracking }) .FirstOrDefaultAsync(); data.formatoArchivos = await db.DevolucionArchivos .Where(di => di.DevolucionId == DataId) .Select(da => new PQRSTimeLineViewModel.Comentarios.Archivos { Item = da.Order, FileName = da.FileName }) .ToListAsync(); data.formatoItems = await db.DevolucionItems .Include(di => di.MotivoPQRS) .Include(di => di.Items) .Where(di => di.DevolucionId == DataId && di.PQRSRecordId == RecordId) .Select(di => new PQRSTimeLineViewModel.FormatoItems { Id = di.Id, ItemId = di.ItemId, Cantidad = di.Cantidad, Precio = di.Precio, NroFactura = di.NroFactura, NroGuia = di.NroGuia, MotivoPQRSId = di.MotivoPQRSId, ComentarioAdicional = di.ComentarioAdicional, Estado = di.Estado, CantidadRecibida = di.CantidadRecibida, CantidadSubida = di.CantidadSubida, ComentarioEstadoMercancia = di.ComentarioEstadoMercancia, DocSoporte = di.DocSoporte, MotivoPQRS = di.MotivoPQRS, Items = di.Items }) .ToListAsync(); } else if (TipoPQRS == TipoPQRS.Garantia) { data.formato = await db.Garantias .Include(d => d.UsuarioCreacion) .Include(d => d.Analista) .Where(d => d.Id == DataId) .Select(d => new PQRSTimeLineViewModel.Formato { TipoPQRS = TipoPQRS, Id = d.Id, FechaCreacion = d.FechaCreacion, UsuarioIdCreacion = d.UsuarioCreacion.UsuarioNombre, Estado = d.Estado, Prioridad = Prioridad.Baja, TipoPersona = TipoPersona.Otro, Persona = "", ClienteId = d.ClienteId, AnalistaId = d.Analista.UsuarioNombre, Asunto = d.Asunto, Observacion = d.Observacion, Destinatarios = d.Destinatarios, NroTracking = d.NroTracking }).FirstOrDefaultAsync(); data.formatoArchivos = await db.GarantiaArchivos .Where(di => di.GarantiaId == DataId) .Select(da => new PQRSTimeLineViewModel.Comentarios.Archivos { Item = da.Order, FileName = da.FileName }) .ToListAsync(); data.formatoItems = await db.GarantiaItems .Include(di => di.MotivoPQRS) .Include(di => di.Items) .Where(di => di.GarantiaId == DataId && di.PQRSRecordId == RecordId) .Select(di => new PQRSTimeLineViewModel.FormatoItems { Id = di.Id, ItemId = di.ItemId, Cantidad = di.Cantidad, Precio = di.Precio, NroFactura = di.NroFactura, NroGuia = di.NroGuia, MotivoPQRSId = di.MotivoPQRSId, ComentarioAdicional = di.ComentarioAdicional, Estado = di.Estado, CantidadRecibida = di.CantidadRecibida, CantidadSubida = di.CantidadSubida, ComentarioEstadoMercancia = di.ComentarioEstadoMercancia, DocSoporte = di.DocSoporte, MotivoPQRS = di.MotivoPQRS, Items = di.Items }) .ToListAsync(); } else if (TipoPQRS == TipoPQRS.Novedad) { data.formato = await db.Novedad .Include(d => d.UsuarioCreacion) .Include(d => d.Analista) .Where(d => d.Id == DataId) .Select(d => new PQRSTimeLineViewModel.Formato { TipoPQRS = TipoPQRS, Id = d.Id, FechaCreacion = d.FechaCreacion, UsuarioIdCreacion = d.UsuarioCreacion.UsuarioNombre, Estado = d.Estado, Prioridad = Prioridad.Baja, TipoPersona = d.TipoPersona, Persona = d.Persona, ClienteId = d.ClienteId, AnalistaId = d.Analista.UsuarioNombre, Asunto = d.Asunto, Observacion = d.Observacion, Destinatarios = d.Destinatarios, NroTracking = d.NroTracking }).FirstOrDefaultAsync(); data.formatoArchivos = await db.NovedadArchivo .Where(di => di.NovedadId == DataId) .Select(da => new PQRSTimeLineViewModel.Comentarios.Archivos { Item = da.Order, FileName = da.FileName }) .ToListAsync(); data.formatoItems = await db.NovedadItem .Include(di => di.MotivoPQRS) .Include(di => di.Items) .Where(di => di.NovedadId == DataId && di.PQRSRecordId == RecordId) .Select(di => new PQRSTimeLineViewModel.FormatoItems { Id = di.Id, ItemId = di.ItemId, Cantidad = di.Cantidad, Precio = di.Precio, NroFactura = di.NroFactura, NroGuia = di.NroGuia, MotivoPQRSId = di.MotivoPQRSId, ComentarioAdicional = di.ComentarioAdicional, Estado = di.Estado, CantidadRecibida = di.CantidadRecibida, CantidadSubida = di.CantidadSubida, ComentarioEstadoMercancia = di.ComentarioEstadoMercancia, DocSoporte = di.DocSoporte, MotivoPQRS = di.MotivoPQRS, Items = di.Items }) .ToListAsync(); } //Lista de pasos. var PQRSRecords = await db.PQRSRecords .Include(p => p.PQRSRecordUsuarios) .Where(pr => pr.Id == RecordId).ToListAsync(); data.PQRSRecords = PQRSRecords; //Lista de comentarios var PQRSRecordComentarios = await db.PQRSRecordComentarios .Include(pc => pc.Usuario) .Where(pc => pc.PQRSRecordId == RecordId).ToListAsync(); List <PQRSTimeLineViewModel.Comentarios> Comentarios = new List <PQRSTimeLineViewModel.Comentarios>(); foreach (var c in PQRSRecordComentarios) { PQRSTimeLineViewModel.Comentarios comentario = new PQRSTimeLineViewModel.Comentarios(); comentario.PQRSRecordComentarios = c; comentario.PQRSRecordDocumentos = await db.PQRSRecordDocumentos .Include(pd => pd.TipoDocSoporte) .Where(pd => pd.PQRSRecordComentarioId == c.Id).ToListAsync(); comentario.PQRSRecordArchivos = await db.PQRSRecordArchivos .Where(pa => pa.PQRSRecordComentarioId == c.Id) .Select(pa => new PQRSTimeLineViewModel.Comentarios.Archivos { Id = pa.PQRSRecordComentarioId, Item = pa.Item, FileName = pa.FileName }).ToListAsync(); Comentarios.Add(comentario); } data.PQRSRecordComentarios = Comentarios; return(View(data)); }