public static IEnumerable <DtoVivienda> ConvertToDtoVivienda(IEnumerable <Vivienda> viviendas)
        {
            List <DtoVivienda> dto_viviendas = new List <DtoVivienda>();

            if (viviendas.Count() > 0)
            {
                foreach (Vivienda v in viviendas)
                {
                    if (v.tipo == 0)
                    {
                        VNueva vn = (VNueva)v;
                        dto_viviendas.Add(new DtoVNueva
                        {
                            calle             = vn.calle,
                            nro_puerta        = vn.nro_puerta,
                            barrio            = ConvertToDtoBarrio(vn.barrio),
                            descripcion       = vn.descripcion,
                            nro_banios        = vn.nro_banios,
                            nro_dormitorios   = vn.nro_dormitorios,
                            superficie        = vn.superficie,
                            precio_base       = vn.precio_base,
                            anio_construccion = vn.anio_construccion,
                            vendida           = vn.vendida,
                            habilitada        = vn.habilitada,
                            precio_final      = vn.precio_final,
                            tipo = vn.tipo,
                            id   = vn.id
                        });
                    }
                    else if (v.tipo == 1)
                    {
                        VUsada vu = (VUsada)v;
                        dto_viviendas.Add(new DtoVUsada
                        {
                            calle             = vu.calle,
                            nro_puerta        = vu.nro_puerta,
                            barrio            = ConvertToDtoBarrio(vu.barrio),
                            descripcion       = vu.descripcion,
                            nro_banios        = vu.nro_banios,
                            nro_dormitorios   = vu.nro_dormitorios,
                            superficie        = vu.superficie,
                            precio_base       = vu.precio_base,
                            anio_construccion = vu.anio_construccion,
                            vendida           = vu.vendida,
                            habilitada        = vu.habilitada,
                            precio_final      = vu.precio_final,
                            tipo         = vu.tipo,
                            contribucion = vu.contribucion,
                            id           = vu.id
                        });
                    }
                }
            }

            return(dto_viviendas);
        }
        public static DtoVivienda ConvertToDtoVivienda(Vivienda v)
        {
            DtoVivienda dto_vivienda = null;

            if (v != null)
            {
                if (v.tipo == 0)
                {
                    VNueva vn = (VNueva)v;

                    dto_vivienda = new DtoVNueva
                    {
                        calle             = vn.calle,
                        nro_puerta        = vn.nro_puerta,
                        barrio            = ConvertToDtoBarrio(vn.barrio),
                        descripcion       = vn.descripcion,
                        nro_banios        = vn.nro_banios,
                        nro_dormitorios   = vn.nro_dormitorios,
                        superficie        = vn.superficie,
                        precio_base       = vn.precio_base,
                        anio_construccion = vn.anio_construccion,
                        vendida           = vn.vendida,
                        habilitada        = vn.habilitada,
                        precio_final      = vn.precio_final,
                        tipo = vn.tipo,
                        id   = vn.id
                    };
                }
                else if (v.tipo == 1)
                {
                    VUsada vu = (VUsada)v;

                    dto_vivienda = new DtoVUsada
                    {
                        calle             = vu.calle,
                        nro_puerta        = vu.nro_puerta,
                        barrio            = ConvertToDtoBarrio(vu.barrio),
                        descripcion       = vu.descripcion,
                        nro_banios        = vu.nro_banios,
                        nro_dormitorios   = vu.nro_dormitorios,
                        superficie        = vu.superficie,
                        precio_base       = vu.precio_base,
                        anio_construccion = vu.anio_construccion,
                        vendida           = vu.vendida,
                        habilitada        = vu.habilitada,
                        precio_final      = vu.precio_final,
                        tipo         = vu.tipo,
                        contribucion = vu.contribucion,
                        id           = vu.id
                    };
                }
            }

            return(dto_vivienda);
        }
Exemple #3
0
        public Vivienda FindById(int id)
        {
            Vivienda      v  = null;
            SqlConnection cn = UtilidadesDB.CreateConnection();

            UtilidadesDB.OpenConnection(cn);
            SqlTransaction trn = cn.BeginTransaction();

            try
            {
                String query = @"SELECT * 
                                FROM VIVIENDA V INNER JOIN VUSADA VU ON V.id = VU.vivienda
                                WHERE V.id = @id;";

                SqlCommand cmd = new SqlCommand(query, cn, trn);
                cmd.Parameters.Add(new SqlParameter("@id", id));

                /* [-1 --> No Existe; 0 --> Nueva; 1 --> Usada] */


                SqlDataReader dr = cmd.ExecuteReader();

                if (dr.HasRows)
                {
                    while (dr.Read())
                    {
                        v = new VUsada
                        {
                            calle             = dr["calle"].ToString(),
                            nro_puerta        = Convert.ToInt32(dr["nro_puerta"]),
                            barrio            = repoBarrio.FindByName(dr["barrio"].ToString()),
                            descripcion       = dr["descripcion"].ToString(),
                            nro_banios        = Convert.ToInt32(dr["nro_banios"]),
                            nro_dormitorios   = Convert.ToInt32(dr["nro_dormitorios"]),
                            superficie        = Convert.ToDouble(dr["superficie"]),
                            precio_base       = Convert.ToDouble(dr["precio_base"]),
                            anio_construccion = Convert.ToInt32(dr["anio_construccion"]),
                            vendida           = ConvertCharToBoolean(Convert.ToChar(dr["vendida"].ToString())),
                            habilitada        = ConvertCharToBoolean(Convert.ToChar(dr["habilitada"].ToString())),
                            id           = Convert.ToInt32(dr["id"]),
                            precio_final = Convert.ToDouble(dr["precio_base"]),
                            tipo         = Convert.ToInt32(dr["tipo"]),
                            contribucion = Convert.ToDouble(dr["contribucion"])
                        };
                    }
                }

                dr.Close();
                query = @"SELECT * 
                          FROM VIVIENDA V INNER JOIN VNUEVA VN ON V.id = VN.vivienda
                          WHERE V.id = @id;";
                cmd   = new SqlCommand(query, cn, trn);
                cmd.Parameters.Add(new SqlParameter("@id", id));
                dr = cmd.ExecuteReader();

                if (dr.HasRows)
                {
                    while (dr.Read())
                    {
                        v = new VNueva
                        {
                            calle             = dr["calle"].ToString(),
                            nro_puerta        = Convert.ToInt32(dr["nro_puerta"]),
                            barrio            = repoBarrio.FindByName(dr["barrio"].ToString()),
                            descripcion       = dr["descripcion"].ToString(),
                            nro_banios        = Convert.ToInt32(dr["nro_banios"]),
                            nro_dormitorios   = Convert.ToInt32(dr["nro_dormitorios"]),
                            superficie        = Convert.ToDouble(dr["superficie"]),
                            precio_base       = Convert.ToDouble(dr["precio_base"]),
                            anio_construccion = Convert.ToInt32(dr["anio_construccion"]),
                            vendida           = ConvertCharToBoolean(Convert.ToChar(dr["vendida"].ToString())),
                            habilitada        = ConvertCharToBoolean(Convert.ToChar(dr["habilitada"].ToString())),
                            id           = Convert.ToInt32(dr["id"]),
                            precio_final = Convert.ToDouble(dr["precio_base"]),
                            tipo         = Convert.ToInt32(dr["tipo"])
                        };
                    }
                }
            }
            catch (SqlException e)
            {
                Console.WriteLine("Se ha producido un error " + e.Message);
            }
            catch (Exception ex)
            {
                Console.WriteLine("Error " + ex.Message);
            }
            finally
            {
                UtilidadesDB.CloseConnection(cn);
                cn.Dispose();
            }

            return(v);
        }