Esempio n. 1
0
        public void CreateSalida(RegistroParqueo parqueo)
        {
            try
            {
                var parqueoResultado = _crudParqueo.Retrieve <RegistroParqueo>(parqueo);

                if (parqueoResultado == null)
                {
                    throw new BusinessException(402);
                }

                var configuracionResult = _crudConfiguracion.Retrieve <ConfiguracionTerminal>(new ConfiguracionTerminal {
                    TerminalId = parqueo.TerminalId
                });

                parqueo.HoraInicio = parqueoResultado.HoraInicio;
                parqueo.HoraFin    = DateTime.Now;
                parqueo.TerminalId = parqueo.TerminalId;

                var cantidadDeHoras = parqueo.HoraFin - parqueoResultado.HoraInicio;

                if (cantidadDeHoras.Hours < 24)
                {
                    parqueo.CostoTotal = cantidadDeHoras.Hours * Convert.ToInt32(configuracionResult.CostoParqueoHora);
                }
                if (cantidadDeHoras.Hours < 1)
                {
                    parqueo.CostoTotal = Convert.ToInt32(configuracionResult.CostoParqueoHora);
                }
                else if (cantidadDeHoras.Days > 1)
                {
                    parqueo.CostoTotal = cantidadDeHoras.Days * Convert.ToInt32(configuracionResult.CostoParqueoDia);
                }
                else if (cantidadDeHoras.Days == 1)
                {
                    parqueo.CostoTotal = Convert.ToInt32(configuracionResult.CostoParqueoDia);
                }

                _crudParqueo.Update(parqueo);

                var transactionManager = new TransactionManager();
                transactionManager.CreateUserTransaction(new Transaccion
                {
                    CardUniqueCode = parqueo.TarjetaId,
                    Charge         = parqueo.CostoTotal,
                    Description    = "Pago de Parqueo Público",
                    Type           = "Cobro",
                    Status         = "Activo",
                    Terminal       = new Terminal {
                        Id = parqueo.TerminalId
                    }
                });
            }
            catch (Exception ex)
            {
                ExceptionManager.GetInstance().Process(ex);
            }
        }
Esempio n. 2
0
        public BaseEntity BuildObject(Dictionary <string, object> row)
        {
            var parqueo = new RegistroParqueo
            {
                EspaciosDisponibles = GetIntValue(row, DB_COL_ESPACIOS_DISPONIBLES)
            };

            return(parqueo);
        }
Esempio n. 3
0

        
Esempio n. 4
0

        
Esempio n. 5
0
        public BaseEntity BuildCompleteObject(Dictionary <string, object> row)
        {
            var parqueo = new RegistroParqueo
            {
                RegistroId = GetIntValue(row, DB_COL_REGISTRO_ID),
                TerminalId = GetIntValue(row, DB_COL_TERMINAL_ID),
                CostoTotal = GetIntValue(row, DB_COL_COSTO_TOTAL),
                HoraInicio = GetDateValue(row, DB_COL_HORA_INICIO),
                HoraFin    = GetDateValue(row, DB_COL_HORA_FINAL),
                TarjetaId  = GetStringValue(row, DB_COL_TARJETA_ID)
            };

            return(parqueo);
        }
        //[ClaimsAuthorization(ClaimType = "action", ClaimValue = "role-registrarSalida")]
        public IHttpActionResult RegistrarSalida(RegistroParqueo registro)
        {
            try
            {
                var manager = new ParqueoPublicoManager();

                manager.CreateSalida(registro);
                _apiResponse.Message = "Salida al parqueo registrado";

                return(Ok(_apiResponse));
            }
            catch (BusinessException bex)
            {
                return(InternalServerError(new Exception(bex.ExceptionId + "-" + bex.AppMessage.Message)));
            }
        }
Esempio n. 7
0
        public RegistroParqueo RetrieveByTarjetaId(int terminal, string tarjeta)
        {
            var parqueo       = new RegistroParqueo();
            var parqueoResult = _crudParqueo.Retrieve <RegistroParqueo>(new RegistroParqueo {
                TarjetaId = tarjeta
            });

            parqueo.TerminalId          = terminal;
            parqueo.TarjetaId           = tarjeta;
            parqueo.EspaciosDisponibles = parqueoResult.EspaciosDisponibles;
            parqueo.HoraInicio          = parqueoResult.HoraInicio;
            parqueo.HoraFin             = parqueoResult.HoraFin;
            parqueo.CostoTotal          = parqueoResult.CostoTotal;

            return(parqueo);
        }
Esempio n. 8
0
        public void CreateIngreso(RegistroParqueo parqueo)
        {
            try
            {
                var tarjeta = _crudTarjeta.Retrieve <Tarjeta>(new Tarjeta {
                    CodigoUnico = parqueo.TarjetaId
                });

                if (tarjeta == null || tarjeta.EstadoTarjeta.EstadoTarjetaId > 1)
                {
                    throw new BusinessException(407);
                }

                else if (tarjeta.Terminal.Id != parqueo.TerminalId)
                {
                    throw new BusinessException(408);
                }

                var parqueoResultado = _crudParqueo.RetrieveEspaciosDisponibles <RegistroParqueo>(parqueo);

                if (parqueoResultado.EspaciosDisponibles <= 0)
                {
                    throw new BusinessException(401);
                }

                parqueoResultado = _crudParqueo.Retrieve <RegistroParqueo>(parqueo);

                if (parqueoResultado != null)
                {
                    throw new BusinessException(406);
                }

                parqueo.HoraInicio = DateTime.Now;

                _crudParqueo.Create(parqueo);
            }
            catch (Exception ex)
            {
                ExceptionManager.GetInstance().Process(ex);
            }
        }
Esempio n. 9
0
        public RegistroParqueo RetrieveByTerminalId(int terminal)
        {
            var parqueo        = new RegistroParqueo();
            var terminalResult = _crudTerminal.Retrieve <Terminal>(new Terminal {
                Id = terminal
            });
            var configuracionResult = _crudConfiguracion.Retrieve <ConfiguracionTerminal>(new ConfiguracionTerminal {
                TerminalId = terminal
            });
            var parqueoResult = _crudParqueo.RetrieveEspaciosDisponibles <RegistroParqueo>(new RegistroParqueo {
                TerminalId = terminal
            });

            parqueo.TerminalId          = terminal;
            parqueo.CostoParqueoDia     = string.Format("¢{0}", configuracionResult.CostoParqueoDia.ToString("N2"));
            parqueo.CostoParqueoHora    = string.Format("¢{0}", configuracionResult.CostoParqueoHora.ToString("N2"));
            parqueo.EspaciosTotales     = terminalResult.EspaciosParqueo;
            parqueo.EspaciosDisponibles = parqueoResult.EspaciosDisponibles;

            return(parqueo);
        }
Esempio n. 10
0