Avatar billede awie Nybegynder
11. april 2007 - 12:10 Der er 10 kommentarer og
1 løsning

DateTime undefined

jeg sidder og kæmper lidt med en shoppingcart til et projekt.

jeg arbejder ud af ASP.NET with C# bogen og har fulgt det eksempel som er beskrevet der.

det eksempel bruger de DateTime til at update kurven men mit problem er at visual studio siger:

the type or namespace name "DateTime" could not be found (are you missing a using directive or assembly referance?)

min kode ser sådan ud:
public class ShoppingCart
{
    private DateTime _dateCreated;
    private DateTime _lastUpdated;
    private List<CartItem> _items;

    public ShoppingCart()
    {
        if (this._items == null)
        {
            this._items = new List<CartItem>();
            this._dateCreated = DateTime.Now;
        }
    }
.... osv

for samme besked for jeg for <CartItem> som jeg heller ikke helt forstår hvorfor :(

jeg sidder i visual studio 2005 hvis det kan være til nogen hjælp
Avatar billede kalp Novice
11. april 2007 - 12:43 #1
har du

using System;

i toppen?
Avatar billede awie Nybegynder
11. april 2007 - 13:29 #2
jeg har følgende med

using System.Data;
using System.Web;
using System.Data.SqlClient;
using System.Collections.Generic;

de ligger helt i toppen..

nu har jeg prøvet med smide dem ind over min public class ShoppingCart... oven over den har jeg min public class CartItem..

det løste mit første problem med DateTime men nu får jeg så bare en fejl for hver af de nye usings jeg satte ind.

a using clause must precede all other namespace elements except extern alias declarations
Avatar billede awie Nybegynder
11. april 2007 - 13:32 #3
using System.Data;
using System.Web;
using System.Data.SqlClient;
using System.Collections.Generic;

namespace Wrox.Comerce
{

har denne namespace med begge steder... men jeg ved ikke hvad den gør eller om den skal hedde det samme :)

jeg er total newbie til det her :(
Avatar billede kalp Novice
11. april 2007 - 13:35 #4
jeg tror bare der er rod i dine paranteser og sådan..

smid hele koden til siden herind
Avatar billede awie Nybegynder
11. april 2007 - 13:40 #5
ok :)

bare hold godt fast:

using System.Data;
using System.Web;
using System.Data.SqlClient;
using System.Collections.Generic;

namespace Wrox.Comerce
{

    public class CartItem
    {
        private int _ProductID;
        private string _productname;
        private int _quantity;
        private double _price;
        private double _lineTotal;

        public void New()
        { }

        public void New(int ProductID, string ProductName, string Productname, int Quantity, double Price)
        {
            _productID = ProductID;
            _productName = ProductName;
            _quantity = Quantity;
            _price = Price;
            _lineTotal = Quantity * Price;
        }

        public int ProductID
        {
            get
            {
                return _productID;
            }
            set
            {
                _productID = value;
            }
        }

        public string ProductName
        {
            get
            {
                return _productName;
            }
            set
            {
                _productName = value;
            }
        }

        public int Quantity
        {
            get
            {
                return _quantity;
            }
            set
            {
                _quantity = value;
            }
        }
        public double Price
        {
            get
            {
                return _price;
            }
            set
            {
                _price = value;
            }
        }

            public double LineTotal
            {
                get
                {
                    return _quantity * _price;
                }
            }
        }
    }


using System.Data;
using System.Web;
using System.Data.SqlClient;
using System.Collections.Generic;

namespace Wrox.Comerce
{

public class ShoppingCart
{
    private DateTime _dateCreated;
    private DateTime _lastUpdated;
    private List<CartItem> _items;

    public ShoppingCart()
    {
        if (this._items == null)
        {
            this._items = new List<CartItem>();
            this._dateCreated = DateTime.Now;
        }
    }

    public List<CartItem> Items
    {
        get
        {
            return _items;
        }
        set
        {
            _items = value;
        }
    }

    public void Insert(int ProductID, double Price, int Quantity, string ProductName)

    {
        int ItemIndex = ItemIndexOfID(ProductID);
        if(ItemIndex == -1)
        {
            CartItem
            NewItem = new CartItem();
            NewItem.productID = ProductID;
            NewItem.Quantity = Quantity;
            NewItem.Price = Price;
            NewItem.ProductName = ProductName;
            _items.Add(NewItem);
        }
        else
        {
            _items[ItemIndex] .Quantity += 1;
        }
        _lastUpdate = DateTime.Now;
    }

    public void Update(int RowID, int ProductID, double Price)
    {
        CartItem = _items[RowID];
        Item.ProductID = ProductID;
        Item.Quantity = Quantity;
        Item.Price = Price;
        _lastUpdate = DateTime.Now;
    }

    public void DeleteItem(int rowID)
    {
        _items.RemoveAt(rowID);
        _lastUpdate = DateTime.Now;
    }

    private int ItemINdexOfID(int ProductID)
    {
        int index = 0;
        foreach (CartItem item in _items)
        {
            if (item.ProductID == ProductID)
            {
                return index;
            }
            index += 1;
        }
        return -1;
    }

    public double Total
    {
        get
        {
            double t = 0;

            if (_items == null)
            {
                return 0;
            }

            foreach (CartItem Item in _items)
            {
                t += Item.LineTotal;
            }
            return t;
        }
    }
}
}
Avatar billede kalp Novice
11. april 2007 - 14:04 #6
har kun rettet dine syntax fejl og ændret småting.. ikke tjekket om din logik kode er korrekt.


using System;
using System.Data;
using System.Web;
using System.Data.SqlClient;
using System.Collections.Generic;

namespace Wrox.Comerce
{

public class CartItem
{
private int _ProductID;
private string _productname;
private int _quantity;
private double _price;
private double _lineTotal;

public CarItem()
{ }

public void CarItem(int ProductID, string ProductName, string Productname, int Quantity, double Price)
{
this._ProductID = ProductID;
this._productname = ProductName;
this._quantity = Quantity;
this._price = Price;
this._lineTotal = Quantity * Price;
}

public int ProductID
{
get
{
return _ProductID;
}
set
{
_ProductID = value;
}
}

public string ProductName
{
get
{
return _productname;
}
set
{
_productname = value;
}
}

public int Quantity
{
get
{
return _quantity;
}
set
{
_quantity = value;
}
}
public double Price
{
get
{
return _price;
}
set
{
_price = value;
}
}

public double LineTotal
{
get
{
return _quantity * _price;
}
}
}
}



using System;
using System.Data;
using System.Web;
using System.Data.SqlClient;
using System.Collections.Generic;

namespace Wrox.Comerce
{

    public class ShoppingCart
    {
        private DateTime _dateCreated;
        private DateTime _lastUpdated;
        private List<CartItem> _items;

        public ShoppingCart()
        {
            if (this._items == null)
            {
                this._items = new List<CartItem>();
                this._dateCreated = DateTime.Now;
            }
        }

        public List<CartItem> Items
        {
            get
            {
                return _items;
            }
            set
            {
                _items = value;
            }
        }

        public void Insert(int ProductID, double Price, int Quantity, string ProductName)
        {
            int ItemIndex = ItemIndexOfID(ProductID);
            if (ItemIndex == -1)
            {
                CartItem
                NewItem = new CartItem();
                NewItem.productID = ProductID;
                NewItem.Quantity = Quantity;
                NewItem.Price = Price;
                NewItem.ProductName = ProductName;
                _items.Add(NewItem);
            }
            else
            {
                _items[ItemIndex].Quantity += 1;
            }
            _lastUpdate = DateTime.Now;
        }

        public void Update(int RowID, int ProductID, double Price)
        {
            CartItem = _items[RowID];
            Item.ProductID = ProductID;
            Item.Quantity = Quantity;
            Item.Price = Price;
            _lastUpdate = DateTime.Now;
        }

        public void DeleteItem(int rowID)
        {
            _items.RemoveAt(rowID);
            _lastUpdate = DateTime.Now;
        }

        private int ItemINdexOfID(int ProductID)
        {
            int index = 0;
            foreach (CartItem item in _items)
            {
                if (item.ProductID == ProductID)
                {
                    return index;
                }
                index += 1;
            }
            return -1;
        }

        public double Total
        {
            get
            {
                double t = 0;

                if (_items == null)
                {
                    return 0;
                }

                foreach (CartItem Item in _items)
                {
                    t += Item.LineTotal;
                }
                return t;
            }
        }
    }
}
Avatar billede awie Nybegynder
11. april 2007 - 14:24 #7
nu melder den ihvertfald ikke om flere fejl :)

mange tak :)

jeg får sikkert flere problemer senere ikke gå for langt væk hehe :D
Avatar billede kalp Novice
11. april 2007 - 14:29 #8
husk at c# skelner mellem store og små bogstaver..

dvs.

_dateCreated;

er ikke

_datecreated;

og heller ikke

_DateCreated;

mange af dine fejl var bla. det.
Avatar billede awie Nybegynder
11. april 2007 - 14:34 #9
ok det skal jeg huske :)

jeg har godt nok røde streger under de der usings når de står der anden gang.. men tror ikke at det betyder noget...

jeg kan heller ikk vælge debug i menuen men det er vel fordi der ikke er nogle fejl?
Avatar billede kalp Novice
11. april 2007 - 14:43 #10
du burde godt kunne vælge debug..

angående using.. hvis den er der flere gange kan du godt fjerne duplicates:)
Avatar billede awie Nybegynder
11. april 2007 - 14:50 #11
super :)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester