public async Task <IActionResult> FinalizarOrden(int numeroLinea) { var usuario = await ObtenerUsuario(); if (usuario != null) { var specLinea = new LineaConNumeroYEmpleadoSpecification(numeroLinea, usuario.Empleado); var lineaValida = await _unitOfWork.Repository <LineaDeTrabajo>().GetEntityWithSpec(specLinea); if (lineaValida != null) { var specOrden = new OrdenesConOrdenActivaYPausadaConLineaSpecification(lineaValida); var ordenActivaOPausada = await _unitOfWork.Repository <OrdenDeProduccion>().GetEntityWithSpec(specOrden); var horaActual = _unitOfWork.GetHora(); if (ordenActivaOPausada != null) { lineaValida.FinalizarOrden(horaActual, ordenActivaOPausada); await _unitOfWork.Complete(); } ModelState.AddModelError("", "Orden ya finalizada"); } } return(RedirectToAction("ObtenerLineas")); }
public async Task <IActionResult> ReanudarOrden(int numeroLinea) { var usuario = await ObtenerUsuario(); if (usuario != null) { var specLinea = new LineaConNumeroYEmpleadoSpecification(numeroLinea, usuario.Empleado); var lineaValida = await _unitOfWork.Repository <LineaDeTrabajo>().GetEntityWithSpec(specLinea); if (lineaValida != null) { var specOrden = new OrdenConEstadoABuscarSpecification(lineaValida, EstadoOrden.Pausada); var ordenActiva = await _unitOfWork.Repository <OrdenDeProduccion>().GetEntityWithSpec(specOrden); var horaActual = _unitOfWork.GetHora(); var turnos = await _unitOfWork.Repository <Turno>().ListAllAsync(); if (ordenActiva != null && turnos != null && usuario != null) { lineaValida.ReanudarOrden(turnos, horaActual, ordenActiva); await _unitOfWork.Complete(); } } } return(RedirectToAction("ObtenerLineas")); }