void AddRoy(Guid consumeDataID, Models.StaffModel staff, Models.WorkGroupMemberModel[] managers, int num) { Action <Models.RoyaltyConfigModel, Models.StaffBase> insert = (config, accept) => { this.Context.Royalties.Insert(new Royalty { ConsumeDataID = consumeDataID, StaffID = accept.ID, RoyaltyType = (int)config.RoyaltyType, Percent = config.Percent, SettleNum = num, }); }; //1.订房奖励 var reservationConfig = MemoryData.Current.RoyaltyConfigs[RoyaltyType.Reservation, staff.Level]; if (reservationConfig != null) { insert(reservationConfig, staff); } //2.管理奖励, if (staff.Referrer != null) { var administrationConfig = MemoryData.Current.RoyaltyConfigs[RoyaltyType.Administration, staff.Referrer.Level, staff.Level]; if (administrationConfig != null) { insert(administrationConfig, staff.Referrer); } } //3.协作奖励,超越奖励 //3.1找到上级, //上级是最低级别,不处理;不是,查看上级的上级是否与 var current = staff.Referrer; while (current != null && current.Referrer != null) { var refferrer = current.Referrer; if (current.Level != Models.LevelModel.Min && refferrer.Level != Models.LevelModel.Min && refferrer.Level <= current.Level) { var type = refferrer.Level == current.Level ? RoyaltyType.Cooperation : RoyaltyType.Transcend; var config = MemoryData.Current.RoyaltyConfigs[type, refferrer.Level, current.Level]; if (config != null) { insert(config, refferrer); } } current = refferrer; } //4.工作组管理人员奖励 //为每一个管理员根据管理人员类别记录奖励数据 foreach (var item in managers) { var config = MemoryData.Current.RoyaltyConfigs[RoyaltyType.WorkGroup, item.Category]; if (config != null) { insert(config, item); } } }
// GET: Staff public ActionResult AddNewstaff(Models.StaffModel staff) { return(View()); }