public ParoModel BuscarParo(string nombre) { ParoModel paroModelo = null; Paro paro = db.Paro.Where(c => c.descripcion.Contains(nombre)).FirstOrDefault(); if (paro != null) { paroModelo = new ParoModel() { Indice = paro.id_paro, Nombre = paro.descripcion }; } return(paroModelo); }
public ParoModel BuscarParo(long indice) { ParoModel paroModelo = null; Paro paro = db.Paro.Where(c => c.id_paro == indice).FirstOrDefault(); if (paro != null) { paroModelo = new ParoModel() { Indice = paro.id_paro, Nombre = paro.descripcion }; } return(paroModelo); }
public ActionResult CrearIndicador(IndicadorModel modelo) { string Mensaje = string.Empty; bool Estado = false; long IndiceIndicador = 0; long IndiceUsuario = 1; // Crea el indicador try { IndiceIndicador = indicadorBusiness.CrearIndicador(modelo); Estado = true; } catch (Exception e) { Mensaje = e.Message; } // Agrega los rechazos del indicador try { if (Estado) { if (modelo.ListaRechazos != null && modelo.ListaRechazos.Count > 0) { foreach (var rechazoItem in modelo.ListaRechazos) { rechazoBusiness.AgregarRechazo(IndiceIndicador, rechazoItem.Indice, rechazoItem.Cantidad); } } Estado = true; } } catch (Exception e) { Mensaje = e.Message; } // Agrega los paros del indicador try { if (Estado) { if (modelo.ListaParos != null && modelo.ListaParos.Count > 0) { foreach (var paroItem in modelo.ListaParos) { long IndiceParo = paroItem.Indice; string NombreParo = paroItem.Nombre; int Cantidad = paroItem.Cantidad; string Folio = paroItem.Folio; if (NombreParo.Equals("Sin causa asignada", StringComparison.InvariantCultureIgnoreCase)) { ParoModel paroModelo = paroBusiness.BuscarParo(NombreParo); if (paroModelo != null) { IndiceParo = paroModelo.Indice; } else { IndiceParo = paroBusiness.CrearParo(modelo.IndiceProceso, NombreParo, 1, null); if (IndiceParo <= 0) { continue; } } } paroBusiness.AgregarParo(IndiceIndicador, IndiceParo, Cantidad, Folio); } } Estado = true; } } catch (Exception e) { Mensaje = e.Message; } // Actualizar el indicador de tiempo del proceso try { if (Estado) { indicadorBusiness.ActualizarIndicadorTiempo(modelo.IndiceProceso, modelo.Fecha, modelo.Ciclo); Estado = true; } } catch (Exception e) { Mensaje = e.Message; } // Agrega entrada a la bitácora de movimientos del indicador try { if (Estado) { indicadorBusiness.AgregarEntradaMovimientoIndicador(IndiceUsuario, IndiceIndicador, 1); Estado = true; } } catch (Exception e) { Mensaje = e.Message; } object data = new { Estado, Mensaje, IndiceIndicador }; return(Json(data, JsonRequestBehavior.AllowGet)); }