public InteractuableMetadata GetInteractionableMeta(IInteractionable r)
        {
            InteractuableMetadata meta = new InteractuableMetadata();

            meta.capacidad       = r.GetCapacidad();
            meta.defensa         = GetDestacamentoArrays(r.GetDefensas());
            meta.flota           = GetDestacamentoArrays(r.GetFlota());
            meta.recursos        = GetResourceArrays(r.GetRecursos());
            meta.interactuableID = r.GetID();
            return(meta);
        }
 public static DALayer.Entities.IneractuableMetadata SharedToData(InteractuableMetadata shared)
 {
     DALayer.Entities.IneractuableMetadata data = new DALayer.Entities.IneractuableMetadata();
     data.capacidad       = shared.capacidad;
     data.defensa         = shared.defensa;
     data.flota           = shared.flota;
     data.recursos        = shared.recursos;
     data.returnToBase    = shared.returnToBase;
     data.interactuableID = shared.interactuableID;
     data.send            = shared.send;
     return(data);
 }
        public static InteractuableMetadata DataToShared(DALayer.Entities.IneractuableMetadata data)
        {
            InteractuableMetadata shared = new InteractuableMetadata();

            shared.capacidad       = data.capacidad;
            shared.defensa         = data.defensa;
            shared.flota           = data.flota;
            shared.recursos        = data.recursos;
            shared.returnToBase    = data.returnToBase;
            shared.interactuableID = data.interactuableID;
            shared.send            = data.send;
            return(shared);
        }
        public Interactuable GetIntFromMeta(InteractuableMetadata meta)
        {
            Interactuable interactuable = new Interactuable(meta.interactuableID);

            interactuable.setCapacidad(meta.capacidad);
            if (meta.returnToBase)
            {
                interactuable.Return();
            }
            var recursos     = builder.getRelJugadorRecursoHandler().getRecursosByColonia(meta.interactuableID);
            var destacamento = builder.getRelJugadorDestacamentoHandler().getDestacamentosByColonia(meta.interactuableID);

            var recursoToAssign = new List <RelJugadorRecurso>();
            var flotaToAssign   = new List <RelJugadorDestacamento>();
            var defensaToAssign = new List <RelJugadorDestacamento>();

            foreach (var rec in meta.recursos)
            {
                int id    = -1;
                int value = -1;
                foreach (var s in rec.ToBsonDocument().ToArray())
                {
                    if (s.Name.Equals("_id"))
                    {
                        id = s.Value.ToInt32();
                    }
                    else
                    {
                        value = s.Value.ToInt32();
                    }
                }
                var recurso = recursos.Where(c => c.recurso.id == id).ToList().First();
                recurso.cantidadR = value;
                recursoToAssign.Add(recurso);
            }
            foreach (var rec in meta.flota)
            {
                int id    = -1;
                int value = -1;
                foreach (var s in rec.ToBsonDocument().ToArray())
                {
                    if (s.Name.Equals("_id"))
                    {
                        id = s.Value.ToInt32();
                    }
                    else
                    {
                        value = s.Value.ToInt32();
                    }
                }
                var flota = destacamento.Where(c => c.destacamento.id == id).ToList().First();
                flota.cantidad = value;
                flotaToAssign.Add(flota);
            }
            foreach (var rec in meta.defensa)
            {
                int id    = -1;
                int value = -1;
                foreach (var s in rec.ToBsonDocument().ToArray())
                {
                    if (s.Name.Equals("_id"))
                    {
                        id = s.Value.ToInt32();
                    }
                    else
                    {
                        value = s.Value.ToInt32();
                    }
                }
                var defensa = destacamento.Where(c => c.destacamento.id == id).ToList().First();
                defensa.cantidad = value;
                defensaToAssign.Add(defensa);
            }
            interactuable.SetDefensas(defensaToAssign.Cast <IDestacamento>().ToList());
            interactuable.SetRecursos(recursoToAssign.Cast <IResources>().ToList());
            interactuable.SetFlota(flotaToAssign.Cast <IDestacamento>().ToList());
            return(interactuable);
        }