public void EditCoche(Coche coche)
        {
            if (coche != null)
            {
                var elemet = _dbContext.Coches.FirstOrDefault(c => c.IdCoche == coche.IdCoche);
                if (elemet != null)
                {
                    elemet.Precio = coche.Precio;
                    elemet.Modelo = coche.Modelo;
                    elemet.Marca = coche.Marca;

                    _dbContext.SaveChanges();
                }

            }


        }
 public async Task CrearCoche(Coche car)
 {
     await this.context.SaveAsync <Coche>(car);
 }
    static void Main()
    {
        Vehiculo[] misVehiculos = new Vehiculo[1000];
        string     marca;
        string     modelo;
        int        cantidad = 0;
        int        opcion;
        string     texto;
        bool       encontrado = false;
        int        opcionAModificar;

        do
        {
            Console.Clear();
            Console.WriteLine("**********MENU**********");
            Console.WriteLine();
            Console.WriteLine();
            Console.WriteLine("1. Introducir coche");
            Console.WriteLine("2. Introducir moto");
            Console.WriteLine("3. Mostrar vehiculos almacenados");
            Console.WriteLine("4. Buscar vehiculo");
            Console.WriteLine("5. Modificar vehiculo");
            Console.WriteLine();
            Console.WriteLine("0. Salir");
            Console.WriteLine();
            Console.Write("Elija una opcion: ");
            opcion = Convert.ToInt32(Console.ReadLine());
            Console.Clear();

            switch (opcion)
            {
            case 1:
                // Nota: falta comprobar si cabe
                Console.Write("Introduzca marca: ");
                marca = Console.ReadLine();
                Console.Write("Introduzca modelo: ");
                modelo = Console.ReadLine();
                misVehiculos[cantidad] = new Coche(marca, modelo);
                cantidad++;
                break;

            case 2:
                // Nota: falta comprobar si cabe
                Console.Write("Introduzca marca: ");
                marca = Console.ReadLine();
                Console.Write("Introduzca modelo: ");
                modelo = Console.ReadLine();
                misVehiculos[cantidad] = new Moto(marca, modelo);
                cantidad++;
                break;

            case 3:
                foreach (Vehiculo v in misVehiculos)
                {
                    Console.WriteLine(v);
                }
                Console.WriteLine();
                Console.WriteLine("Pulsa ENTER para volver al MENU");
                Console.ReadLine();
                break;

            case 4:
                Console.Write("Texto a buscar: ");
                texto = Console.ReadLine();
                for (int i = 0; i < cantidad; i++)
                {
                    encontrado = false;
                    if (misVehiculos[i].ToString().ToUpper().Contains
                            (texto.ToUpper()))
                    {
                        encontrado = true;
                    }
                    if (encontrado)
                    {
                        Console.WriteLine(misVehiculos[i]);
                    }
                }
                Console.WriteLine();
                Console.WriteLine("Pulsa ENTER para volver al MENU");
                Console.ReadLine();
                break;

            case 5:
                int nuevaOpcion;

                Console.Write("Indica que espacio desea modificar: ");
                opcionAModificar = Convert.ToInt32(Console.ReadLine());

                Console.WriteLine();
                Console.WriteLine("1. Nuevo Coche");
                Console.WriteLine("2. Nueva moto");
                Console.WriteLine();
                Console.Write("indica el nuevo tipo de vehiculo: ");
                nuevaOpcion = Convert.ToInt32(Console.ReadLine());
                Console.WriteLine();

                if (opcionAModificar <= cantidad)
                {
                    if (nuevaOpcion == 1)
                    {
                        Console.Write("Introduzca marca: ");
                        marca = Console.ReadLine();
                        Console.Write("Introduzca modelo: ");
                        modelo = Console.ReadLine();
                        Vehiculo v = new Coche(marca, modelo);

                        misVehiculos[opcionAModificar - 1] = v;
                    }
                    else if (nuevaOpcion == 2)
                    {
                        Console.Write("Introduzca marca: ");
                        marca = Console.ReadLine();
                        Console.Write("Introduzca modelo: ");
                        modelo = Console.ReadLine();
                        Vehiculo v = new Moto(marca, modelo);

                        misVehiculos[opcionAModificar - 1] = v;
                    }
                    else
                    {
                        Console.WriteLine("Opcion no valida");
                    }
                }
                else
                {
                    Console.WriteLine("Ese vehiculo aun no existe");
                }
                Console.WriteLine();
                Console.WriteLine("Pulsa ENTER para volver al MENU");
                Console.ReadLine();

                break;
            }
        }while (opcion != 0);

        Console.WriteLine("Gracias por su visita.... Hasta la proxima");
    }
Пример #4
0
        public static IEvent GetEvent(DAOFactory daoFactory, GPSPoint inicio, string codigo, Int32?idPuntoDeInteres, Int64 extraData, Int64 extraData2, Int64 extraData3, Coche vehiculo, Empleado chofer)
        {
            IEvent evento = null;
            int    cod;

            if (int.TryParse(codigo, out cod) && cod > 0 && cod < 20)
            {
                evento = new ManualEvent(inicio.Date, inicio.Lat, inicio.Lon, codigo);
            }
            else if (codigo == MessageCode.InsideGeoRefference.GetMessageCode() && idPuntoDeInteres.HasValue)
            {
                evento = new GeofenceEvent(inicio.Date, idPuntoDeInteres.Value, GeofenceEvent.EventoGeofence.Entrada, inicio.Lat, inicio.Lon, chofer);
            }
            else if (codigo == MessageCode.OutsideGeoRefference.GetMessageCode() && idPuntoDeInteres.HasValue)
            {
                evento = new GeofenceEvent(inicio.Date, idPuntoDeInteres.Value, GeofenceEvent.EventoGeofence.Salida, inicio.Lat, inicio.Lon, chofer);
            }
            else if (codigo == MessageCode.TolvaDeactivated.GetMessageCode())
            {
                evento = new TolvaEvent(inicio.Date, TolvaEvent.EstadoTolva.Off, inicio.Lat, inicio.Lon);
            }
            else if (codigo == MessageCode.TolvaActivated.GetMessageCode())
            {
                evento = new TolvaEvent(inicio.Date, TolvaEvent.EstadoTolva.On, inicio.Lat, inicio.Lon);
            }
            else if (codigo == MessageCode.MixerStopped.GetMessageCode())
            {
                evento = new TrompoEvent(inicio.Date, TrompoEvent.SentidoTrompo.Detenido, TrompoEvent.VelocidadTrompo.Undefined, inicio.Lat, inicio.Lon);
            }
            else if (codigo == MessageCode.MixerClockwiseFast.GetMessageCode())
            {
                evento = new TrompoEvent(inicio.Date, TrompoEvent.SentidoTrompo.HorarioDerecha, TrompoEvent.VelocidadTrompo.Fast, inicio.Lat, inicio.Lon);
            }
            else if (codigo == MessageCode.MixerClockwiseSlow.GetMessageCode())
            {
                evento = new TrompoEvent(inicio.Date, TrompoEvent.SentidoTrompo.HorarioDerecha, TrompoEvent.VelocidadTrompo.Slow, inicio.Lat, inicio.Lon);
            }
            else if (codigo == MessageCode.MixerClockwise.GetMessageCode())
            {
                evento = new TrompoEvent(inicio.Date, TrompoEvent.SentidoTrompo.HorarioDerecha, TrompoEvent.VelocidadTrompo.Undefined, inicio.Lat, inicio.Lon);
            }
            else if (codigo == MessageCode.MixerCounterClockwiseFast.GetMessageCode())
            {
                evento = new TrompoEvent(inicio.Date, TrompoEvent.SentidoTrompo.AntihorarioIzquierda, TrompoEvent.VelocidadTrompo.Fast, inicio.Lat, inicio.Lon);
            }
            else if (codigo == MessageCode.MixerCounterClockwiseSlow.GetMessageCode())
            {
                evento = new TrompoEvent(inicio.Date, TrompoEvent.SentidoTrompo.AntihorarioIzquierda, TrompoEvent.VelocidadTrompo.Slow, inicio.Lat, inicio.Lon);
            }
            else if (codigo == MessageCode.MixerCounterClockwise.GetMessageCode())
            {
                evento = new TrompoEvent(inicio.Date, TrompoEvent.SentidoTrompo.AntihorarioIzquierda, TrompoEvent.VelocidadTrompo.Undefined, inicio.Lat, inicio.Lon);
            }
            else if (codigo == MessageCode.GarminTextMessageCannedResponse.GetMessageCode())
            {
                // extraData = ID Device
                // extraData2 = ID Entrega / ID Ruta
                // extraData3 = Codigo Mensaje
                STrace.Debug(typeof(EventFactory).FullName, Convert.ToInt32(extraData), "extraData=" + extraData + " extraData2=" + extraData2 + " extraData3=" + extraData3);
                var veh = daoFactory.CocheDAO.FindMobileByDevice(Convert.ToInt32(extraData));

                if (veh != null && veh.Empresa.IntegrationServiceEnabled)
                {
                    var intService = new IntegrationService(daoFactory);

                    if (veh.Empresa.IntegrationServiceCodigoMensajeAceptacion == extraData3.ToString())
                    {
                        var distribucion = daoFactory.ViajeDistribucionDAO.FindById(Convert.ToInt32(extraData2));

                        if (distribucion != null)
                        {
                            var enCurso = daoFactory.ViajeDistribucionDAO.FindEnCurso(veh);
                            if (enCurso == null)
                            {
                                intService.ResponseAsigno(distribucion, true);
                                var eventoInicio = new InitEvent(inicio.Date);
                                var ciclo        = new CicloLogisticoDistribucion(distribucion, daoFactory, new MessageSaver(daoFactory));
                                ciclo.ProcessEvent(eventoInicio);
                            }
                            else
                            {
                                intService.ResponsePreasigno(distribucion, true);
                            }
                        }

                        return(null);
                    }
                    else if (veh.Empresa.IntegrationServiceCodigoMensajeRechazo == extraData3.ToString())
                    {
                        var distribucion = daoFactory.ViajeDistribucionDAO.FindById(Convert.ToInt32(extraData2));
                        distribucion.Vehiculo = null;
                        daoFactory.ViajeDistribucionDAO.SaveOrUpdate(distribucion);

                        var enCurso = daoFactory.ViajeDistribucionDAO.FindEnCurso(veh);
                        if (enCurso == null)
                        {
                            intService.ResponseAsigno(distribucion, false);
                        }
                        else
                        {
                            intService.ResponsePreasigno(distribucion, false);
                        }

                        return(null);
                    }
                }

                if (extraData2 == 0)
                {
                    return(null);
                }
                var entrega   = daoFactory.EntregaDistribucionDAO.FindById(Convert.ToInt32(extraData2));
                var mensajeVo = daoFactory.MensajeDAO.GetByCodigo(extraData3.ToString("#0"), veh.Empresa, veh.Linea);
                try
                {
                    var mensaje = daoFactory.MensajeDAO.FindById(mensajeVo.Id);
                    try
                    {
                        var descriptiva = " - " + entrega.Viaje.Codigo + " - " + entrega.Descripcion;

                        var ms  = new MessageSaver(daoFactory);
                        var log = ms.Save(null, Convert.ToString(extraData3), veh.Dispositivo, veh, chofer, inicio.Date, inicio, descriptiva, entrega.Viaje, entrega);

                        try
                        {
                            entrega.MensajeConfirmacion = log as LogMensaje;
                            daoFactory.EntregaDistribucionDAO.SaveOrUpdate(entrega);
                        }
                        catch (Exception) { }

                        if (mensaje.TipoMensaje.DeConfirmacion)
                        {
                            evento = new GarminEvent(inicio.Date, extraData2, inicio.Lat, inicio.Lon, EntregaDistribucion.Estados.Completado, chofer);
                        }
                        else if (mensaje.TipoMensaje.DeRechazo)
                        {
                            evento = new GarminEvent(inicio.Date, extraData2, inicio.Lat, inicio.Lon, EntregaDistribucion.Estados.NoCompletado, chofer);
                        }
                        else
                        {
                            STrace.Error(typeof(CicloLogisticoFactory).FullName, Convert.ToInt32(extraData), "Respuesta de mensaje de Canned Response inválida sin tipo de mensaje adecuado para la ocasión. (" + extraData2 + "-" + extraData + ")");
                        }
                    }
                    catch (Exception e)
                    {
                        STrace.Exception(typeof(EventFactory).FullName, e,
                                         "E#2 Vehicle=" + veh.Id + " entrega=" +
                                         (entrega == null ? "null" : entrega.Id.ToString("#0")) + " mensajeVo=" +
                                         mensajeVo.Id + " mensaje=" +
                                         (mensaje == null ? "null" : mensaje.Id.ToString("#0")));
                    }
                }
                catch (Exception e)
                {
                    STrace.Exception(typeof(EventFactory).FullName, e,
                                     "E#1 Vehicle=" + veh.Id + " entrega=" +
                                     (entrega == null ? "null" : entrega.Id.ToString("#0")) + " mensajeVo=" +
                                     (mensajeVo == null ? "null" : mensajeVo.Id.ToString("#0")));
                }
            }
            else if (codigo == MessageCode.ValidacionRuteo.GetMessageCode())
            {
                var deviceId = inicio.DeviceId;
                var vehicle  = daoFactory.CocheDAO.FindMobileByDevice(deviceId);
                if (vehicle != null)
                {
                    var ruta = daoFactory.ViajeDistribucionDAO.FindEnCurso(vehicle);
                    if (ruta != null)
                    {
                        evento = new RouteEvent(inicio.Date, ruta.Id, inicio.Lat, inicio.Lon, RouteEvent.Estados.Enviado);
                    }
                }
            }
            else if (codigo == MessageCode.GarminETAReceived.GetMessageCode())
            {
                if (vehiculo.HasActiveStop())
                {
                    var activeStop = vehiculo.GetActiveStop();
                    if (activeStop > 0)
                    {
                        var edDAO   = daoFactory.EntregaDistribucionDAO;
                        var vdDAO   = daoFactory.ViajeDistribucionDAO;
                        var detalle = edDAO.FindById(activeStop);

                        if (detalle != null)
                        {
                            var utcnow  = DateTime.UtcNow;
                            var fechora = vehiculo.EtaEstimated();
                            var minutos = fechora != null && fechora > utcnow?fechora.Value.Subtract(utcnow).TotalMinutes : 0;

                            var texto = String.Format(CultureManager.GetLabel("GARMIN_STOP_ETA_ARRIVAL"), minutos, fechora);

                            if (minutos > 0)
                            {
                                using (var transaction = SmartTransaction.BeginTransaction())
                                {
                                    try
                                    {
                                        try
                                        {
                                            new MessageSaver(daoFactory).Save(null, codigo, vehiculo.Dispositivo, vehiculo, chofer, DateTime.UtcNow, null, texto,
                                                                              detalle.Viaje, detalle);
                                        }
                                        catch (Exception ex)
                                        {
                                            STrace.Exception(typeof(EventFactory).FullName, ex, vehiculo.Dispositivo.Id,
                                                             String.Format("Exception doing MessageSaver.Save({0})", texto));
                                            throw ex;
                                        }
                                        try
                                        {
                                            detalle.GarminETA           = fechora;
                                            detalle.GarminETAInformedAt = utcnow;
                                            vdDAO.SaveOrUpdate(detalle.Viaje);
                                        }
                                        catch (Exception ex)
                                        {
                                            STrace.Exception(typeof(EventFactory).FullName, ex, vehiculo.Dispositivo.Id,
                                                             String.Format("Exception doing MessageSaver.Save({0})", texto));
                                            throw ex;
                                        }
                                        transaction.Commit();
                                    }
                                    catch (Exception ex)
                                    {
                                        transaction.Rollback();
                                        throw ex;
                                    }
                                }
                            }
                        }
                        else
                        {
                            STrace.Error(typeof(EventFactory).FullName, vehiculo.Dispositivo.Id, String.Format("Processing GarminETAReceived cannot be processed because EntregaDistribucion #{0} is null.", activeStop));
                        }
                    }
                    else
                    {
                        STrace.Error(typeof(EventFactory).FullName, vehiculo.Dispositivo.Id, "Processing GarminETAReceived cannot be processed because ActiveStop # is not valid.");
                    }
                }
            }
            else
            {
                var stopstatus = TranslateStopStatus(codigo);
                if (stopstatus != -1)
                {
                    evento = new GarminEvent(inicio.Date, extraData, inicio.Lat, inicio.Lon, stopstatus, chofer);
                }
            }

            return(evento);
        }
Пример #5
0
 public static IEvent GetEvent(DAOFactory daoFactory, GPSPoint inicio, string codigo, Int32?idPuntoDeInteres, int extraData, int extraData2, Coche vehiculo, Empleado chofer)
 {
     return(GetEvent(daoFactory, inicio, codigo, idPuntoDeInteres, extraData, extraData2, -1, vehiculo, chofer));
 }
Пример #6
0
        public static IEvent GetEvent(DAOFactory daoFactory, GPSPoint inicio, string codigo, Int32?idPuntoDeInteres, IMessage message, Coche vehiculo, Empleado chofer)
        {
            var extra      = (message as IExtraData);
            var extraData  = extra != null && extra.Data.Count > 1 ? extra.Data[1] : -1;
            var extraData2 = extra != null && extra.Data.Count > 2 ? extra.Data[2] : -1;
            var extraData3 = extra != null && extra.Data.Count > 3 ? extra.Data[3] : -1;

            return(GetEvent(daoFactory, inicio, codigo, idPuntoDeInteres, extraData, extraData2, extraData3, vehiculo, chofer));
        }
Пример #7
0
        private DatamartTramo CalcularTramo(Coche vehiculo, DateTime fechaInicio, DateTime fechaFin, bool motorOn, IEnumerable <LogMensaje> entradas, IEnumerable <LogMensaje> detenciones, IEnumerable <Linea> bases, IEnumerable <EntregaDistribucion> entregas)
        {
            var datamartTramo = new DatamartTramo();

            datamartTramo.Empresa = vehiculo.Empresa;
            datamartTramo.Linea   = vehiculo.Linea;
            datamartTramo.Vehicle = vehiculo;
            datamartTramo.Inicio  = fechaInicio;
            datamartTramo.Fin     = fechaFin;
            datamartTramo.MotorOn = motorOn;

            var dm = DaoFactory.DatamartDAO.GetSummarizedDatamart(fechaInicio, fechaFin, vehiculo.Id);

            datamartTramo.Kilometros        = dm.Kilometros;
            datamartTramo.VelocidadPromedio = (int)dm.AverageSpeed;

            #region Geocercas

            var geocercas = entradas.Where(e => e.Fecha >= fechaInicio && e.Fecha < fechaFin);

            var cantBases    = 0;
            var cantEntregas = 0;
            var cantOtras    = 0;

            var ids = new List <int>();
            foreach (var geocerca in geocercas)
            {
                if (geocerca.IdPuntoDeInteres.HasValue && !ids.Contains(geocerca.IdPuntoDeInteres.Value))
                {
                    ids.Add(geocerca.IdPuntoDeInteres.Value);
                    var esBase = bases.Any(l => l.ReferenciaGeografica != null && l.ReferenciaGeografica.Id == geocerca.IdPuntoDeInteres.Value);
                    if (esBase)
                    {
                        cantBases++;
                    }
                    else
                    {
                        var esEntrega = entregas.Any(e => e.PuntoEntrega != null && e.PuntoEntrega.ReferenciaGeografica != null &&
                                                     e.PuntoEntrega.ReferenciaGeografica.Id == geocerca.IdPuntoDeInteres.Value);
                        if (esEntrega)
                        {
                            cantEntregas++;
                        }
                        else
                        {
                            cantOtras++;
                        }
                    }
                }
            }

            #endregion

            datamartTramo.GeocercasBase     = cantBases;
            datamartTramo.GeocercasEntregas = cantEntregas;
            datamartTramo.GeocercasOtras    = cantOtras;

            #region Detenciones

            var horasDentro = 0.0;
            var horasFuera  = 0.0;
            var mayores     = 0;
            var menores     = 0;

            foreach (var detencion in detenciones)
            {
                var inicioDetencion = detencion.Fecha >= fechaInicio ? detencion.Fecha : fechaInicio;
                var finDetencion    = detencion.FechaFin <= fechaFin ? detencion.FechaFin : fechaFin;
                var duracion        = finDetencion.Value.Subtract(inicioDetencion);

                if (duracion.TotalMinutes > 2)
                {
                    mayores++;
                }
                else
                {
                    menores++;
                }

                if (detencion.IdPuntoDeInteres.HasValue)
                {
                    horasDentro += duracion.TotalHours;
                }
                else
                {
                    horasFuera += duracion.TotalHours;
                }
            }

            #endregion

            var horasTotales = fechaFin.Subtract(fechaInicio).TotalHours;
            datamartTramo.Horas = horasTotales;
            datamartTramo.HorasDetenidoDentro = horasDentro;
            datamartTramo.HorasDetenidoFuera  = horasFuera;
            datamartTramo.HorasDetenido       = horasDentro + horasFuera;
            datamartTramo.HorasMovimiento     = horasTotales - horasDentro - horasFuera;
            datamartTramo.DetencionesMayores  = mayores;
            datamartTramo.DetencionesMenores  = menores;

            return(datamartTramo);
        }
Пример #8
0
 public static void AddCoche(Coche item)
 {
     Coches.Add(item);
 }
Пример #9
0
 public void Reset()
 {
     coche = new Coche();
 }
Пример #10
0
 public LogPosicion(GPSPoint position, Coche coche)
     : base(position, coche)
 {
 }
Пример #11
0
        public KmHsProductivosVo(Coche coche, DateTime desde, DateTime hasta)
        {
            var dao = new DAOFactory();

            Id           = coche.Id;
            TipoVehiculo = coche.TipoCoche.Descripcion;
            Vehiculo     = coche.Interno;

            var hsTotales    = hasta.Subtract(desde);
            var enMovimiento = new TimeSpan(0, 0, 0);
            var detenido     = new TimeSpan(0, 0, 0);
            var ralenti      = new TimeSpan(0, 0, 0);
            var sinReportar  = new TimeSpan(0, 0, 0);

            var kmTurnos          = 0.00;
            var hsTotalesTurno    = new TimeSpan(0, 0, 0);
            var enMovimientoTurno = new TimeSpan(0, 0, 0);
            var detenidoTurno     = new TimeSpan(0, 0, 0);
            var ralentiTurno      = new TimeSpan(0, 0, 0);
            var sinReportarTurno  = new TimeSpan(0, 0, 0);

            var kmViajes          = 0.00;
            var hsTotalesViaje    = new TimeSpan(0, 0, 0);
            var enMovimientoViaje = new TimeSpan(0, 0, 0);
            var detenidoViaje     = new TimeSpan(0, 0, 0);
            var ralentiViaje      = new TimeSpan(0, 0, 0);
            var sinReportarViaje  = new TimeSpan(0, 0, 0);

            var kmTimeTracking           = 0.00;
            var hsTotalesTimeTracking    = new TimeSpan(0, 0, 0);
            var enMovimientoTimeTracking = new TimeSpan(0, 0, 0);
            var detenidoTimeTracking     = new TimeSpan(0, 0, 0);
            var ralentiTimeTracking      = new TimeSpan(0, 0, 0);
            var sinReportarTimeTracking  = new TimeSpan(0, 0, 0);

            var kmTickets          = 0.00;
            var hsTotalesTicket    = new TimeSpan(0, 0, 0);
            var enMovimientoTicket = new TimeSpan(0, 0, 0);
            var detenidoTicket     = new TimeSpan(0, 0, 0);
            var ralentiTicket      = new TimeSpan(0, 0, 0);
            var sinReportarTicket  = new TimeSpan(0, 0, 0);

            var data = dao.DatamartDAO.GetBetweenDates(coche.Id, desde, hasta);

            foreach (var datamart in data)
            {
                // TOTALES
                enMovimiento = enMovimiento.Add(TimeSpan.FromHours(datamart.MovementHours));
                detenido     = detenido.Add(TimeSpan.FromHours(datamart.StoppedHours));
                sinReportar  = sinReportar.Add(TimeSpan.FromHours(datamart.NoReportHours));

                if (datamart.EngineStatus == Datamart.EstadosMotor.Encendido)
                {
                    ralenti = ralenti.Add(TimeSpan.FromHours(datamart.StoppedHours));
                }

                // TICKETS
                if (datamart.IdCiclo != null && datamart.IdCiclo > 0)
                {
                    kmTickets      += dao.CocheDAO.GetDistance(coche.Id, datamart.Begin, datamart.End);
                    hsTotalesTicket = hsTotalesTicket.Add(datamart.End.Subtract(datamart.Begin));

                    enMovimientoTicket = enMovimientoTicket.Add(TimeSpan.FromHours(datamart.MovementHours));
                    detenidoTicket     = detenidoTicket.Add(TimeSpan.FromHours(datamart.StoppedHours));
                    sinReportarTicket  = sinReportarTicket.Add(TimeSpan.FromHours(datamart.NoReportHours));

                    if (datamart.EngineStatus == Datamart.EstadosMotor.Encendido)
                    {
                        ralentiTicket = ralentiTicket.Add(TimeSpan.FromHours(datamart.StoppedHours));
                    }
                }

                // TIME TRACKING
                if (datamart.EnTimeTracking != null && datamart.EnTimeTracking == true)
                {
                    kmTimeTracking       += dao.CocheDAO.GetDistance(coche.Id, datamart.Begin, datamart.End);
                    hsTotalesTimeTracking = hsTotalesTimeTracking.Add(datamart.End.Subtract(datamart.Begin));

                    enMovimientoTimeTracking = enMovimientoTimeTracking.Add(TimeSpan.FromHours(datamart.MovementHours));
                    detenidoTimeTracking     = detenidoTimeTracking.Add(TimeSpan.FromHours(datamart.StoppedHours));
                    sinReportarTimeTracking  = sinReportarTimeTracking.Add(TimeSpan.FromHours(datamart.NoReportHours));

                    if (datamart.EngineStatus == Datamart.EstadosMotor.Encendido)
                    {
                        ralentiTimeTracking = ralentiTimeTracking.Add(TimeSpan.FromHours(datamart.StoppedHours));
                    }
                }

                // VIAJES
                if (datamart.EngineStatus == Datamart.EstadosMotor.Encendido)
                {
                    kmViajes      += dao.CocheDAO.GetDistance(coche.Id, datamart.Begin, datamart.End);
                    hsTotalesViaje = hsTotalesViaje.Add(datamart.End.Subtract(datamart.Begin));

                    enMovimientoViaje = enMovimientoViaje.Add(TimeSpan.FromHours(datamart.MovementHours));
                    detenidoViaje     = detenidoViaje.Add(TimeSpan.FromHours(datamart.StoppedHours));
                    sinReportarViaje  = sinReportarViaje.Add(TimeSpan.FromHours(datamart.NoReportHours));
                    ralentiViaje      = ralentiViaje.Add(TimeSpan.FromHours(datamart.StoppedHours));
                }

                // TURNOS
                //if (datamart.EnTurno != null && datamart.EnTurno == true)
                {
                    kmTurnos      += dao.CocheDAO.GetDistance(coche.Id, datamart.Begin, datamart.End);
                    hsTotalesTurno = hsTotalesTurno.Add(datamart.End.Subtract(datamart.Begin));

                    enMovimientoTurno = enMovimientoTurno.Add(TimeSpan.FromHours(datamart.MovementHours));
                    detenidoTurno     = detenidoTurno.Add(TimeSpan.FromHours(datamart.StoppedHours));
                    sinReportarTurno  = sinReportarTurno.Add(TimeSpan.FromHours(datamart.NoReportHours));

                    if (datamart.EngineStatus == Datamart.EstadosMotor.Encendido)
                    {
                        ralentiTurno = ralentiTurno.Add(TimeSpan.FromHours(datamart.StoppedHours));
                    }
                }
            }

            KmTotales    = dao.CocheDAO.GetDistance(coche.Id, desde, hasta);
            HsTotales    = hsTotales;
            EnMovimiento = enMovimiento;
            Detenido     = detenido;
            Ralenti      = ralenti;
            SinReportar  = sinReportar;

            KmTurnos          = kmTurnos;
            HsTotalesTurno    = hsTotalesTurno;
            EnMovimientoTurno = enMovimientoTurno;
            DetenidoTurno     = detenidoTurno;
            RalentiTurno      = ralentiTurno;
            SinReportarTurno  = sinReportarTurno;

            KmViajes          = kmViajes;
            HsTotalesViaje    = hsTotalesViaje;
            EnMovimientoViaje = enMovimientoViaje;
            DetenidoViaje     = detenidoViaje;
            RalentiViaje      = ralentiViaje;
            SinReportarViaje  = sinReportarViaje;

            KmTimeTracking           = kmTimeTracking;
            HsTotalesTimeTracking    = hsTotalesTimeTracking;
            EnMovimientoTimeTracking = enMovimientoTimeTracking;
            DetenidoTimeTracking     = detenidoTimeTracking;
            RalentiTimeTracking      = ralentiTimeTracking;
            SinReportarTimeTracking  = sinReportarTimeTracking;

            KmTickets          = kmTickets;
            HsTotalesTicket    = hsTotalesTicket;
            EnMovimientoTicket = enMovimientoTicket;
            DetenidoTicket     = detenidoTicket;
            RalentiTicket      = ralentiTicket;
            SinReportarTicket  = sinReportarTicket;
        }
Пример #12
0
 public Posicion GetPosicion(Coche coche)
 {
     return(BaseService.GetPosicion(coche));
 }
Пример #13
0
    // Use this for initialization

    void Start()
    {
        Carro = FindObjectOfType <Coche> ();
    }
Пример #14
0
        public static void UpdateCoche(Coche item)
        {
            var coche = Coches.FirstOrDefault(x => x.Id == item.Id);

            coche = item;
        }
Пример #15
0
        public IActionResult Edit(int idcoche)
        {
            Coche coche = this.repo.BuscarCoche(idcoche);

            return(View(coche));
        }
Пример #16
0
        private void ProcessPeriod(Coche vehicle, DateTime from, DateTime to)
        {
            using (var transaction = SmartTransaction.BeginTransaction(IsolationLevel.ReadUncommitted))
            {
                try
                {
                    // Set environment data
                    var inicio = new DateTime(from.Year, from.Month, from.Day, from.Hour, 0, 0);
                    var fin    = new DateTime(to.Year, to.Month, to.Day, to.Hour, 0, 0);

                    // Deletes all previously generated datamart tramo records for the current vehicle and time span.
                    var t = new TimeElapsed();
                    DaoFactory.DatamartTramoDAO.DeleteRecords(vehicle.Id, inicio, fin);
                    var ts = t.getTimeElapsed().TotalSeconds;
                    if (ts > 1)
                    {
                        STrace.Trace(GetType().FullName, string.Format("DeleteRecords en {0} segundos", ts));
                    }

                    var records   = new List <DatamartTramo>();
                    var procesado = false;
                    var retry     = 0;

                    while (!procesado && retry < 5)
                    {
                        retry++;
                        records = GenerateRecords(vehicle, inicio, fin);

                        t.Restart();
                        foreach (var record in records)
                        {
                            DaoFactory.DatamartTramoDAO.Save(record);
                        }
                        ts = t.getTimeElapsed().TotalSeconds;
                        if (ts > 1)
                        {
                            STrace.Trace(GetType().FullName, string.Format("Save en {0} segundos", ts));
                        }

                        transaction.Commit();
                        procesado = true;
                    }

                    if (retry == 5 && !procesado)
                    {
                        var parametros = new[] { "No se generaron registros de Datamart Tramos para el vehículo: " + vehicle.Id, vehicle.Id.ToString("#0"), DateTime.Today.ToString("dd/MM/yyyy HH:mm") };
                        SendMail(parametros);
                        STrace.Error(GetType().FullName, "No se generaron registros de Datamart Tramos para el vehículo: " + vehicle.Id);
                    }
                }
                catch (Exception ex)
                {
                    AddError(ex);
                    transaction.Rollback();
                }
                finally
                {
                    ClearData();
                    DoSleep();
                }
            }
        }
Пример #17
0
    public void SetupScene(string escenario, string personajes)
    {
        string[] lineas = escenario.Split('\n');
        int      xtotal = Convert.ToInt32(lineas[0].Split(' ')[0]);
        int      ytotal = Convert.ToInt32(lineas[0].Split(' ')[1]);

        mapa = Convert.ToInt32(lineas[0].Split(' ')[2]);
        string[] jugadores = personajes.Split('\n');
        int      ptotal    = Convert.ToInt32(jugadores[0]);
        int      m         = 0;
        int      c1        = 0;
        int      c2        = 0;
        int      c3        = 0;
        int      e1        = 0;
        int      e2        = 0;
        int      e3        = 0;
        int      e4        = 0;
        int      e5        = 0;
        int      h         = 0;
        int      t         = 0;
        int      p         = 0;
        int      n         = 0;
        int      e         = 0;
        int      c         = 0;
        float    xmapa;
        float    ymapa;

        boardHolder  = new GameObject("Suelo").transform;
        boardHolder2 = new GameObject("Personajes").transform;
        boardHolder3 = new GameObject("Bordes").transform;

        if (mapa == 1)
        {
            boardHolder4 = new GameObject("Casas").transform;
        }

        else if (mapa == 2)
        {
            boardHolder4 = new GameObject("Caja Registradora").transform;
            boardHolder5 = new GameObject("Estanterías").transform;
            boardHolder6 = new GameObject("Objetos").transform;
        }

        else if (mapa == 3)
        {
            boardHolder4 = new GameObject("Cajas").transform;
        }

        int x;
        int y;

        for (x = -1; x < xtotal + 1; x++)
        {
            GameObject borde = Instantiate(invisible, new Vector3(x, -1f, 0f), Quaternion.identity);
            borde.transform.SetParent(boardHolder3);
        }

        for (x = -1; x < xtotal + 1; x++)
        {
            GameObject borde = Instantiate(invisible, new Vector3(x, ytotal, 0f), Quaternion.identity);
            borde.transform.SetParent(boardHolder3);
        }

        for (y = -1; y < ytotal + 1; y++)
        {
            GameObject borde = Instantiate(invisible, new Vector3(-1, y, 0f), Quaternion.identity);
            borde.transform.SetParent(boardHolder3);
        }

        for (y = -1; y < ytotal + 1; y++)
        {
            GameObject borde = Instantiate(invisible, new Vector3(xtotal, y, 0f), Quaternion.identity);
            borde.transform.SetParent(boardHolder3);
        }


        for (y = 0; y < ytotal; y++)
        {
            ymapa = -y + ytotal - 1;
            string linea = lineas[y + 1];

            for (x = 0; x < xtotal; x++)
            {
                xmapa = x;
                char ch = linea[x];

                GameObject instance = null;

                switch (ch)
                {
                case 'M':
                    GameObject extra = null;
                    if (mapa == 1)
                    {
                        extra    = Instantiate(mercadona[m], new Vector3(xmapa, ymapa, 0f), Quaternion.identity);
                        instance = Instantiate(acera, new Vector3(xmapa, ymapa, 0f), Quaternion.identity);
                        m++;

                        if (m == 44)
                        {
                            m = 0;
                        }
                    }

                    else if (mapa == 2)
                    {
                        extra    = Instantiate(cajaregistradora[m], new Vector3(xmapa, ymapa, 0f), Quaternion.identity);
                        instance = Instantiate(sueloMercadona, new Vector3(xmapa, ymapa, 0f), Quaternion.identity);
                        m++;

                        if (m == 6)
                        {
                            m = 0;
                        }
                    }

                    else if (mapa == 3)
                    {
                        instance = Instantiate(sueloAlmacen, new Vector3(xmapa, ymapa, 0f), Quaternion.identity);
                        extra    = Instantiate(cajas[c], new Vector3(xmapa, ymapa, 0f), Quaternion.identity);
                        c++;
                        if (c == 14)
                        {
                            c = 0;
                        }
                    }

                    extra.transform.SetParent(boardHolder4);

                    break;

                case '0':
                    if (mapa == 1)
                    {
                        instance = Instantiate(carretera[Int32.Parse(ch.ToString())], new Vector3(xmapa, ymapa, 0f), Quaternion.identity);
                    }

                    else if (mapa == 2)
                    {
                        GameObject nevera = Instantiate(nevera1[n], new Vector3(xmapa, ymapa, 0f), Quaternion.identity);
                        n++;
                        if (n == 2)
                        {
                            n = 0;
                        }

                        nevera.transform.SetParent(boardHolder5);
                    }

                    else if (mapa == 3)
                    {
                        instance = Instantiate(sueloAlmacen, new Vector3(xmapa, ymapa, 0f), Quaternion.identity);
                        GameObject conjuntopapeles = Instantiate(conjuntopapel, new Vector3(xmapa, ymapa, 0f), Quaternion.identity);

                        conjuntopapeles.transform.SetParent(boardHolder4);
                    }

                    break;

                case '1':
                    if (mapa == 1)
                    {
                        instance = Instantiate(carretera[Int32.Parse(ch.ToString())], new Vector3(xmapa, ymapa, 0f), Quaternion.identity);
                    }

                    else if (mapa == 2)
                    {
                        GameObject nevera = Instantiate(nevera2, new Vector3(xmapa, ymapa, 0f), Quaternion.identity);
                        nevera.transform.SetParent(boardHolder5);
                    }

                    else if (mapa == 3)
                    {
                        instance = Instantiate(sueloAlmacen, new Vector3(xmapa, ymapa, 0f), Quaternion.identity);
                        GameObject papelvater = Instantiate(papel, new Vector3(xmapa, ymapa, 0f), Quaternion.identity);
                        papelvater.transform.SetParent(boardHolder4);
                    }

                    break;

                case '2':
                    if (mapa == 1)
                    {
                        instance = Instantiate(carretera[Int32.Parse(ch.ToString())], new Vector3(xmapa, ymapa, 0f), Quaternion.identity);
                    }

                    else if (mapa == 2)
                    {
                        GameObject estanteria = Instantiate(estanterias[e], new Vector3(xmapa, ymapa, 0f), Quaternion.identity);
                        instance = Instantiate(sueloMercadona, new Vector3(xmapa, ymapa, 0f), Quaternion.identity);
                        e++;

                        if (e == 20)
                        {
                            e = 0;
                        }

                        estanteria.transform.SetParent(boardHolder5);
                    }

                    break;

                case '3':
                    if (mapa == 1)
                    {
                        instance = Instantiate(carretera[Int32.Parse(ch.ToString())], new Vector3(xmapa, ymapa, 0f), Quaternion.identity);
                    }

                    else if (mapa == 2)
                    {
                        instance = Instantiate(sueloMercadona, new Vector3(xmapa, ymapa, 0f), Quaternion.identity);
                        GameObject cestaobject = Instantiate(cesta[c], new Vector3(xmapa, ymapa, 0f), Quaternion.identity);
                        c++;
                        if (c == 16)
                        {
                            c = 0;
                        }

                        cestaobject.transform.SetParent(boardHolder6);
                    }

                    break;

                case '4':
                    if (mapa == 1)
                    {
                        instance = Instantiate(carretera[Int32.Parse(ch.ToString())], new Vector3(xmapa, ymapa, 0f), Quaternion.identity);
                    }


                    else if (mapa == 2)
                    {
                        GameObject carromercadona = Instantiate(carro, new Vector3(xmapa, ymapa, 0f), Quaternion.identity);
                        instance = Instantiate(sueloMercadona, new Vector3(xmapa, ymapa, 0f), Quaternion.identity);

                        carromercadona.transform.SetParent(boardHolder6);
                    }

                    break;

                case '5':
                    if (mapa == 1)
                    {
                        instance = Instantiate(carretera[Int32.Parse(ch.ToString())], new Vector3(xmapa, ymapa, 0f), Quaternion.identity);
                    }

                    else if (mapa == 2)
                    {
                        instance = Instantiate(sueloMercadona, new Vector3(xmapa, ymapa, 0f), Quaternion.identity);
                        GameObject alarmaobject = Instantiate(alarma, new Vector3(xmapa, ymapa, 0f), Quaternion.identity);

                        alarmaobject.transform.SetParent(boardHolder6);
                    }
                    break;

                case '6':
                    if (mapa == 1)
                    {
                        instance = Instantiate(carretera[Int32.Parse(ch.ToString())], new Vector3(xmapa, ymapa, 0f), Quaternion.identity);
                    }

                    else if (mapa == 2 || mapa == 3)
                    {
                        instance = Instantiate(alfombra, new Vector3(xmapa, ymapa, 0f), Quaternion.identity);
                    }
                    break;

                case '7':
                    if (mapa == 1)
                    {
                        instance = Instantiate(carretera[Int32.Parse(ch.ToString())], new Vector3(xmapa, ymapa, 0f), Quaternion.identity);
                    }

                    else if (mapa == 2)
                    {
                        instance = Instantiate(puertaalmacen, new Vector3(xmapa + 0.5f, ymapa, 0f), Quaternion.identity);
                    }
                    break;

                case '8':
                    if (mapa == 1)
                    {
                        instance = Instantiate(carretera[Int32.Parse(ch.ToString())], new Vector3(xmapa, ymapa, 0f), Quaternion.identity);
                    }

                    else if (mapa == 2)
                    {
                        instance = Instantiate(sueloMercadona, new Vector3(xmapa, ymapa, 0f), Quaternion.identity);
                        GameObject codigoobject = Instantiate(codigo, new Vector3(xmapa, ymapa, 0f), Quaternion.identity);

                        codigoobject.transform.SetParent(boardHolder6);
                    }
                    break;

                case '9':
                    instance = Instantiate(carretera[Int32.Parse(ch.ToString())], new Vector3(xmapa, ymapa, 0f), Quaternion.identity);
                    break;

                case 'A':
                    instance = Instantiate(carretera[10], new Vector3(xmapa, ymapa, 0f), Quaternion.identity);
                    break;

                case 'B':
                    instance = Instantiate(carretera[11], new Vector3(xmapa, ymapa, 0f), Quaternion.identity);
                    break;

                case 'C':
                    instance = Instantiate(carretera[12], new Vector3(xmapa, ymapa, 0f), Quaternion.identity);
                    break;

                case 'D':
                    instance = Instantiate(carretera[13], new Vector3(xmapa, ymapa, 0f), Quaternion.identity);
                    break;

                case 'E':
                    instance = Instantiate(carretera[14], new Vector3(xmapa, ymapa, 0f), Quaternion.identity);
                    break;

                case 'F':
                    instance = Instantiate(carretera[15], new Vector3(xmapa, ymapa, 0f), Quaternion.identity);
                    break;

                case 'G':
                    instance = Instantiate(carretera[16], new Vector3(xmapa, ymapa, 0f), Quaternion.identity);
                    break;

                case 'H':
                    instance = Instantiate(carretera[17], new Vector3(xmapa, ymapa, 0f), Quaternion.identity);
                    break;

                case 'I':
                    instance = Instantiate(carretera[18], new Vector3(xmapa, ymapa, 0f), Quaternion.identity);
                    break;

                case 'J':
                    instance = Instantiate(carretera[19], new Vector3(xmapa, ymapa, 0f), Quaternion.identity);
                    break;

                case 'Á':
                    GameObject bordecasa = Instantiate(casacomun[4], new Vector3(xmapa, ymapa, 0f), Quaternion.identity);
                    instance = Instantiate(acera, new Vector3(xmapa, ymapa, 0f), Quaternion.identity);
                    bordecasa.transform.SetParent(boardHolder4);
                    break;

                case 'É':
                    GameObject bordecasa2 = Instantiate(casacomun[5], new Vector3(xmapa, ymapa, 0f), Quaternion.identity);
                    instance = Instantiate(acera, new Vector3(xmapa, ymapa, 0f), Quaternion.identity);
                    bordecasa2.transform.SetParent(boardHolder4);
                    break;

                case 'Í':
                    GameObject bordecasa3 = Instantiate(casacomun[6], new Vector3(xmapa, ymapa, 0f), Quaternion.identity);
                    instance = Instantiate(acera, new Vector3(xmapa, ymapa, 0f), Quaternion.identity);
                    bordecasa3.transform.SetParent(boardHolder4);
                    break;

                case 'Ó':
                    GameObject bordecasa4 = Instantiate(casacomun[7], new Vector3(xmapa, ymapa, 0f), Quaternion.identity);
                    instance = Instantiate(acera, new Vector3(xmapa, ymapa, 0f), Quaternion.identity);
                    bordecasa4.transform.SetParent(boardHolder4);
                    break;

                case 'á':
                    GameObject bordecasa5 = Instantiate(casacomun[0], new Vector3(xmapa, ymapa, 0f), Quaternion.identity);
                    instance = Instantiate(acera, new Vector3(xmapa, ymapa, 0f), Quaternion.identity);
                    bordecasa5.transform.SetParent(boardHolder4);
                    break;

                case 'é':
                    GameObject bordecasa6 = Instantiate(casacomun[1], new Vector3(xmapa, ymapa, 0f), Quaternion.identity);
                    instance = Instantiate(acera, new Vector3(xmapa, ymapa, 0f), Quaternion.identity);
                    bordecasa6.transform.SetParent(boardHolder4);
                    break;

                case 'í':
                    GameObject bordecasa7 = Instantiate(casacomun[2], new Vector3(xmapa, ymapa, 0f), Quaternion.identity);
                    instance = Instantiate(acera, new Vector3(xmapa, ymapa, 0f), Quaternion.identity);
                    bordecasa7.transform.SetParent(boardHolder4);
                    break;

                case 'ó':
                    GameObject bordecasa8 = Instantiate(casacomun[3], new Vector3(xmapa, ymapa, 0f), Quaternion.identity);
                    instance = Instantiate(acera, new Vector3(xmapa, ymapa, 0f), Quaternion.identity);
                    bordecasa8.transform.SetParent(boardHolder4);
                    break;

                case 'a':
                    GameObject casa1g = Instantiate(casa1[c1], new Vector3(xmapa, ymapa, 0f), Quaternion.identity);
                    instance = Instantiate(acera, new Vector3(xmapa, ymapa, 0f), Quaternion.identity);
                    c1++;
                    if (c1 == 16)
                    {
                        c1 = 0;
                    }
                    casa1g.transform.SetParent(boardHolder4);
                    break;

                case 'b':
                    GameObject casa2g = Instantiate(casa2[c2], new Vector3(xmapa, ymapa, 0f), Quaternion.identity);
                    instance = Instantiate(acera, new Vector3(xmapa, ymapa, 0f), Quaternion.identity);
                    c2++;

                    if (c2 == 16)
                    {
                        c2 = 0;
                    }

                    casa2g.transform.SetParent(boardHolder4);
                    break;

                case 'c':
                    GameObject casa3g = Instantiate(casa3[c3], new Vector3(xmapa, ymapa, 0f), Quaternion.identity);
                    instance = Instantiate(acera, new Vector3(xmapa, ymapa, 0f), Quaternion.identity);
                    c3++;
                    casa3g.transform.SetParent(boardHolder4);

                    if (c3 == 16)
                    {
                        c3 = 0;
                    }

                    break;

                case 'd':
                    GameObject edificio1g = Instantiate(edificio1[e1], new Vector3(xmapa, ymapa, 0f), Quaternion.identity);
                    instance = Instantiate(acera, new Vector3(xmapa, ymapa, 0f), Quaternion.identity);
                    e1++;
                    edificio1g.transform.SetParent(boardHolder4);

                    if (e1 == 20)
                    {
                        e1 = 0;
                    }

                    break;

                case 'e':
                    GameObject edificio2g = Instantiate(edificio2[e2], new Vector3(xmapa, ymapa, 0f), Quaternion.identity);
                    instance = Instantiate(acera, new Vector3(xmapa, ymapa, 0f), Quaternion.identity);
                    e2++;
                    edificio2g.transform.SetParent(boardHolder4);

                    if (e2 == 12)
                    {
                        e2 = 0;
                    }

                    break;

                case 'f':
                    GameObject edificio3g = Instantiate(edificio3[e3], new Vector3(xmapa, ymapa, 0f), Quaternion.identity);
                    instance = Instantiate(acera, new Vector3(xmapa, ymapa, 0f), Quaternion.identity);
                    e3++;
                    edificio3g.transform.SetParent(boardHolder4);
                    if (e3 == 18)
                    {
                        e3 = 0;
                    }
                    break;

                case 'g':
                    GameObject edificio4g = Instantiate(edificio4[e4], new Vector3(xmapa, ymapa, 0f), Quaternion.identity);
                    instance = Instantiate(acera, new Vector3(xmapa, ymapa, 0f), Quaternion.identity);
                    e4++;
                    edificio4g.transform.SetParent(boardHolder4);

                    if (e4 == 25)
                    {
                        e4 = 0;
                    }

                    break;

                case 'h':
                    GameObject hospitalg = Instantiate(hospital[h], new Vector3(xmapa, ymapa, 0f), Quaternion.identity);
                    instance = Instantiate(acera, new Vector3(xmapa, ymapa, 0f), Quaternion.identity);
                    h++;
                    hospitalg.transform.SetParent(boardHolder4);

                    if (h == 25)
                    {
                        h = 0;
                    }

                    break;

                case 'i':
                    GameObject edificio5g = Instantiate(edificio5[e5], new Vector3(xmapa, ymapa, 0f), Quaternion.identity);
                    instance = Instantiate(acera, new Vector3(xmapa, ymapa, 0f), Quaternion.identity);
                    e5++;
                    edificio5g.transform.SetParent(boardHolder4);

                    if (e5 == 25)
                    {
                        e5 = 0;
                    }

                    break;

                case 'p':
                    GameObject parqueg = Instantiate(parque[p], new Vector3(xmapa, ymapa, 0f), Quaternion.identity);
                    instance = Instantiate(acera, new Vector3(xmapa, ymapa, 0f), Quaternion.identity);
                    p++;
                    parqueg.transform.SetParent(boardHolder4);

                    if (p == 80)
                    {
                        p = 0;
                    }

                    break;

                case 't':
                    GameObject tiendag = Instantiate(tienda[t], new Vector3(xmapa, ymapa, 0f), Quaternion.identity);
                    instance = Instantiate(acera, new Vector3(xmapa, ymapa, 0f), Quaternion.identity);
                    t++;
                    tiendag.transform.SetParent(boardHolder4);

                    if (t == 20)
                    {
                        t = 0;
                    }

                    break;

                default:
                    if (mapa == 1)
                    {
                        instance = Instantiate(acera, new Vector3(xmapa, ymapa, 0f), Quaternion.identity);
                    }

                    else if (mapa == 2)
                    {
                        instance = Instantiate(sueloMercadona, new Vector3(xmapa, ymapa, 0f), Quaternion.identity);
                    }
                    else if (mapa == 3)
                    {
                        instance = Instantiate(sueloAlmacen, new Vector3(xmapa, ymapa, 0f), Quaternion.identity);
                    }
                    break;
                }

                if (instance != null)
                {
                    instance.transform.SetParent(boardHolder);
                }
            }
        }

        m = 0;
        h = 0;
        for (int pl = 0; pl < ptotal; pl++)
        {
            char       ch       = jugadores[pl + 1][0];
            GameObject instance = null;
            switch (ch)
            {
            case 'P':
                instance = Instantiate(player, new Vector3(Convert.ToInt32(jugadores[pl + 1].Split(' ')[1]), Convert.ToInt32(jugadores[pl + 1].Split(' ')[2]), 0f), Quaternion.identity);
                Player jugador = instance.GetComponent <Player>();
                jugador.estado = Convert.ToInt32(jugadores[pl + 1].Split(' ')[3]);

                break;

            case '0':
                instance = Instantiate(coches[0], new Vector3(Convert.ToInt32(jugadores[pl + 1].Split(' ')[1]), Convert.ToInt32(jugadores[pl + 1].Split(' ')[2]), 0f), Quaternion.identity);
                Coche cochecontrol0 = instance.GetComponent <Coche>();
                cochecontrol0.hormax          = Int32.Parse(jugadores[pl + 1].Split(' ')[3]);
                cochecontrol0.vermax          = Int32.Parse(jugadores[pl + 1].Split(' ')[4]);
                cochecontrol0.move            = Int32.Parse(jugadores[pl + 1].Split(' ')[5]);
                cochecontrol0.ordenmovimiento = Int32.Parse(jugadores[pl + 1].Split(' ')[6]);
                break;

            case '1':
                instance = Instantiate(coches[1], new Vector3(Convert.ToInt32(jugadores[pl + 1].Split(' ')[1]), Convert.ToInt32(jugadores[pl + 1].Split(' ')[2]), 0f), Quaternion.identity);
                Coche cochecontrol1 = instance.GetComponent <Coche>();
                cochecontrol1.hormax          = Int32.Parse(jugadores[pl + 1].Split(' ')[3]);
                cochecontrol1.vermax          = Int32.Parse(jugadores[pl + 1].Split(' ')[4]);
                cochecontrol1.move            = Int32.Parse(jugadores[pl + 1].Split(' ')[5]);
                cochecontrol1.ordenmovimiento = Int32.Parse(jugadores[pl + 1].Split(' ')[6]);
                break;

            case '2':
                instance = Instantiate(coches[2], new Vector3(Convert.ToInt32(jugadores[pl + 1].Split(' ')[1]), Convert.ToInt32(jugadores[pl + 1].Split(' ')[2]), 0f), Quaternion.identity);
                Coche cochecontrol2 = instance.GetComponent <Coche>();
                cochecontrol2.hormax          = Int32.Parse(jugadores[pl + 1].Split(' ')[3]);
                cochecontrol2.vermax          = Int32.Parse(jugadores[pl + 1].Split(' ')[4]);
                cochecontrol2.move            = Int32.Parse(jugadores[pl + 1].Split(' ')[5]);
                cochecontrol2.ordenmovimiento = Int32.Parse(jugadores[pl + 1].Split(' ')[6]);
                break;

            case '3':
                instance = Instantiate(coches[3], new Vector3(Convert.ToInt32(jugadores[pl + 1].Split(' ')[1]), Convert.ToInt32(jugadores[pl + 1].Split(' ')[2]), 0f), Quaternion.identity);
                Coche cochecontrol3 = instance.GetComponent <Coche>();
                cochecontrol3.hormax          = Int32.Parse(jugadores[pl + 1].Split(' ')[3]);
                cochecontrol3.vermax          = Int32.Parse(jugadores[pl + 1].Split(' ')[4]);
                cochecontrol3.move            = Int32.Parse(jugadores[pl + 1].Split(' ')[5]);
                cochecontrol3.ordenmovimiento = Int32.Parse(jugadores[pl + 1].Split(' ')[6]);
                break;

            case '4':
                instance = Instantiate(coches[4], new Vector3(Convert.ToInt32(jugadores[pl + 1].Split(' ')[1]), Convert.ToInt32(jugadores[pl + 1].Split(' ')[2]), 0f), Quaternion.identity);
                Coche cochecontrol4 = instance.GetComponent <Coche>();
                cochecontrol4.hormax          = Int32.Parse(jugadores[pl + 1].Split(' ')[3]);
                cochecontrol4.vermax          = Int32.Parse(jugadores[pl + 1].Split(' ')[4]);
                cochecontrol4.move            = Int32.Parse(jugadores[pl + 1].Split(' ')[5]);
                cochecontrol4.ordenmovimiento = Int32.Parse(jugadores[pl + 1].Split(' ')[6]);
                break;

            case 'V':
                instance = Instantiate(vertical[m], new Vector3(Convert.ToInt32(jugadores[pl + 1].Split(' ')[1]), Convert.ToInt32(jugadores[pl + 1].Split(' ')[2]), 0f), Quaternion.identity);
                m++;
                if (m == 10)
                {
                    m = 0;
                }
                break;

            case 'H':
                if (mapa == 1)
                {
                    instance = Instantiate(horizontal[h], new Vector3(Convert.ToInt32(jugadores[pl + 1].Split(' ')[1]), Convert.ToInt32(jugadores[pl + 1].Split(' ')[2]), 0f), Quaternion.identity);
                    h++;
                    if (h == 10)
                    {
                        h = 0;
                    }
                }

                else if (mapa == 2 || mapa == 3)
                {
                    instance = Instantiate(propietarioMercadona, new Vector3(Convert.ToInt32(jugadores[pl + 1].Split(' ')[1]), Convert.ToInt32(jugadores[pl + 1].Split(' ')[2]), 0f), Quaternion.identity);
                }

                break;

            case 'L':
                instance = Instantiate(guardiaLlave, new Vector3(Convert.ToInt32(jugadores[pl + 1].Split(' ')[1]), Convert.ToInt32(jugadores[pl + 1].Split(' ')[2]), 0f), Quaternion.identity);

                break;

            case 'G':
                instance = Instantiate(guardia, new Vector3(Convert.ToInt32(jugadores[pl + 1].Split(' ')[1]), Convert.ToInt32(jugadores[pl + 1].Split(' ')[2]), 0f), Quaternion.identity);
                Guardia scriptguardia = instance.GetComponent <Guardia>();
                scriptguardia.hormax          = Int32.Parse(jugadores[pl + 1].Split(' ')[3]);
                scriptguardia.vermax          = Int32.Parse(jugadores[pl + 1].Split(' ')[4]);
                scriptguardia.move            = Int32.Parse(jugadores[pl + 1].Split(' ')[5]);
                scriptguardia.ordenmovimiento = Int32.Parse(jugadores[pl + 1].Split(' ')[6]);

                break;
            }

            if (instance != null)
            {
                instance.transform.SetParent(boardHolder2);
            }
        }
    }