public async Task <IActionResult> Crear(ColorValidation colorValidation) { if (colorValidation == null) { return(BadRequest(404)); } if (ModelState.IsValid) { var color = new Color { Codigo = colorValidation.Codigo, Descripcion = colorValidation.Descripcion }; var spec = new ColorConNumeroSpecification(color.Codigo); var colorValido = await _unitOfWork.Repository <Color>().GetEntityWithSpec(spec); if (colorValido == null) { _unitOfWork.Repository <Color>().Add(color); await _unitOfWork.Complete(); _unitOfWork.Dispose(); return(RedirectToAction("Index")); } ModelState.AddModelError("", "El codigo ya existe, ingrese uno nuevo"); } return(View()); }
public async Task <IActionResult> Update(ColorValidation colorValidation) { if (colorValidation == null) { return(BadRequest(404)); } if (ModelState.IsValid) { var color = new Color { Codigo = colorValidation.Codigo, Descripcion = colorValidation.Descripcion }; var spec = new ColorConNumeroSpecification(color.Codigo); var colorValido = await _unitOfWork.Repository <Color>().GetEntityWithSpec(spec); if (colorValido != null) { colorValido.Codigo = color.Codigo; colorValido.Descripcion = color.Descripcion; _unitOfWork.Repository <Color>().Update(colorValido); await _unitOfWork.Complete(); _unitOfWork.Dispose(); return(RedirectToAction("Index")); } } return(RedirectToAction("Edit")); }
public async Task <IActionResult> Delete(int codigoColor) { if (ModelState.IsValid) { var spec = new ColorConNumeroSpecification(codigoColor); var colorValido = await _unitOfWork.Repository <Color>().GetEntityWithSpec(spec); if (colorValido != null) { _unitOfWork.Repository <Color>().Delete(colorValido); await _unitOfWork.Complete(); } } return(RedirectToAction("Index")); }
public async Task <IActionResult> Edit(int codigoColor) { if (ModelState.IsValid) { var spec = new ColorConNumeroSpecification(codigoColor); var colorValido = await _unitOfWork.Repository <Color>().GetEntityWithSpec(spec); if (colorValido != null) { var colorValidation = new ColorValidation { Codigo = colorValido.Codigo, Descripcion = colorValido.Descripcion }; return(View(colorValidation)); } } return(View()); }
public async Task <IActionResult> CrearOrden(OrdenIniciarViewModel orden, int numeroOrden) { var usuario = await ObtenerUsuario(); var specLinea = new LineaConIdSpecification(Int32.Parse(orden.LineaSelected)); var linea = await _unitOfWork.Repository <LineaDeTrabajo>().GetEntityWithSpec(specLinea); var specModelo = new ModeloConNumeroSpecification(orden.ModeloSelected); var modelo = await _unitOfWork.Repository <Modelo>().GetEntityWithSpec(specModelo); var specColor = new ColorConNumeroSpecification(Int32.Parse(orden.ColorSelected)); var color = await _unitOfWork.Repository <Color>().GetEntityWithSpec(specColor); var turnos = await _unitOfWork.Repository <Turno>().ListAllAsync(); var horaActual = _unitOfWork.GetHora(); var estadoFinalizada = EstadoOrden.Finalizada; var specLineas = new AddLineasIncludesSpecification(); var lineas = await _unitOfWork.Repository <LineaDeTrabajo>().ListAsync(specLineas); int usuarioValidado = 0; if (ModelState.IsValid) { foreach (var li in lineas) { var validacionDeEmpleado = li.ComprobarAsignacionSupervisor(usuario.Empleado); if (validacionDeEmpleado) { usuarioValidado++; } } if (linea != null && modelo != null && color != null && usuario != null && usuarioValidado == lineas.Count) { var lineaDisponible = linea.ObtenerLineaSiEstaFinalizada(estadoFinalizada); if (lineaDisponible) { var spec = new OrdenConNumeroSpecification(numeroOrden); var ordenExistente = await _unitOfWork.Repository <OrdenDeProduccion>() .GetEntityWithSpec(spec); if (ordenExistente == null) { var ordenV = linea.CrearOrden(numeroOrden, modelo, color, usuario.Empleado, turnos, horaActual); if (ordenV != null) { _unitOfWork.Repository <LineaDeTrabajo>().Update(linea); await _unitOfWork.Complete(); } ModelState.AddModelError("", "Se debe crear la orden en un turno valido "); } ModelState.AddModelError("", "Orden ya existente, ingrese otra"); } ModelState.AddModelError("", "Orden activa en linea" + linea.Numero + ", finalice la ultima para crear otra"); } } return(RedirectToAction("ObtenerLineas")); }