示例#1
0
        public static ReimburseItem ConvertTo(ReimburseItemEntity entity)
        {
            ReimburseItem reimburseItem = new ReimburseItem((ReimburseTypeEnum)entity.ReimburseType, entity.TotalCost,
                                                            entity.ProjectName);

            reimburseItem.ReimburseItemID  = entity.PKID;
            reimburseItem.ConsumePlace     = entity.ConsumePlace;
            reimburseItem.Reason           = entity.Reason;
            reimburseItem.CustomerID       = entity.CustomerID;
            reimburseItem.CurrencyType     = entity.CurrencyType;
            reimburseItem.CustomerName     = entity.CustomerName;
            reimburseItem.ExchangeRate     = entity.ExchangeRate;
            reimburseItem.ExchangeRateName = entity.ExchangeRateName;
            return(reimburseItem);
        }
        private void CalculateEmployeeReimburse(EmployeeReimburseStatistics employeeReimburseStatistics,
                                                int employeeID, DateTime startDt, DateTime endDt)
        {
            List <string> itemList = ReimburseItem.GetReimburseTypeEnumListTravel();
            //查找某时间段,某员工的报销结束的报销单
            List <Model.Reimburse> reimburseList =
                _DalReimburse.GetReimburseByEmployeeIDBillingTime(employeeID, startDt, endDt);

            if (reimburseList == null || reimburseList.Count == 0)
            {
                return;
            }
            //循环每一个需要统计的项,累加结果
            for (int i = 0; i < itemList.Count; i++)
            {
                List <Model.Reimburse> reimburseItemList =
                    Model.Reimburse.FindReimburseByType(reimburseList, itemList[i]);
                if (reimburseItemList == null || reimburseItemList.Count == 0)
                {
                    continue;
                }
                List <Model.Reimburse> reimburseadded = new List <Model.Reimburse>();
                foreach (Model.Reimburse reimburse in reimburseItemList)
                {
                    foreach (ReimburseItem reimburseItem in reimburse.ReimburseItems)
                    {
                        employeeReimburseStatistics.EmployeeReimburseStatisticsItemList[i].CalculateValue +=
                            reimburseItem.ExchangeCost;
                    }
                    if (reimburse.ReimburseCategoriesEnum == ReimburseCategoriesEnum.TravelReimburse)
                    {
                        if (!Contains(reimburseadded, reimburse.ReimburseID))
                        {
                            employeeReimburseStatistics.EmployeeReimburseStatisticsItemList[i].CalculateValue +=
                                reimburse.OutCityAllowance;
                            reimburseadded.Add(reimburse);
                        }
                    }
                }
            }
        }