/// <summary> /// 新增汇报上级 /// </summary> /// <param name="position"></param> /// <returns></returns> public Position AddReportTo(Position position) { if (!PositionInfoRepo.Exists(position.MappingTo <PositionInfo>()) || !PositionInfoRepo.Exists(this.MappingTo <PositionInfo>())) { throw new Exception("岗位不存在"); } PositionReportToInfo reportToInfo = new PositionReportToInfo(); reportToInfo.OrganizationId = this.OrganizationId; reportToInfo.PositionId = this.Id; reportToInfo.HigherOrganizationId = position.OrganizationId; reportToInfo.HigherPositionId = position.Id; PositionReportToInfoRepo.Save(reportToInfo); return(position); }
/// <summary> /// 移除汇报上级 /// </summary> /// <param name="position"></param> /// <returns></returns> public Position RemoveReportTo(Position position) { if (!PositionInfoRepo.Exists(position.MappingTo <PositionInfo>()) || !PositionInfoRepo.Exists(this.MappingTo <PositionInfo>())) { throw new Exception("岗位不存在"); } PositionReportToInfo reportToInfo = PositionReportToInfoRepo.Read() .FirstOrDefault( p => p.PositionId == this.Id && p.HigherOrganizationId == position.OrganizationId && p.HigherPositionId == position.Id && p.OrganizationId == this.OrganizationId); //reportToInfo.OrganizationId = this.OrganizationId; //reportToInfo.PositionId = this.Id; //reportToInfo.HigherOrganizationId = position.OrganizationId; //reportToInfo.HigherPositionId = position.Id; PositionReportToInfoRepo.Delete(reportToInfo); return(position); }