void 业务费用处理车辆承担Dao_EntityOperating(object sender, OperateArgs <业务费用> e) { if (e.OperateType == OperateType.Save || e.OperateType == OperateType.Update) { 业务费用 entity = e.Entity as 业务费用; // 车辆承担 if (string.IsNullOrEmpty(entity.费用项编号)) { entity.车辆承担 = false; } else { 车队费用项 cdfyx = EntityBufferCollection.Instance.Get <车队费用项>(entity.费用项编号); e.Repository.Initialize(entity.车辆产值, entity); // 费用项.车辆承担 = true AND 费用归属 = 车主 AND 相关人 = 新概念(即自有车) 设置车辆承担 = true if (cdfyx.车辆承担 && entity.费用归属 != 费用归属.车主 && entity.车辆产值.承运人编号 == "900001") { entity.车辆承担 = true; } else { entity.车辆承担 = false; } // 吊机费 if (entity.费用项编号 == "111" && entity.费用归属 == 费用归属.委托人) { entity.车辆承担 = false; } } } }
void 业务费用处理费用类别Dao_EntityOperating(object sender, OperateArgs <业务费用> e) { if (e.OperateType == OperateType.Save || e.OperateType == OperateType.Update) { 业务费用 entity = e.Entity as 业务费用; // 费用类别 if (string.IsNullOrEmpty(entity.费用项编号)) { entity.费用类别编号 = null; } else { // 当费用项变换时,要重新设置费用信息 车队费用项 cdfyx = EntityBufferCollection.Instance.Get <车队费用项>(entity.费用项编号); switch (entity.费用归属) { case 费用归属.委托人: entity.费用类别编号 = cdfyx.委托人; break; case 费用归属.车主: //如果是车主的,付给车主的 费用类别:拆、装、回 这种的 //问车主收的话,费用类别:业务支出 entity.费用类别编号 = cdfyx.车主; if (entity.费用项编号 == "111" && entity.收付标志 == 收付标志.付) { entity.费用类别编号 = 321; } break; case 费用归属.驾驶员: entity.费用类别编号 = cdfyx.驾驶员; break; case 费用归属.对外: entity.费用类别编号 = cdfyx.对外; break; default: entity.费用类别编号 = null; break; } if (entity.费用类别编号.HasValue && entity.费用类别编号.Value == 321) // 运费,税 { if (entity.任务 == null) { throw new InvalidUserOperationException("任务为空,无法保存"); } e.Repository.Initialize(entity.任务, entity); entity.费用类别编号 = (int?)entity.任务.任务类别; } if (!entity.费用类别编号.HasValue) { throw new InvalidUserOperationException("您选择的费用项和费用归属有误,请重新选择!费用项为" + entity.费用项编号); } } } }