Esempio n. 1
0
        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>());
        }
Esempio n. 2
0
        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);
            }
        }
Esempio n. 3
0
        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());
        }