public List <Linea> GetAllLines(int terminal, int empresaId = 0) { try { var lineas = _crudFactory.RetrieveAll <Linea>(); var terminalManager = new TerminalManager(); var empresaManager = new EmpresaManager(); lineas.ForEach(l => { l.Terminal = terminalManager.RetrieveById(l.Terminal); l.Empresa = empresaManager.GetEmpresaById(l.Empresa); } ); if (empresaId != 0) { return(lineas.Where(l => l.Empresa.CedulaJuridica == empresaId).ToList()); } return(lineas.Where(l => l.Terminal.Id == terminal).ToList()); } catch (Exception e) { ExceptionManager.GetInstance().Process(e); } return(new List <Linea>()); }
public void Create(Queja queja) { try { _crudQueja.Create(queja); var configManager = new ConfiguracionManager(); var empresaManager = new EmpresaManager(); var sancionManager = new SancionManager(); var rutaManager = new RutaManager(); var ruta = new Ruta(); var empresa = new Empresa(); var configuracionTerminal = new ConfiguracionTerminal(); //Obtengo la empresa a la que se le agregó la queja ruta.Id = queja.Ruta; empresa = empresaManager.RetrieveEmpresaByRuta(ruta); //Obtengo el Id de la terminal ruta = rutaManager.Retrieve(ruta); var terminalId = ruta.TerminalId; //Obtengo la configuración de terminal configuracionTerminal = configManager.RetrieveConfiguracionTerminal(terminalId); //Obtengo la cantidad de quejas para una sanción var cantidadSancion = configuracionTerminal.CantidadQuejasSancion; //Obtengo la cantidad de quejas hechas a una ruta var cantidadQuejas = _crudQueja.RetriveQuejasActivasByRutaStatement <Queja>(queja.Ruta).Count; //Valido si hay quejas suficientes para una sanción if (cantidadSancion <= cantidadQuejas) { var sancion = new Sancion(); sancion.Descripcion = "Sanción generada automaticamente por el sistema"; sancion.Multa = 3000; sancion.Estado = "Activo"; sancion.TerminalId = ruta.TerminalId; sancion.Fecha = DateTime.Now; sancion.Suspencion = "Activo"; sancion.FechaReactivacion = DateTime.Now.AddDays(7); sancion.Empresa = empresa.CedulaJuridica; sancionManager.Create(sancion); } } catch (Exception ex) { ExceptionManager.GetInstance().Process(ex); } }
public Linea GetLineById(Linea line) { try { var lineas = _crudFactory.Retrieve <Linea>(line); var terminalManager = new TerminalManager(); var empresaManager = new EmpresaManager(); if (lineas != null) { lineas.Terminal = terminalManager.RetrieveById(lineas.Terminal); lineas.Empresa = empresaManager.GetEmpresaById(lineas.Empresa); } return(lineas); } catch (Exception e) { ExceptionManager.GetInstance().Process(e); } return(new Linea()); }