示例#1
0
        public async Task <IActionResult> OnPostAsync()
        {
            if (!ModelState.IsValid)
            {
                return(Page());
            }

            _context.Attach(RelacionTecnicoSolicitud).State = EntityState.Modified;

            try
            {
                await _context.SaveChangesAsync();
            }
            catch (DbUpdateConcurrencyException)
            {
                if (!RelacionTecnicoSolicitudExists(RelacionTecnicoSolicitud.TecnicoId))
                {
                    return(NotFound());
                }
                else
                {
                    throw;
                }
            }

            return(RedirectToPage("./Index"));
        }
示例#2
0
        public async Task <IActionResult> OnPostAsync()
        {
            if (!ModelState.IsValid)
            {
                return(Page());
            }

            _context.Attach(Puesto).State = EntityState.Modified;

            try
            {
                await _context.SaveChangesAsync();
            }
            catch (DbUpdateConcurrencyException)
            {
                if (!PuestoExists(Puesto.PropuestaID))
                {
                    return(NotFound());
                }
                else
                {
                    throw;
                }
            }

            return(RedirectToPage("./Index"));
        }
示例#3
0
        public async Task <IActionResult> OnPostAsync()
        {
            _context.Attach(Costo).State = EntityState.Modified;

            await _context.SaveChangesAsync();

            // Se actualiza el costo en todas las solicitudes activas.
            foreach (Solicitud sol in _context.Solicitudes)
            {
                sol.ActualizarCostoSolicitudActiva();
            }

            // Se guarda la actualizacion de precios en las solicitudes.
            await _context.SaveChangesAsync();

            return(RedirectToPage("./Index"));
        }
示例#4
0
        public async Task <IActionResult> OnPostAsync()
        {
            if (!ModelState.IsValid)
            {
                return(Page());
            }

            _context.Tecnicos.Add(Tecnico);
            await _context.SaveChangesAsync();

            return(RedirectToPage("./Index"));
        }
示例#5
0
        public async Task <IActionResult> OnPostAsync()
        {
            if (!ModelState.IsValid)
            {
                return(Page());
            }

            _context.RelacionProyectoSolicitudes.Add(RelacionProyectoSolicitud);
            await _context.SaveChangesAsync();

            return(RedirectToPage("./Index"));
        }
示例#6
0
        public async Task <IActionResult> OnPostDesasignarTecnicoAsync(int id, string TecnicoIdDesasignado)
        {
            // Selecciono la solicitud para actualizar.
            Solicitud solicitudActualizada = await _context.Solicitudes
                                             .Include(s => s.RelacionTecnicoSolicitud)
                                             .ThenInclude(r => r.Tecnico)
                                             .FirstOrDefaultAsync(m => m.SolicitudId == id);

            // Selecciono el técnico especifico a partir de la solicitud involucrada.
            var TecnicoDesasignado = solicitudActualizada.RelacionTecnicoSolicitud
                                     .Where(a => a.TecnicoId == TecnicoIdDesasignado).FirstOrDefault();

            // Sí tiene un técnico, lo elimino de la solicitud.
            if (TecnicoDesasignado != null)
            {
                solicitudActualizada.RelacionTecnicoSolicitud.Remove(TecnicoDesasignado);
            }

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

            // Recargar la página al index.
            return(RedirectToPage("./Index"));
        }
示例#7
0
        public async Task <IActionResult> OnPostAsync()
        {
            if (!ModelState.IsValid)
            {
                return(Page());
            }

            _context.Attach(Solicitud).State = EntityState.Modified;

            try
            {
                await _context.SaveChangesAsync();

                // Se actualiza el costo en todas las solicitudes activas.
                foreach (Solicitud sol in _context.Solicitudes)
                {
                    sol.ActualizarCostoSolicitudActiva();
                }

                // Se guarda la actualizacion de precios en las solicitudes.
                await _context.SaveChangesAsync();
            }
            catch (DbUpdateConcurrencyException)
            {
                if (!SolicitudExists(Solicitud.SolicitudId))
                {
                    return(NotFound());
                }
                else
                {
                    throw;
                }
            }

            return(RedirectToPage("./Index"));
        }
示例#8
0
        public async Task <IActionResult> OnPostAsync(string id)
        {
            if (id == null)
            {
                return(NotFound());
            }

            RelacionClienteProyecto = await _context.RelacionClienteProyectos.FindAsync(id);

            if (RelacionClienteProyecto != null)
            {
                _context.RelacionClienteProyectos.Remove(RelacionClienteProyecto);
                await _context.SaveChangesAsync();
            }

            return(RedirectToPage("./Index"));
        }
示例#9
0
        public async Task <IActionResult> OnPostAsync(int?id)
        {
            if (id == null)
            {
                return(NotFound());
            }

            Propuesta = await _context.Propuestas.FindAsync(id);

            if (Propuesta != null)
            {
                _context.Propuestas.Remove(Propuesta);
                await _context.SaveChangesAsync();
            }

            return(RedirectToPage("./Index"));
        }
示例#10
0
        public async Task <IActionResult> OnPostAsync(int?id)
        {
            if (id == null)
            {
                return(NotFound());
            }

            Solicitud = await _context.Solicitudes.FindAsync(id);

            if (Solicitud != null)
            {
                _context.Solicitudes.Remove(Solicitud);
                await _context.SaveChangesAsync();
            }

            return(RedirectToPage("./Index"));
        }
示例#11
0
        public async Task <IActionResult> OnPostAsync(string id)
        {
            if (id == null)
            {
                return(NotFound());
            }

            ApplicationUser = await _context.Users.FindAsync(id);

            if (ApplicationUser != null)
            {
                _context.Users.Remove(ApplicationUser);
                await _context.SaveChangesAsync();
            }

            return(RedirectToPage("./Index"));
        }
示例#12
0
        public async Task <IActionResult> OnPostAsync(int?id)
        {
            if (id == null)
            {
                return(NotFound());
            }

            Tecnico = await _context.Tecnico.FindAsync(id);

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

            return(RedirectToPage("./Index"));
        }
示例#13
0
        public async Task <IActionResult> OnPostAsync()
        {
            if (!ModelState.IsValid)
            {
                return(Page());
            }

            _context.Solicitudes.Add(Solicitud);

            await _context.SaveChangesAsync();

            // se agrega la solicitud como observador.
            Costo costo = new Costo();

            costo.Agregar(Solicitud);

            return(RedirectToPage("./Index"));
        }
示例#14
0
        public async Task <IActionResult> OnPostAsync(int?id)
        {
            if (!ModelState.IsValid)
            {
                return(Page());
            }

            var propuestaToUpdate = await _context.Propuestas
                                    .Include(l => l.Puesto)
                                    .Include(a => a.AsiganrTecnico)
                                    .ThenInclude(a => a.Tecnico)
                                    .FirstOrDefaultAsync(m => m.ID == id);



            if (await TryUpdateModelAsync <Propuesta>(
                    propuestaToUpdate,
                    "Propuesta",
                    i => i.Title, i => i.FechaLimite,
                    i => i.CostoEstimado, i => i.EstimadoDeHora,
                    i => i.Puesto, i => i.Estado, i => i.DescripcionDeLaPropuesta, i => i.FechaLimite, i => i.NivelDeDificutad

                    ))



            {
                if (String.IsNullOrWhiteSpace(propuestaToUpdate.Puesto?.TrabajoName))
                {
                    propuestaToUpdate.Puesto = null;
                }



                Propuesta.NivelDeDificutad = IgnisData.NivelesDeDificultad[NiveleDif];


                /*Utilizamos el patron de polimorfismo ya que como las clases CalculadorBasico y CalculadorAvanzado inplmentan la inteface ICalcular realiza una operacion, la clase que se instancie cambara el precio hora.  */

                if (IgnisData.NivelesDeDificultad[NiveleDif] == IgnisData.NivelesDeDificultad[0])
                {
                    this.Calculcosto = new CalculadorBasico(Propuesta);
                }
                else if (IgnisData.NivelesDeDificultad[NiveleDif] == IgnisData.NivelesDeDificultad[1])
                {
                    this.Calculcosto = new CalculadorAvanzado(Propuesta);
                }

                /*Caprurams la excepción que puede causar si  no se recibe el valor correcto desde l form y redirigimos a la index  */
                try {
                    Propuesta.CostoEstimado = this.Calculcosto.Calcular();
                }
                catch {
                    return(NotFound());
                }


                _context.Attach(propuestaToUpdate).State = EntityState.Modified;


                try
                {
                    await _context.SaveChangesAsync();
                }
                catch (DbUpdateConcurrencyException)
                {
                    if (!PropuestaExists(Propuesta.ID))
                    {
                        return(NotFound());
                    }
                    else
                    {
                        throw;
                    }
                }
            }
            return(RedirectToPage("./Index"));
        }