乱想?
1、 费用列表
一个东西,我在上面“贴”了一些钱,就是成本。
一个糖果,我在他上面花的所有钱就是成本。
public decimal 成本
{
get
{
decimal 费用总和 = 0;
foreach (费用 f in this.费用列表)
{
费用总和 += f.金额;
}
return 费用总和;
}
}
{
get
{
decimal 费用总和 = 0;
foreach (费用 f in this.费用列表)
{
费用总和 += f.金额;
}
return 费用总和;
}
}
2、 部件特性
如果一个东西有几个东西组成,那这个东西的成本就是这个几个子的成本之和。
public decimal 直接成本金额
{
get
{
return 费用金额总和 + 部件成本金额总和;
}
}
private decimal 部件成本金额总和
{
get
{
decimal m部件成本和 = 0;
foreach (东西 d in this.部件列表)
{
m部件成本和 += d.直接成本金额;
}
return m部件成本和;
}
}
private decimal 费用金额总和
{
get
{
decimal m费用总和 = 0;
foreach (费用 f in this.费用列表)
{
m费用总和 += f.金额;
}
return m费用总和;
}
}
{
get
{
return 费用金额总和 + 部件成本金额总和;
}
}
private decimal 部件成本金额总和
{
get
{
decimal m部件成本和 = 0;
foreach (东西 d in this.部件列表)
{
m部件成本和 += d.直接成本金额;
}
return m部件成本和;
}
}
private decimal 费用金额总和
{
get
{
decimal m费用总和 = 0;
foreach (费用 f in this.费用列表)
{
m费用总和 += f.金额;
}
return m费用总和;
}
}
3、 分摊特性
我做一双鞋子,我的直接成本出来了,我还想加入其他成本,例如,我把这笔货运出去花了一笔钱。
private decimal 分摊费用金额总和
{
get
{
decimal m分摊费用总和 = 0;
foreach (费用 f in this.分摊费用列表)
{
m分摊费用总和 += f.金额;
}
return m分摊费用总和;
}
}
public void 重新分摊()
{
decimal 金额 = this.费用金额总和 + this.分摊费用金额总和;
//实际代码需考虑 数量 = 0
decimal 分摊单价 = decimal.Round( 金额 / this.数量,6);
decimal temp = 0;
int i = 0;
foreach (东西 d in this.部件列表)
{
i++;
d.分摊费用列表.Clear();
if (i == this.部件列表.Count)
temp = 金额;
else
temp = d.数量 * 分摊单价;
if(temp > 0)
d.分摊费用列表.Add(temp);
金额 -= temp;
东西.重新分摊();
}
}
public decimal 综合成本金额
{
get
{
return this.分摊费用金额总和 + this.直接成本金额;
}
}
{
get
{
decimal m分摊费用总和 = 0;
foreach (费用 f in this.分摊费用列表)
{
m分摊费用总和 += f.金额;
}
return m分摊费用总和;
}
}
public void 重新分摊()
{
decimal 金额 = this.费用金额总和 + this.分摊费用金额总和;
//实际代码需考虑 数量 = 0
decimal 分摊单价 = decimal.Round( 金额 / this.数量,6);
decimal temp = 0;
int i = 0;
foreach (东西 d in this.部件列表)
{
i++;
d.分摊费用列表.Clear();
if (i == this.部件列表.Count)
temp = 金额;
else
temp = d.数量 * 分摊单价;
if(temp > 0)
d.分摊费用列表.Add(temp);
金额 -= temp;
东西.重新分摊();
}
}
public decimal 综合成本金额
{
get
{
return this.分摊费用金额总和 + this.直接成本金额;
}
}
还没有写完,等会再写