成本乱谈

乱想?

1、  费用列表

一个东西,我在上面一些钱,就是成本。

一个糖果,我在他上面花的所有钱就是成本。

        public decimal 成本
        
{
            
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费用总和;
            }

        }

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.直接成本金额;
            }

        }

还没有写完,等会再写

还没有写完,等会再写

原文地址:https://www.cnblogs.com/tansm/p/96461.html