Ejemplo n.º 1
0
        public async Task <IActionResult> OnGetAsync(string id)
        {
            if (id == null)
            {
                return(NotFound());
            }

            RelacionTecnicoSolicitud = await _context.RelacionTecnicoSolicitudes
                                       .Include(r => r.Solicitud)
                                       .Include(r => r.Tecnico).FirstOrDefaultAsync(m => m.TecnicoId == id);

            if (RelacionTecnicoSolicitud == null)
            {
                return(NotFound());
            }
            return(Page());
        }
Ejemplo n.º 2
0
        public async Task <IActionResult> OnPostAsync(string id)
        {
            if (id == null)
            {
                return(NotFound());
            }

            RelacionTecnicoSolicitud = await _context.RelacionTecnicoSolicitudes.FindAsync(id);

            if (RelacionTecnicoSolicitud != null)
            {
                _context.RelacionTecnicoSolicitudes.Remove(RelacionTecnicoSolicitud);
                await _context.SaveChangesAsync();
            }

            return(RedirectToPage("./Index"));
        }
Ejemplo n.º 3
0
        public async Task <IActionResult> OnGetAsync(string id)
        {
            if (id == null)
            {
                return(NotFound());
            }

            RelacionTecnicoSolicitud = await _context.RelacionTecnicoSolicitudes
                                       .Include(r => r.Solicitud)
                                       .Include(r => r.Tecnico).FirstOrDefaultAsync(m => m.TecnicoId == id);

            if (RelacionTecnicoSolicitud == null)
            {
                return(NotFound());
            }
            ViewData["SolicitudId"] = new SelectList(_context.Solicitudes, "SolicitudId", "RolRequerido");
            ViewData["TecnicoId"]   = new SelectList(_context.Users, "Id", "Id");
            return(Page());
        }
Ejemplo n.º 4
0
        public async Task <IActionResult> OnPostAsignarTecnicoAsync(int?id, string TecnicoIdAsignado)
        {
            // Selecciono la solicitud para actualizar.
            Solicitud solicitudActualizada = await _context.Solicitudes
                                             .Include(s => s.RelacionTecnicoSolicitud)
                                             .ThenInclude(r => r.Tecnico)
                                             .FirstOrDefaultAsync(m => m.SolicitudId == id);

            // Sí tiene un técnico, lo elimino de la solicitud.
            if (TecnicoIdAsignado != null)
            {
                await TryUpdateModelAsync <Solicitud>(solicitudActualizada);

                // Seleccionar técnico.
                ApplicationUser TecnicoAsignado = await _context.Users
                                                  .Where(u => u.Id == TecnicoIdAsignado).FirstOrDefaultAsync();

                if (TecnicoAsignado != null)
                {
                    // Definir la relación que tengo que crear.
                    var RTecnicoSolicitudNueva = new RelacionTecnicoSolicitud()
                    {
                        TecnicoId   = TecnicoIdAsignado,
                        Tecnico     = TecnicoAsignado,
                        SolicitudId = solicitudActualizada.SolicitudId,
                        Solicitud   = solicitudActualizada
                    };

                    solicitudActualizada.RelacionTecnicoSolicitud.Add(RTecnicoSolicitudNueva);
                }
            }

            // Guardar los cambios
            await _context.SaveChangesAsync();

            // Recargar la página al index.
            return(RedirectToPage("./Index"));
        }