コード例 #1
0
ファイル: RecruitmentsController.cs プロジェクト: jump720/MMS
        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));
        }
コード例 #2
0
        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));
        }