예제 #1
0
        public Guardarropa crearGuardarropa(String nombreGuardarropa)
        {
            Guardarropa value = tipoUsuario.crearGuardarropa(nombreGuardarropa, this);

            guardarropas.Add(value);
            Console.WriteLine("Guardarropas creado");
            return(value);
        }
예제 #2
0
 public void compartirGuardarropa(Usuario usuario, Guardarropa guardarropaACompartir)
 {
     if (Object.ReferenceEquals(this.tipoUsuario.GetType(), usuario.tipoUsuario.GetType()))
     {
         usuario.agregarGaurdarropaCompartido(guardarropaACompartir);
     }
     else
     {
         throw new ArgumentException("los usuarios son de distinto tipo");
     }
 }
예제 #3
0
        public Guardarropa crearGuardarropa(String nombreGuardarropa)
        {
            DB context = new DB();
            GuardarropaRepository gr = new GuardarropaRepository();

            if (gr.existeGuardarropa(nombreGuardarropa, context, id_usuario))
            {
                Console.WriteLine("El guardarropas ya existe");
                return(null);
            }
            else
            {
                Guardarropa value = tipoUsuario.crearGuardarropa(nombreGuardarropa, this);
                guardarropas.Add(value);
                gr.Insert(value, context, id_usuario);
                Console.WriteLine("Guardarropas creado");
                return(value);
            }
        }
예제 #4
0
        public int compartirGuardarropa(Guardarropa guardarropaOriginal, Usuario usuarioParaCompartir){

            guardarropaXusuarioRepository gxuDAO = new guardarropaXusuarioRepository(); 
            guardarropaXusuarioRepository gxuDAOParaConsulta = new guardarropaXusuarioRepository(); 

            if(usuarioParaCompartir != null){//Compruebo que exista el usuario al que se quiere compartir
                gxuDAOParaConsulta = gxuDAO.BuscarGuardarropaPorIdYIdDeUsuario(guardarropaOriginal.id_guardarropa, usuarioParaCompartir.id_usuario);
                if(gxuDAOParaConsulta == null){//Si fuese != null significa que ya le compartio el guardarropa a ese usuario
                    if(this.puedeCompartirElGuardarropa(usuarioParaCompartir.tipoDeUsuario)){

                        // usuarioDuenio.compartirGuardarropa(guardarropaOriginal, usuarioParaCompartir.id_usuario);
                        DB db = new DB();

                        gxuDAO.id_guardarropa = guardarropaOriginal.id_guardarropa;
                        gxuDAO.id_usuario = usuarioParaCompartir.id_usuario;
                        gxuDAO.nombreGuardarropa = guardarropaOriginal.nombreGuardarropas;

                        db.guardarropaXusuarioRepositories.Add(gxuDAO);

                        db.SaveChanges();

                        return 0;

                    } else {
                        
                        return 1;

                    }
                } else {//En caso de que ya le compartió el guardarropas

                    return 2;

                }
            } else { //Mensaje de error por si no existe el usuario

                return 3;

            }

        }
예제 #5
0
 public void agregarGaurdarropaCompartido(Guardarropa guardarropaCompartido)
 {
     guardarropaCompartido.usuariosCompartidos.Add(this);
     guardarropas.Add(guardarropaCompartido);
 }
예제 #6
0
        static void Main(string[] args)
        {
            using (var context = new DB())
            {
                var UsuarioRepo     = new UsuarioRepository();
                var GuardarropaRepo = new GuardarropaRepository();
                var TelaRepo        = new TelaRepository();
                var TipoPrendaRepo  = new TipoPrendaRepository();
                var AtuendoRepo     = new AtuendoRepository();
                var EventoRepo      = new EventoRepository();
                var PrendasRepo     = new PrendaRepository();

                context.limpiarDB();

                var telaDePrueba = new Tela();
                telaDePrueba.descripcion = "Seda";
                TelaRepo.Insert(telaDePrueba, context);

                TipoPrenda tp1 = new TipoPrenda();
                tp1.descripcion = "jean";
                tp1.categoria   = "torso";
                tp1.tiposDeTelaPosibles.Add("algodon");
                tp1.tiposDeTelaPosibles.Add("lana");
                tp1.nivelDeAbrigo = 8;
                tp1.capa          = 1;

                TipoPrenda tp2 = new TipoPrenda();
                tp2.descripcion = "joguin";
                tp2.categoria   = "torso";
                tp2.tiposDeTelaPosibles.Add("algodon");
                tp2.tiposDeTelaPosibles.Add("lana");
                tp2.nivelDeAbrigo = 10;
                tp2.capa          = 0;

                TipoPrendaRepo.Insert(tp1, context);
                TipoPrendaRepo.Insert(tp2, context);

                var tela = context.telas.Single(u => u.id_tela == 17);

                var usuario1 = new Usuario("usuario1", new Gratuito(), "pass");
                UsuarioRepo.Insert(usuario1, context);
                var user = context.usuarios.Single(u => u.usuario == "usuario1");


                Guardarropa guardarropa = new Guardarropa(usuario1, "Guardarropa1");
                GuardarropaRepo.Insert(guardarropa, context, user.id_usuario);
                var guard = context.guardarropas.Single(u => u.nombreGuardarropas == "Guardarropa1");


                Prenda p = new Prenda(tp1, tela, "rojo", "amarillo");
                PrendasRepo.Insert(p, context, guard.id_guardarropa);


                var evento = new Evento("UTN", "EntregaTP", usuario1, new DateTime(2018, 10, 5, 7, 45, 0), new DateTime(2018, 10, 5, 7, 45, 0), new DateTime(2018, 10, 5, 7, 45, 0), "evento1", 1);
                //Falta crear un atuendo y asignarle el id al atributo id_atuendo de evento
                // no hace falta crear un atuendo para el evento sino no tendria sentido hacer lo de sugerencias por evento porque la elige cuando crea el evento
                EventoRepo.Insert(evento, context);

                Helper  sist  = new Helper();
                Usuario user2 = new Usuario();

                user2 = sist.loguing("usuario1", "pass");
                Console.WriteLine(user2.id_usuario);
                Console.WriteLine(user2.usuario);
                Console.WriteLine(user2.guardarropas[0].nombreGuardarropas);
                Console.WriteLine(user2.guardarropas[0].prendas[0].id_prenda);
                Console.WriteLine(user2.eventos[0].lugar);

                UsuarioRepo.Delete(user2, context);

                var usuarios     = context.consultarUsuarios();
                var guardarropas = context.consultarGuardarropas();
                var eventos      = context.consultarEventos();
                var prendas      = context.consultarPrendas();
                var atuendos     = context.consultarAtuendos();
                var tipoprendas  = context.consultarTipoPrendas();
                var telas        = context.consultarTelas();

                Console.WriteLine($"Existen {usuarios.Length} usuario(s).");
                Console.WriteLine($"Existen {guardarropas.Length} guardarropa(s).");
                Console.WriteLine($"Existen {eventos.Length} evento(s).");
                Console.WriteLine($"Existen {prendas.Length} prenda(s).");
                Console.WriteLine($"Existen {atuendos.Length} atuendo(s).");
                Console.WriteLine($"Existen {tipoprendas.Length} tipo(s) de prenda(s).");
                Console.WriteLine($"Existen {telas.Length} telas(s).");
            }
        }
예제 #7
0
        public override Guardarropa crearGuardarropa(String nombreGuardarropa, Usuario user)
        {
            Guardarropa value = new Guardarropa(user, nombreGuardarropa);

            return(value);
        }
예제 #8
0
        static void Main(string[] args)
        {
            using (var context = new DB())
            {
                var UsuarioRepo     = new UsuarioRepository();
                var GuardarropaRepo = new GuardarropaRepository();
                var TelaRepo        = new TelaRepository();
                var TipoPrendaRepo  = new TipoPrendaRepository();
                var AtuendoRepo     = new AtuendoRepository();
                var EventoRepo      = new EventoRepository();

                var usuarios     = context.consultarUsuarios();
                var guardarropas = context.consultarGuardarropas();
                var eventos      = context.consultarEventos();
                var prendas      = context.consultarPrendas();
                var atuendos     = context.consultarAtuendos();
                //var tipoprendas = context.consultarTipoPrendas();
                var telas = context.consultarTelas();

                /*Console.WriteLine($"Existen {usuarios.Length} usuario(s).");
                 * Console.WriteLine($"Existen {guardarropas.Length} guardarropa(s).");
                 * Console.WriteLine($"Existen {eventos.Length} evento(s).");
                 * Console.WriteLine($"Existen {prendas.Length} prenda(s).");
                 * Console.WriteLine($"Existen {atuendos.Length} atuendo(s).");
                 * Console.WriteLine($"Existen {tipoprendas.Length} tipo(s) de prenda(s).");
                 * Console.WriteLine($"Existen {telas.Length} telas(s).");*/

                //Creo un usuario
                var usuario1 = new Usuario("usuario1", new Gratuito(), "pass");
                UsuarioRepo.Insert(usuario1, context);

                //Agrego un usuario con guardarropa
                var         usuario2ConGuardarropa = new Usuario("usuario2", new Gratuito(), "pass");
                Guardarropa guardarropa            = new Guardarropa(usuario2ConGuardarropa, "Guardarropa1");
                usuario2ConGuardarropa.guardarropas = (List <Guardarropa>) new List <Guardarropa> {
                    guardarropa
                };
                UsuarioRepo.Insert(usuario2ConGuardarropa, context);

                //Agrego el guardarropa al usuario2 (Aca nose si esta andando bien o mal, cuando liste los guardarropas de este usuario, me deberían aparecer 1 o 2 guardarropas?
                var nuevoGuardarropa = new Guardarropa(usuario2ConGuardarropa, "Guardarropa2");
                GuardarropaRepo.Insert(nuevoGuardarropa, context);

                //Consulto los guardarropas de ese usuario
                var usuarioConsultaGuardarropa = context.usuarios.Single(x => x.usuario == "usuario2");

                Console.WriteLine($"\nGuardarropas del usuario {usuarioConsultaGuardarropa.usuario}:");
                foreach (Guardarropa g in usuarioConsultaGuardarropa.guardarropas)
                {
                    Console.WriteLine($"{g.id_guardarropa} - {g.nombreGuardarropas}");
                }

                var tela = new Tela("Algodon");
                TelaRepo.Insert(tela, context);

                var tipoPrenda = new TipoPrenda();
                TipoPrendaRepo.Insert(tipoPrenda, context);

                //Creo una prenda TODO: No anda (ERROR: insert or update on table "prendas" violates foreign key constraint "prenda_tipoprenda_prenda_id")

                /*var prenda = new Prenda(new TipoPrenda(), "Algodon", "Blanco", "Negro");
                 * prenda.tipoPrenda = tipoPrenda.id_tipoPrenda;
                 * //prenda.tipoPrenda = 1;
                 * prenda.id_tela = tela.id_tela;
                 * context.prendas.Add(prenda);
                 * context.SaveChanges();
                 * Console.WriteLine($"\nPrenda {prenda.id_prenda} creada!");*/

                //Creo un atuendo
                var atuendo = new Atuendo();
                AtuendoRepo.Insert(atuendo, context);

                //Creo un evento
                var evento = new Evento("UTN", "EntregaTP", usuario1, new DateTime(2018, 10, 5, 7, 45, 0), new DateTime(2018, 10, 5, 7, 45, 0), new DateTime(2018, 10, 5, 7, 45, 0), "evento1", 1);
                evento.id_atuendo = atuendo.id_atuendo;
                EventoRepo.Insert(evento, context);

                UsuarioRepo.Delete(usuario1.id_usuario, context);
            }
        }