Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
37 changes: 0 additions & 37 deletions Order.Management/Circle.cs

This file was deleted.

68 changes: 0 additions & 68 deletions Order.Management/CuttingListReport.cs

This file was deleted.

12 changes: 12 additions & 0 deletions Order.Management/Domain/CustomerInfo.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
using System;

namespace Order.Management.Domain
{
public class CustomerInfo
{
public string CustomerName { get; set; }
public string Address { get; set; }
public DateTime DueDate { get; set; }

}
}
47 changes: 47 additions & 0 deletions Order.Management/Domain/OrderInfo.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,47 @@
using Order.Management.Enums;
using System;
using System.Collections.Generic;
using System.Linq;

namespace Order.Management.Domain
{
public class OrderInfo
{
public int OrderNumber { get; set; }
public CustomerInfo CustomerInfo { get; set; }
public List<ToyInfo> ToyInfos { get; set; }

public int GetCountByColor(Color color)
{
return ToyInfos.Where(item => item.Color.Equals(color)).ToList().Sum(item => item.Quantity);
}

public int GetCountByShape(Enum shape)
{
return ToyInfos.Where(item => item.Shape.Equals(shape)).ToList().Sum(item => item.Quantity);
}
public int GetCountByShapeAndColor(Enum shape, Color color)
{
return ToyInfos.Where(item => item.Shape.Equals(shape) && item.Color.Equals(color)).ToList().Sum(item => item.Quantity);
}

public decimal GetShapePrice(Enum shape)
{
switch (shape)
{
case Shape.Triangle:
return ToyPrice.TrianglePrice;
case Shape.Circle:
return ToyPrice.CirclePrice;
case Shape.Square:
default:
return ToyPrice.SquarePrice;
}
}

public string ToMessage()
{
return $"\nName: {CustomerInfo.CustomerName} Address: {CustomerInfo.Address} Due Date: {CustomerInfo.DueDate.ToShortDateString()} Order #: {OrderNumber}";
}
}
}
11 changes: 11 additions & 0 deletions Order.Management/Domain/ToyInfo.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
using Order.Management.Enums;

namespace Order.Management.Domain
{
public class ToyInfo
{
public Shape Shape { get; set; }
public Color Color { get; set; }
public int Quantity { get; set; }
}
}
11 changes: 11 additions & 0 deletions Order.Management/Domain/ToyPrice.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@

namespace Order.Management.Domain
{
public class ToyPrice
{
public const decimal SquarePrice = 1;
public const decimal TrianglePrice = 2;
public const decimal CirclePrice = 3;
public const decimal ExtraChargesWithRed = 1;
}
}
9 changes: 9 additions & 0 deletions Order.Management/Enums/Color.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
namespace Order.Management.Enums
{
public enum Color
{
Red,
Blue,
Yellow
}
}
10 changes: 10 additions & 0 deletions Order.Management/Enums/ReportType.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
using System;
namespace Order.Management.Enums
{
public enum ReportType
{
CuttingList,
Invoice,
Painting
}
}
9 changes: 9 additions & 0 deletions Order.Management/Enums/Shape.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
namespace Order.Management.Enums
{
public enum Shape
{
Square,
Triangle,
Circle
}
}
98 changes: 0 additions & 98 deletions Order.Management/InvoiceReport.cs

This file was deleted.

22 changes: 0 additions & 22 deletions Order.Management/Order.cs

This file was deleted.

Loading