<pre>
Items.cs
class Items
{
public int ItemNumber { get; set; }
public DateTime ItemDate { get; set; }
public List<ItemsLine> ItemsLines { get; set; } = new List<ItemsLine>();
public void AddItemLine(ItemsLine itemLine)
{
ItemsLines.Add(itemLine);
}
public void RemoveItemLine(int SOMEID)
{
ItemsLines.RemoveAt(1);
}
public decimal GetTotal()
{
return ItemsLines.Sum(i => Convert.ToInt32(i.Cost) * i.Quantity);
}
public void MergeItem(Items sourceItem)
{
IEnumerable<Items> items =
}
public override string ToString()
{
string result = "Item Number\tQuantity\tCost\n";
foreach (ItemsLine item in ItemsLines)
result += (item.ItemLineId + "\t\t" + item.Quantity + "\t\t" + item.Cost.ToString() + "\n");
return result;
}
}
class ItemsLine
{
public int ItemLineId { get; set; }
public int Quantity { get; set; }
public double Cost { get; set; }
public ItemsLine(int itemLineId, int quantity, double cost)
{
this.ItemLineId = itemLineId;
this.Quantity = quantity;
this.Cost = cost;
}
public ItemsLine()
{
}
}
<pre lang="c#">
<pre>
class Program
{
static void Main(string[] args)
{
Console.WriteLine("Welcome to ItemBilling Appliation....");
CreateItemWithOneItem();
CreateItemWithMultipleItemsAndQuantities();
RemoveItem();
}
private static void CreateItemWithOneItem()
{
var item = new Items();
item.AddItemLine(new ItemsLine()
{
ItemLineId = 1,
Cost = 6.99,
Quantity = 1,
});
Console.WriteLine(item.ToString());
Console.WriteLine(item.GetTotal());
}
private static void CreateItemWithMultipleItemsAndQuantities()
{
var item = new Items();
item.AddItemLine(new ItemsLine()
{
ItemLineId = 1,
Cost = 10.21,
Quantity = 4,
});
item.AddItemLine(new ItemsLine()
{
ItemLineId = 2,
Cost = 5.21,
Quantity = 1,
});
Console.WriteLine(item.ToString());
Console.WriteLine(item.GetTotal());
}
private static void RemoveItem()
{
var item = new Items();
item.AddItemLine(new ItemsLine()
{
ItemLineId = 1,
Cost = 5.21,
Quantity = 1,
});
item.AddItemLine(new ItemsLine()
{
ItemLineId = 2,
Cost = 10.99,
Quantity = 4,
});
item.RemoveItemLine(1);
Console.WriteLine(item.ToString());
Console.WriteLine(item.GetTotal());
}
private static void MergeItem()
{
var item1 = new Items();
item1.AddItemLine(new ItemsLine()
{
ItemLineId = 1,
Cost = 10.33,
Quantity = 4,
});
var item2 = new Items();
item2.AddItemLine(new ItemsLine()
{
ItemLineId = 2,
Cost = 5.22,
Quantity = 1,
});
item2.AddItemLine(new ItemsLine()
{
ItemLineId = 3,
Cost = 6.27,
Quantity = 3,
});
item1.MergeItem(item2);
Console.WriteLine(item1.GetTotal());
}
private static void CloneItem()
{
var item = new Items();
item.AddItemLine(new ItemsLine()
{
ItemLineId = 1,
Cost = 6.99,
Quantity = 1,
});
item.AddItemLine(new ItemsLine()
{
ItemLineId = 2,
Cost = 6.27,
Quantity = 3,
});
var clonedItem = item.Clone();
Console.WriteLine(clonedItem.GetTotal());
}
private static void ItemToString()
{
var item = new Items()
{
ItemDate = DateTime.Now,
ItemNumber = 1000,
ItemsLines = new List<ItemsLine>()
{
new ItemsLine()
{
ItemLineId = 1,
Cost = 6.99,
Quantity = 1,
}
}
};
Console.WriteLine(item.ToString());
}
}
What I have tried:
I am bit confuse how to merge , clone and Item to Tostring