Beispiel #1
0
        public static BusEntity ObtenerBusProgramacion(int CodiProgramacion)
        {
            var entidad = new BusEntity();

            using (IDatabase db = DatabaseHelper.GetDatabase())
            {
                db.ProcedureName = "scwsp_ObtenerBusProgramacion";
                db.AddParameter("@Codi_Programacion", DbType.Int32, ParameterDirection.Input, CodiProgramacion);

                using (IDataReader drlector = db.GetDataReader())
                {
                    while (drlector.Read())
                    {
                        entidad.CodiBus        = Reader.GetStringValue(drlector, "Codi_bus");
                        entidad.PlanBus        = Reader.GetStringValue(drlector, "Plan_bus");
                        entidad.NumePasajeros  = Reader.GetStringValue(drlector, "Nume_Pasajeros");
                        entidad.PlacBus        = Reader.GetStringValue(drlector, "Plac_bus");
                        entidad.CodiChofer     = Reader.GetStringValue(drlector, "Codi_Chofer");
                        entidad.NombreChofer   = Reader.GetStringValue(drlector, "Nombre_Chofer");
                        entidad.CodiCopiloto   = Reader.GetStringValue(drlector, "Codi_Copiloto");
                        entidad.NombreCopiloto = Reader.GetStringValue(drlector, "Nombre_Copiloto");
                        entidad.Activo         = Reader.GetStringValue(drlector, "Activo");
                        break;
                    }
                }
            }

            return(entidad);
        }
Beispiel #2
0
        public static BusEntity ObtenerBusEstandar(byte CodiEmpresa, short CodiSucursal, short CodiRuta, short CodiServicio, string Hora)
        {
            var entidad = new BusEntity();

            using (IDatabase db = DatabaseHelper.GetDatabase())
            {
                db.ProcedureName = "scwsp_ObtenerBusEstandar";
                db.AddParameter("@Codi_Empresa", DbType.Byte, ParameterDirection.Input, CodiEmpresa);
                db.AddParameter("@Codi_Sucursal", DbType.Int16, ParameterDirection.Input, CodiSucursal);
                db.AddParameter("@Codi_Destino", DbType.Int16, ParameterDirection.Input, CodiRuta);
                db.AddParameter("@Codi_Servicio", DbType.Int16, ParameterDirection.Input, CodiServicio);
                db.AddParameter("@Hora", DbType.String, ParameterDirection.Input, Hora);
                using (IDataReader drlector = db.GetDataReader())
                {
                    while (drlector.Read())
                    {
                        entidad.CodiBus       = Reader.GetStringValue(drlector, "Codi_bus");
                        entidad.PlanBus       = Reader.GetStringValue(drlector, "Plan_bus");
                        entidad.NumePasajeros = Reader.GetStringValue(drlector, "Nume_Pasajeros");
                        entidad.PlacBus       = Reader.GetStringValue(drlector, "Plac_bus");
                        break;
                    }
                }
            }

            return(entidad);
        }
Beispiel #3
0
        static BusRepository()
        {
            BusEntity Bus = new BusEntity("Sleeper", 25, "Chennai", "Bangalore", "10:00PM", "5:00AM", 750);

            busList.Add(Bus);
            Bus = new BusEntity("Semi-Sleeper", 35, "Chennai", "Trichy", "10:00AM", "1:00PM", 550);
            busList.Add(Bus);
        }
Beispiel #4
0
        public void DeleteBus(string type)
        {
            BusEntity bus = GetBus(type);

            if (bus != null)
            {
                busList.Remove(bus);
            }
        }
Beispiel #5
0
        public ActionResult UpdateTry()
        {
            BusEntity busEntity = new BusEntity();

            UpdateModel(busEntity);
            busRepository.UpdateBus(busEntity);
            TempData["Message"] = "Bus Updated";
            return(RedirectToAction("Index"));
        }
Beispiel #6
0
        public static async Task LoadServerEntity()
        {
            RoleplayContext ctx = Singleton.GetDatabaseInstance();

            using (UnitOfWork unit = new UnitOfWork(ctx))
            {
                await BuildingEntity.LoadBuildingsAsync(unit);

                await AtmEntity.LoadAtmsAsync(unit);

                await BusEntity.LoadBusAsync(unit);

                await ShopEntity.LoadShopAsync(unit);

                await GroupEntity.LoadGroupsAsync(unit);

                await WarehouseOrderEntity.LoadWarehouseOrdersAsync();
            }

            JobEntity courierJob = new JobEntity(new JobEntityModel()
            {
                JobName                = "Kurier",
                VehicleModel           = AltV.Net.Enums.VehicleModel.Boxville2,
                RespawnVehicle         = true,
                Position               = new Position(26.1626f, -1300.59f, 29.2124f),
                RespawnVehiclePosition = new Position(36.9495f, -1283.84f, 29.2799f),
                RespawnVehicleRotation = new Rotation(0, 0, 1.53369f),
                JobType                = JobType.Courier,
                MaxSalary              = 400
            });

            courierJob.Create();

            JobEntity junkerJob = new JobEntity(new JobEntityModel()
            {
                JobName                = "Śmieciarz",
                VehicleModel           = AltV.Net.Enums.VehicleModel.Trash,
                RespawnVehicle         = true,
                Position               = new Position(500.334f, -652.009f, 24.8989f),
                RespawnVehiclePosition = new Position(508.286f, -609.771f, 25.1348f),
                RespawnVehicleRotation = new Rotation(0, 0, 1.63264f),
                JobType                = JobType.Junker,
                MaxSalary              = 400
            });

            junkerJob.Create();

            JobCenterEntity jobCenter = new JobCenterEntity(new JobCenterModel()
            {
                Id       = 0,
                Position = new Position(104.73f, -934.075f, 29.8022f),
                Jobs     = EntityHelper.GetJobs()
            });

            jobCenter.Spawn();
        }
Beispiel #7
0
            public static List <VehicleEntity> VehicleToDalObjects(List <Vehicle> vehicles)
            {
                var vehiclesToSave = new List <VehicleEntity>();

                vehiclesToSave = vehicles.Select(a => {
                    VehicleEntity v = null;
                    if (a is AirPlane aPlane)
                    {
                        v = new AirPlaneEntity
                        {
                            NumberOfAirPlaneWings = aPlane.NumberOfAirPlaneWings
                        };
                    }
                    else if (a is Boat aBoat)
                    {
                        v = new BoatEntity
                        {
                            NumberOfBoatSails = aBoat.NumberOfBoatSails
                        };
                    }
                    else if (a is Bus aBuss)
                    {
                        v = new BusEntity
                        {
                            BusMaxNumberOfStandingPassengers = aBuss.BusMaxNumberOfStandingPassengers
                        };
                    }
                    else if (a is Car aCar)
                    {
                        v = new CarEntity
                        {
                            NumberOfCarSeats = aCar.NumberOfCarSeats
                        };
                    }
                    else if (a is MotorCycle aMc)
                    {
                        v = new MotorCycleEntity
                        {
                            MotorCycleTopSpeed = aMc.MotorCycleTopSpeed
                        };
                    }

                    if (v == null)
                    {
                        throw new Exception("Unhandled Vehicle Type");
                    }

                    v.LicenseNo      = a.LicenseNo;
                    v.Color          = ColorHelperDAL.ParseColor(a.Color.ToString());
                    v.NumberOfWheels = a.NumberOfWheels;
                    return(v);
                }).ToList();

                return(vehiclesToSave);
            }
Beispiel #8
0
        public async Task UpdateAsync(BusEntity bus)
        {
            Guard.ArgumentNotNull(bus, nameof(bus));

            var insertedBus = await _repository.GetById(bus.Id).ConfigureAwait(false);

            if (insertedBus != null)
            {
                await _repository.Update(bus).ConfigureAwait(false);
            }
        }
Beispiel #9
0
        public void UpdateBus(BusEntity entity)
        {
            BusEntity bus = GetBus(entity.BusType);

            bus.seats         = entity.seats;
            bus.source        = entity.source;
            bus.destination   = entity.destination;
            bus.arrivalTime   = entity.arrivalTime;
            bus.departureTime = entity.departureTime;
            bus.rate          = entity.rate;
        }
Beispiel #10
0
 public async Task Add(BusEntity entity)
 {
     await _buses.InsertOneAsync(entity).ConfigureAwait(false);
 }
Beispiel #11
0
 public void AddBus(BusEntity busEntity)
 {
     busList.Add(busEntity);
 }
Beispiel #12
0
 public static void Add(BusEntity busEntity) => BusStops.Add(busEntity);
Beispiel #13
0
        public static BusEntity GetById(int id)
        {
            BusEntity bus = BusStops.SingleOrDefault(x => x.DbModel.Id == id);

            return(bus);
        }
Beispiel #14
0
        public static Response <ItinerarioEntity> MuestraTurno(TurnoRequest request)
        {
            try
            {
                var obtenerBus = new BusEntity();

                // Busca Turno
                var buscarTurno = TurnoRepository.BuscarTurno(request);

                // Calcula 'FechaProgramacion'
                var doubleDias = double.Parse(buscarTurno.Dias.ToString());
                if (buscarTurno.Dias > 0)
                {
                    buscarTurno.FechaProgramacion = DateTime.Parse(request.FechaViaje).AddDays(-doubleDias).ToString("dd/MM/yyyy", CultureInfo.InvariantCulture);
                }
                else
                {
                    buscarTurno.FechaProgramacion = DateTime.Parse(request.FechaViaje).ToString("dd/MM/yyyy", CultureInfo.InvariantCulture);
                }

                // Busca 'ProgramacionViaje'
                var buscarProgramacionViaje = ItinerarioRepository.BuscarProgramacionViaje(buscarTurno.NroViaje, buscarTurno.FechaProgramacion);
                if (buscarProgramacionViaje > 0)
                {
                    buscarTurno.CodiProgramacion = buscarProgramacionViaje;

                    // Obtiene 'BusProgramacion'
                    obtenerBus                 = ItinerarioRepository.ObtenerBusProgramacion(buscarTurno.CodiProgramacion);
                    buscarTurno.CodiBus        = string.IsNullOrEmpty(obtenerBus.CodiBus) ? "0000" : obtenerBus.CodiBus;
                    buscarTurno.PlanoBus       = string.IsNullOrEmpty(obtenerBus.PlanBus) ? "000" : obtenerBus.PlanBus;
                    buscarTurno.CapacidadBus   = string.IsNullOrEmpty(obtenerBus.NumePasajeros) ? "0" : obtenerBus.NumePasajeros;
                    buscarTurno.PlacaBus       = string.IsNullOrEmpty(obtenerBus.PlacBus) ? "00-0000" : obtenerBus.PlacBus;
                    buscarTurno.CodiChofer     = string.IsNullOrEmpty(obtenerBus.CodiChofer) ? "00000" : obtenerBus.CodiChofer;
                    buscarTurno.NombreChofer   = string.IsNullOrEmpty(obtenerBus.NombreChofer) ? "NINGUNO" : obtenerBus.NombreChofer;
                    buscarTurno.CodiCopiloto   = string.IsNullOrEmpty(obtenerBus.CodiCopiloto) ? "00000" : obtenerBus.CodiCopiloto;
                    buscarTurno.NombreCopiloto = string.IsNullOrEmpty(obtenerBus.NombreCopiloto) ? "NINGUNO" : obtenerBus.NombreCopiloto;

                    buscarTurno.Activo = string.IsNullOrEmpty(obtenerBus.Activo) ? string.Empty : obtenerBus.Activo;
                }
                else
                {
                    // Obtiene 'BusEstandar'
                    obtenerBus = ItinerarioRepository.ObtenerBusEstandar(buscarTurno.CodiEmpresa, buscarTurno.CodiSucursal, buscarTurno.CodiRuta, buscarTurno.CodiServicio, buscarTurno.HoraPartida);
                    if (!string.IsNullOrEmpty(obtenerBus.CodiBus))
                    {
                        buscarTurno.CodiBus        = string.IsNullOrEmpty(obtenerBus.CodiBus) ? "0000" : obtenerBus.CodiBus;
                        buscarTurno.PlanoBus       = string.IsNullOrEmpty(obtenerBus.PlanBus) ? "000" : obtenerBus.PlanBus;
                        buscarTurno.CapacidadBus   = string.IsNullOrEmpty(obtenerBus.NumePasajeros) ? "0" : obtenerBus.NumePasajeros;
                        buscarTurno.PlacaBus       = string.IsNullOrEmpty(obtenerBus.PlacBus) ? "00-0000" : obtenerBus.PlacBus;
                        buscarTurno.CodiChofer     = string.IsNullOrEmpty(obtenerBus.CodiChofer) ? "00000" : obtenerBus.CodiChofer;
                        buscarTurno.NombreChofer   = string.IsNullOrEmpty(obtenerBus.NombreChofer) ? "NINGUNO" : obtenerBus.NombreChofer;
                        buscarTurno.CodiCopiloto   = string.IsNullOrEmpty(obtenerBus.CodiCopiloto) ? "00000" : obtenerBus.CodiCopiloto;
                        buscarTurno.NombreCopiloto = string.IsNullOrEmpty(obtenerBus.NombreCopiloto) ? "NINGUNO" : obtenerBus.NombreCopiloto;
                    }
                    else
                    {
                        // En caso de no encontrar resultado.
                        obtenerBus = ItinerarioRepository.ObtenerBusEstandar(buscarTurno.CodiEmpresa, buscarTurno.CodiSucursal, buscarTurno.CodiRuta, buscarTurno.CodiServicio, string.Empty);
                        if (!string.IsNullOrEmpty(obtenerBus.CodiBus))
                        {
                            buscarTurno.CodiBus        = string.IsNullOrEmpty(obtenerBus.CodiBus) ? "0000" : obtenerBus.CodiBus;
                            buscarTurno.PlanoBus       = string.IsNullOrEmpty(obtenerBus.PlanBus) ? "000" : obtenerBus.PlanBus;
                            buscarTurno.CapacidadBus   = string.IsNullOrEmpty(obtenerBus.NumePasajeros) ? "0" : obtenerBus.NumePasajeros;
                            buscarTurno.PlacaBus       = string.IsNullOrEmpty(obtenerBus.PlacBus) ? "00-0000" : obtenerBus.PlacBus;
                            buscarTurno.CodiChofer     = string.IsNullOrEmpty(obtenerBus.CodiChofer) ? "00000" : obtenerBus.CodiChofer;
                            buscarTurno.NombreChofer   = string.IsNullOrEmpty(obtenerBus.NombreChofer) ? "NINGUNO" : obtenerBus.NombreChofer;
                            buscarTurno.CodiCopiloto   = string.IsNullOrEmpty(obtenerBus.CodiCopiloto) ? "00000" : obtenerBus.CodiCopiloto;
                            buscarTurno.NombreCopiloto = string.IsNullOrEmpty(obtenerBus.NombreCopiloto) ? "NINGUNO" : obtenerBus.NombreCopiloto;
                        }
                        else
                        {
                            // En caso de no encontrar resultado
                            obtenerBus                 = ItinerarioRepository.ObtenerBusEstandar(buscarTurno.CodiEmpresa, buscarTurno.CodiSucursal, 0, buscarTurno.CodiServicio, string.Empty);
                            buscarTurno.CodiBus        = string.IsNullOrEmpty(obtenerBus.CodiBus) ? "0000" : obtenerBus.CodiBus;
                            buscarTurno.PlanoBus       = string.IsNullOrEmpty(obtenerBus.PlanBus) ? "000" : obtenerBus.PlanBus;
                            buscarTurno.CapacidadBus   = string.IsNullOrEmpty(obtenerBus.NumePasajeros) ? "0" : obtenerBus.NumePasajeros;
                            buscarTurno.PlacaBus       = string.IsNullOrEmpty(obtenerBus.PlacBus) ? "00-0000" : obtenerBus.PlacBus;
                            buscarTurno.CodiChofer     = string.IsNullOrEmpty(obtenerBus.CodiChofer) ? "00000" : obtenerBus.CodiChofer;
                            buscarTurno.NombreChofer   = string.IsNullOrEmpty(obtenerBus.NombreChofer) ? "NINGUNO" : obtenerBus.NombreChofer;
                            buscarTurno.CodiCopiloto   = string.IsNullOrEmpty(obtenerBus.CodiCopiloto) ? "00000" : obtenerBus.CodiCopiloto;
                            buscarTurno.NombreCopiloto = string.IsNullOrEmpty(obtenerBus.NombreCopiloto) ? "NINGUNO" : obtenerBus.NombreCopiloto;
                        }
                    }
                }

                // Verifica cambios 'ValidarTurnoAdicional'
                if (buscarTurno.StOpcional == "1" && DateTime.Parse(buscarTurno.FechaProgramacion).Date >= DateTime.Now.Date)
                {
                    var validarTurnoAdicional = ItinerarioRepository.ValidarTurnoAdicional(buscarTurno.NroViaje, buscarTurno.FechaProgramacion);
                    if (validarTurnoAdicional != 1)
                    {
                        return(new Response <ItinerarioEntity>(false, buscarTurno, Message.MsgErrorValidarTurnoAdicional, true));
                    }
                }

                // Valida 'ProgramacionCerrada'
                buscarTurno.ProgramacionCerrada = ItinerarioRepository.ValidarProgramacionCerrada(buscarTurno.NroViaje, buscarTurno.FechaProgramacion);
                if (buscarTurno.ProgramacionCerrada != "0")
                {
                    var auxMsgErrorValidarProgramacionCerrada = string.Empty;
                    switch (buscarTurno.ProgramacionCerrada)
                    {
                    case "1":
                        auxMsgErrorValidarProgramacionCerrada = Message.MsgErrorValidarProgramacionCerrada_1;
                        break;

                    case "2":
                        auxMsgErrorValidarProgramacionCerrada = Message.MsgErrorValidarProgramacionCerrada_2;
                        break;
                    }
                    ;

                    return(new Response <ItinerarioEntity>(false, buscarTurno, auxMsgErrorValidarProgramacionCerrada, true));
                }

                // Obtiene 'TotalVentas'
                if (buscarTurno.CodiProgramacion > 0)
                {
                    buscarTurno.AsientosVendidos = ItinerarioRepository.ObtenerTotalVentas(buscarTurno.CodiProgramacion, buscarTurno.NroViaje, buscarTurno.CodiOrigen, buscarTurno.CodiDestino);
                }

                // Seteo 'Color'
                buscarTurno.Color = ItinerarioLogic.GetColor(buscarTurno.ProgramacionCerrada, buscarTurno.AsientosVendidos, int.Parse(buscarTurno.CapacidadBus), buscarTurno.StOpcional);

                // Seteo 'SecondColor'
                buscarTurno.SecondColor = ItinerarioLogic.GetSecondColor(buscarTurno.AsientosVendidos, int.Parse(buscarTurno.CapacidadBus), buscarTurno.StOpcional);

                // Consulta 'ManifiestoProgramacion'
                var consultaManifiestoProgramacion = ConsultaManifiestoProgramacion(buscarTurno.CodiProgramacion, request.CodiOrigen.ToString());
                if (consultaManifiestoProgramacion.Estado)
                {
                    buscarTurno.X_Estado = consultaManifiestoProgramacion.Valor;
                }
                else
                {
                    buscarTurno.X_Estado = string.Empty;
                }

                // Lista 'PuntosEmbarque'
                var listarPuntosEmbarque = TurnoRepository.ListarPuntosEmbarque(buscarTurno.CodiOrigen, buscarTurno.CodiDestino, buscarTurno.CodiServicio, buscarTurno.CodiEmpresa, buscarTurno.CodiPuntoVenta, buscarTurno.HoraPartida);
                if (listarPuntosEmbarque.Count == 0)
                {
                    var objPuntoEntity = new PuntoEntity
                    {
                        CodiPuntoVenta = buscarTurno.CodiOrigen,
                        Lugar          = buscarTurno.NomOrigen,
                        Hora           = buscarTurno.HoraPartida
                    };
                    listarPuntosEmbarque.Add(objPuntoEntity);
                }
                buscarTurno.ListaEmbarques = listarPuntosEmbarque;

                // Lista 'PuntosArribo'
                buscarTurno.ListaArribos = TurnoRepository.ListarPuntosArribo(buscarTurno.CodiOrigen, buscarTurno.CodiDestino, buscarTurno.CodiServicio, buscarTurno.CodiEmpresa, buscarTurno.CodiPuntoVenta, buscarTurno.HoraPartida);

                // Lista 'DestinosRuta'
                buscarTurno.ListaDestinosRuta = TurnoRepository.ListaDestinosRuta(buscarTurno.NroViaje, buscarTurno.CodiSucursal);

                // Lista 'ResumenProgramacion'
                buscarTurno.ListaResumenProgramacion = TurnoRepository.ListaResumenProgramacion(buscarTurno.CodiProgramacion, request.CodiSucursalUsuario);
                // 'ResumenProgramacion' Capacidad del Bus
                buscarTurno.ListaResumenProgramacion.CAP = buscarTurno.CapacidadBus;
                // 'ResumenProgramacion' Libres
                buscarTurno.ListaResumenProgramacion.LBR = Convert.ToString(Convert.ToDecimal(buscarTurno.ListaResumenProgramacion.CAP) - (Convert.ToDecimal(buscarTurno.ListaResumenProgramacion.VTT)
                                                                                                                                           + Convert.ToDecimal(buscarTurno.ListaResumenProgramacion.PAS) + Convert.ToDecimal(buscarTurno.ListaResumenProgramacion.RET) + Convert.ToDecimal(buscarTurno.ListaResumenProgramacion.RVA)));
                // 'ResumenProgramacion' Total
                buscarTurno.ListaResumenProgramacion.TOT = Convert.ToString(Convert.ToDecimal(buscarTurno.ListaResumenProgramacion.CAP) - Convert.ToDecimal(buscarTurno.ListaResumenProgramacion.LBR)
                                                                            - Convert.ToDecimal(buscarTurno.ListaResumenProgramacion.RVA));

                // Elimina 'Reservas' por escala
                if (buscarTurno.CodiProgramacion > 0)
                {
                    var auxHora = string.Empty;

                    var objPuntoEmbarque = buscarTurno.ListaEmbarques.Find(x => x.CodiPuntoVenta == request.CodiPvUsuario);
                    if (objPuntoEmbarque != null)
                    {
                        auxHora = objPuntoEmbarque.Hora;
                    }
                    else
                    {
                        auxHora = buscarTurno.HoraPartida;
                    }

                    TurnoRepository.EliminarReservas02(buscarTurno.CodiOrigen.ToString(), buscarTurno.CodiProgramacion, auxHora, buscarTurno.FechaViaje);
                    TurnoRepository.EliminarReservas01(buscarTurno.CodiProgramacion, auxHora);
                }

                // Consulta 'BloqueoAsientoCantidad_Max'
                var consultaBloqueoAsientoCantidad_Max = TurnoRepository.ConsultaBloqueoAsientoCantidad_Max(request.CodiEmpresa);
                if (consultaBloqueoAsientoCantidad_Max == 0)
                {
                    buscarTurno.CantidadMaxBloqAsi = DefaultCantMaxBloqAsi;
                }
                else
                {
                    buscarTurno.CantidadMaxBloqAsi = consultaBloqueoAsientoCantidad_Max;
                }

                // Consulta tabla 'AsientosBloqueados'
                var consultarTablaAsientosBloqueados = BloqueoAsientoRepository.ConsultarTablaAsientosBloqueados(buscarTurno.CodiEmpresa, buscarTurno.CodiSucursal, buscarTurno.CodiRuta, buscarTurno.CodiServicio, buscarTurno.HoraPartida);

                buscarTurno.TablaBloqueoAsientos = new TablaBloqueoAsientosEntity()
                {
                    AsientosOcupados  = string.Empty,
                    AsientosLiberados = string.Empty
                };

                // Consulta tabla 'BloqueoAsientos'
                if (!string.IsNullOrEmpty(consultarTablaAsientosBloqueados.Asientos))
                {
                    var auxCodiProgramacion = buscarTurno.CodiProgramacion > 0 ? buscarTurno.CodiProgramacion : buscarTurno.NroViaje;
                    var auxTipo             = buscarTurno.CodiProgramacion > 0 ? "P" : "V";

                    var consultarTablaBloqueoAsientos = BloqueoAsientoRepository.ConsultarTablaBloqueoAsientos(auxCodiProgramacion, auxTipo, buscarTurno.FechaProgramacion);

                    if (consultarTablaBloqueoAsientos == null)
                    {
                        if (buscarTurno.CodiProgramacion <= 0)
                        {
                            // Inserta tabla 'BloqueoAsientos'
                            var requestTBA = new TablaBloqueoAsientosRequest()
                            {
                                CodiProgramacion  = auxCodiProgramacion,
                                CodiOrigen        = request.CodiOrigen,
                                CodiDestino       = request.CodiDestino,
                                AsientosOcupados  = consultarTablaAsientosBloqueados.Asientos,
                                AsientosLiberados = string.Empty,
                                Tipo  = auxTipo,
                                Fecha = buscarTurno.FechaProgramacion
                            };
                            BloqueoAsientoRepository.InsertarTablaBloqueoAsientos(requestTBA);
                        }
                        else
                        {
                            // Volvemos a consultar tabla 'BloqueoAsientos'
                            consultarTablaBloqueoAsientos = BloqueoAsientoRepository.ConsultarTablaBloqueoAsientos(buscarTurno.NroViaje, "V", buscarTurno.FechaProgramacion);

                            if (consultarTablaBloqueoAsientos == null)
                            {
                                // Inserta tabla 'BloqueoAsientos'
                                var requestTBA = new TablaBloqueoAsientosRequest()
                                {
                                    CodiProgramacion  = auxCodiProgramacion,
                                    CodiOrigen        = request.CodiOrigen,
                                    CodiDestino       = request.CodiDestino,
                                    AsientosOcupados  = consultarTablaAsientosBloqueados.Asientos,
                                    AsientosLiberados = string.Empty,
                                    Tipo  = auxTipo,
                                    Fecha = buscarTurno.FechaProgramacion
                                };
                                BloqueoAsientoRepository.InsertarTablaBloqueoAsientos(requestTBA);
                            }
                            else
                            {
                                // Actualiza tabla 'BloqueoAsientos'
                                BloqueoAsientoRepository.ActualizarTablaBloqueoAsientos(buscarTurno.CodiProgramacion.ToString(), buscarTurno.NroViaje.ToString(), buscarTurno.FechaProgramacion);
                            }
                        }

                        // Como fue 'null', vuelve a consultar tabla 'BloqueoAsientos'
                        consultarTablaBloqueoAsientos = BloqueoAsientoRepository.ConsultarTablaBloqueoAsientos(auxCodiProgramacion, auxTipo, buscarTurno.FechaProgramacion);
                    }

                    // Seteo 'buscarTurno.TablaAsientosBloqueados'
                    buscarTurno.TablaBloqueoAsientos.AsientosOcupados  = consultarTablaBloqueoAsientos.AsientosOcupados;
                    buscarTurno.TablaBloqueoAsientos.AsientosLiberados = consultarTablaBloqueoAsientos.AsientosLiberados;
                    buscarTurno.TablaBloqueoAsientos.CodiOrigen        = consultarTablaBloqueoAsientos.CodiOrigen;
                    buscarTurno.TablaBloqueoAsientos.CodiDestino       = consultarTablaBloqueoAsientos.CodiDestino;
                }

                // Actualiza 'TbViajeProgramacionCantidad'
                if (buscarTurno.CodiProgramacion > 0)
                {
                    TurnoRepository.ActualizarTbViajeProgramacionCantidad(buscarTurno.CodiProgramacion);
                }

                // Lista 'PlanoBus'
                PlanoRequest requestPlano = new PlanoRequest
                {
                    PlanoBus          = buscarTurno.PlanoBus,
                    CodiProgramacion  = buscarTurno.CodiProgramacion,
                    CodiOrigen        = buscarTurno.CodiOrigen,
                    CodiDestino       = buscarTurno.CodiDestino,
                    CodiBus           = buscarTurno.CodiBus,
                    HoraViaje         = request.HoraViaje,
                    FechaViaje        = request.FechaViaje,
                    CodiServicio      = buscarTurno.CodiServicio,
                    CodiEmpresa       = buscarTurno.CodiEmpresa,
                    FechaProgramacion = buscarTurno.FechaProgramacion,
                    NroViaje          = buscarTurno.NroViaje,
                    CodiSucursal      = buscarTurno.CodiSucursal,
                    CodiRuta          = buscarTurno.CodiRuta
                };
                var resMuestraPlano = PlanoLogic.MuestraPlano(requestPlano);
                if (resMuestraPlano.Estado)
                {
                    if (resMuestraPlano.EsCorrecto)
                    {
                        buscarTurno.ListaPlanoBus = resMuestraPlano.Valor;
                    }
                    else
                    {
                        return(new Response <ItinerarioEntity>(false, buscarTurno, resMuestraPlano.Mensaje, true));
                    }
                }
                else
                {
                    return(new Response <ItinerarioEntity>(false, buscarTurno, resMuestraPlano.Mensaje, false));
                }

                // Seteo de 'Cantidad' por 'DestinosRuta'
                foreach (var destinoRuta in buscarTurno.ListaDestinosRuta)
                {
                    destinoRuta.Cantidad = resMuestraPlano.Valor.Count(x => x.CodiDestino == destinoRuta.CodiSucursal && x.CodiOrigen == request.CodiSucursalUsuario && (x.FlagVenta != "X" && x.FlagVenta != "R" && x.FlagVenta != "O"));
                }

                return(new Response <ItinerarioEntity>(true, buscarTurno, Message.MsgCorrectoMuestraTurno, true));
            }
            catch (Exception ex)
            {
                Log.Instance(typeof(TurnoLogic)).Error(System.Reflection.MethodBase.GetCurrentMethod().Name, ex);
                return(new Response <ItinerarioEntity>(false, null, Message.MsgExcMuestraTurno, false));
            }
        }
Beispiel #15
0
        public async Task AddAsync(BusEntity entity)
        {
            Guard.ArgumentNotNull(entity, nameof(entity));

            await _repository.Add(entity).ConfigureAwait(false);
        }
Beispiel #16
0
        public ActionResult Edit(string type)
        {
            BusEntity bus = busRepository.GetBus(type);

            return(View(bus));
        }
Beispiel #17
0
 public async Task Update(BusEntity entity)
 {
     await _buses.FindOneAndReplaceAsync(x => x.Id == entity.Id, entity).ConfigureAwait(false);
 }
        public static Response <List <ItinerarioEntity> > BuscaItinerarios(ItinerarioRequest request)
        {
            try
            {
                var obtenerBus = new BusEntity();

                // Validar 'TodosTurnos'
                if (request.TodosTurnos)
                {
                    request.Hora = string.Empty;
                }

                // Lista Itinerarios
                var buscarItinerarios = ItinerarioRepository.BuscarItinerarios(request.CodiOrigen, request.CodiDestino, request.CodiRuta, request.Hora, request.CodiServicio);

                // Recorre cada registro
                for (int i = 0; i < buscarItinerarios.Count; i++)
                {
                    // Seteo 'CodiDestino' y 'Nom_Destino' (Recordar: Antes era traído de la BD)
                    if (request.CodiDestino > 0)
                    {
                        buscarItinerarios[i].CodiDestino = request.CodiDestino;
                        buscarItinerarios[i].NomDestino  = request.NomDestino;
                    }
                    else
                    {
                        buscarItinerarios[i].CodiDestino = buscarItinerarios[i].CodiRuta;
                        buscarItinerarios[i].NomDestino  = buscarItinerarios[i].NomRuta;
                    }

                    // Calcula 'FechaProgramacion'
                    var doubleDias = double.Parse(buscarItinerarios[i].Dias.ToString());
                    if (buscarItinerarios[i].Dias > 0)
                    {
                        buscarItinerarios[i].FechaProgramacion = DateTime.Parse(request.FechaViaje).AddDays(-doubleDias).ToString("dd/MM/yyyy", CultureInfo.InvariantCulture);
                    }
                    else
                    {
                        buscarItinerarios[i].FechaProgramacion = DateTime.Parse(request.FechaViaje).ToString("dd/MM/yyyy", CultureInfo.InvariantCulture);
                    }

                    // Seteo 'FechaViaje'
                    buscarItinerarios[i].FechaViaje = request.FechaViaje;

                    // Verifica cambios 'TurnoViaje'
                    var verificaCambiosTurnoViaje = ItinerarioRepository.VerificaCambiosTurnoViaje(buscarItinerarios[i].NroViaje, buscarItinerarios[i].FechaProgramacion);
                    if (verificaCambiosTurnoViaje.CodiEmpresa > 0)
                    {
                        buscarItinerarios[i].CodiServicio = verificaCambiosTurnoViaje.CodiServicio;
                        buscarItinerarios[i].NomServicio  = verificaCambiosTurnoViaje.NomServicio;
                        buscarItinerarios[i].CodiEmpresa  = verificaCambiosTurnoViaje.CodiEmpresa;
                        buscarItinerarios[i].RazonSocial  = verificaCambiosTurnoViaje.NomEmpresa;

                        buscarItinerarios[i].CodiPuntoVenta = verificaCambiosTurnoViaje.CodiPuntoVenta;
                        buscarItinerarios[i].NomPuntoVenta  = verificaCambiosTurnoViaje.NomPuntoVenta;
                    }

                    // Busca 'ProgramacionViaje'
                    var buscarProgramacionViaje = ItinerarioRepository.BuscarProgramacionViaje(buscarItinerarios[i].NroViaje, buscarItinerarios[i].FechaProgramacion);
                    if (buscarProgramacionViaje > 0)
                    {
                        buscarItinerarios[i].CodiProgramacion = buscarProgramacionViaje;

                        // Obtiene 'BusProgramacion'
                        obtenerBus = ItinerarioRepository.ObtenerBusProgramacion(buscarItinerarios[i].CodiProgramacion);
                        buscarItinerarios[i].CodiBus      = string.IsNullOrEmpty(obtenerBus.CodiBus) ? "0000" : obtenerBus.CodiBus;
                        buscarItinerarios[i].PlanoBus     = string.IsNullOrEmpty(obtenerBus.PlanBus) ? "000" : obtenerBus.PlanBus;
                        buscarItinerarios[i].CapacidadBus = string.IsNullOrEmpty(obtenerBus.NumePasajeros) ? "0" : obtenerBus.NumePasajeros;
                        buscarItinerarios[i].PlacaBus     = string.IsNullOrEmpty(obtenerBus.PlacBus) ? "00-0000" : obtenerBus.PlacBus;
                    }
                    else
                    {
                        // Valida 'SoloProgramados': No está en el flujo, se añadió luego.
                        if (request.SoloProgramados)
                        {
                            buscarItinerarios.RemoveAt(i);
                            i--;
                            continue;
                        }

                        // Obtiene 'BusEstandar'
                        obtenerBus = ItinerarioRepository.ObtenerBusEstandar(buscarItinerarios[i].CodiEmpresa, buscarItinerarios[i].CodiSucursal, buscarItinerarios[i].CodiRuta, buscarItinerarios[i].CodiServicio, buscarItinerarios[i].HoraPartida);
                        if (!string.IsNullOrEmpty(obtenerBus.CodiBus))
                        {
                            buscarItinerarios[i].CodiBus      = obtenerBus.CodiBus;
                            buscarItinerarios[i].PlanoBus     = obtenerBus.PlanBus;
                            buscarItinerarios[i].CapacidadBus = obtenerBus.NumePasajeros;
                            buscarItinerarios[i].PlacaBus     = obtenerBus.PlacBus;
                        }
                        else
                        {
                            // En caso de no encontrar resultado
                            obtenerBus = ItinerarioRepository.ObtenerBusEstandar(buscarItinerarios[i].CodiEmpresa, buscarItinerarios[i].CodiSucursal, buscarItinerarios[i].CodiRuta, buscarItinerarios[i].CodiServicio, string.Empty);
                            if (!string.IsNullOrEmpty(obtenerBus.CodiBus))
                            {
                                buscarItinerarios[i].CodiBus      = obtenerBus.CodiBus;
                                buscarItinerarios[i].PlanoBus     = obtenerBus.PlanBus;
                                buscarItinerarios[i].CapacidadBus = obtenerBus.NumePasajeros;
                                buscarItinerarios[i].PlacaBus     = obtenerBus.PlacBus;
                            }
                            else
                            {
                                // En caso de no encontrar resultado
                                obtenerBus = ItinerarioRepository.ObtenerBusEstandar(buscarItinerarios[i].CodiEmpresa, buscarItinerarios[i].CodiSucursal, 0, buscarItinerarios[i].CodiServicio, string.Empty);
                                buscarItinerarios[i].CodiBus      = string.IsNullOrEmpty(obtenerBus.CodiBus) ? "0000" : obtenerBus.CodiBus;
                                buscarItinerarios[i].PlanoBus     = string.IsNullOrEmpty(obtenerBus.PlanBus) ? "000" : obtenerBus.PlanBus;
                                buscarItinerarios[i].CapacidadBus = string.IsNullOrEmpty(obtenerBus.NumePasajeros) ? "0" : obtenerBus.NumePasajeros;
                                buscarItinerarios[i].PlacaBus     = string.IsNullOrEmpty(obtenerBus.PlacBus) ? "00-0000" : obtenerBus.PlacBus;
                            }
                        }
                    }

                    // Verifica cambios 'ValidarTurnoAdicional'
                    if (buscarItinerarios[i].StOpcional == "1" && DateTime.Parse(buscarItinerarios[i].FechaProgramacion).Date >= DateTime.Now.Date)
                    {
                        var validarTurnoAdicional = ItinerarioRepository.ValidarTurnoAdicional(buscarItinerarios[i].NroViaje, buscarItinerarios[i].FechaProgramacion);
                        if (validarTurnoAdicional != 1)
                        {
                            buscarItinerarios.RemoveAt(i);
                            i--;
                            continue;
                        }
                    }

                    // Valida 'ProgramacionCerrada'
                    buscarItinerarios[i].ProgramacionCerrada = ItinerarioRepository.ValidarProgramacionCerrada(buscarItinerarios[i].NroViaje, buscarItinerarios[i].FechaProgramacion);

                    // Obtiene 'TotalVentas'
                    if (buscarItinerarios[i].CodiProgramacion > 0)
                    {
                        buscarItinerarios[i].AsientosVendidos = ItinerarioRepository.ObtenerTotalVentas(buscarItinerarios[i].CodiProgramacion, buscarItinerarios[i].NroViaje, buscarItinerarios[i].CodiOrigen, buscarItinerarios[i].CodiDestino);
                    }

                    // Seteo 'Color'
                    buscarItinerarios[i].Color = GetColor(buscarItinerarios[i].ProgramacionCerrada, buscarItinerarios[i].AsientosVendidos, int.Parse(buscarItinerarios[i].CapacidadBus), buscarItinerarios[i].StOpcional);

                    // Seteo 'SecondColor'
                    buscarItinerarios[i].SecondColor = GetSecondColor(buscarItinerarios[i].AsientosVendidos, int.Parse(buscarItinerarios[i].CapacidadBus), buscarItinerarios[i].StOpcional);
                }

                return(new Response <List <ItinerarioEntity> >(true, buscarItinerarios, Message.MsgCorrectoBuscaItinerarios, true));
            }
            catch (Exception ex)
            {
                Log.Instance(typeof(ItinerarioLogic)).Error(System.Reflection.MethodBase.GetCurrentMethod().Name, ex);
                return(new Response <List <ItinerarioEntity> >(false, null, Message.MsgExcBuscaItinerarios, false));
            }
        }
Beispiel #19
0
 public ActionResult CreateUpdate([Bind(Include = "Seats")] BusEntity busEntity)
 {
     busRepository.AddBus(busEntity);
     TempData["Message"] = "Bus Added";
     return(RedirectToAction("Index"));
 }