public AgentObject Put(AgentObjectDTO obj) { AgentObject agentObject = new AgentObject(); agentObject = obj.Map <AgentObject>(); SessionManager.DoWork(session => { if (obj.Id == Guid.Empty) { agentObject.Id = Guid.NewGuid(); agentObject.AgentObjectType = new AgentObjectType(); agentObject.AgentObjectType.Id = obj.AgentObjectTypeId; agentObject.AgentObjectDetail = new AgentObjectDetail(); agentObject.AgentObjectDetail.Id = agentObject.Id; agentObject.AgentObjectDetail.NumberOfSection = obj.NumberOfSection; agentObject.AgentObjectDetail.ScienceResearch = obj.ScienceResearch; } else { if (agentObject != null) { agentObject = agentObject = obj.Map <AgentObject>(); agentObject.AgentObjectType = new AgentObjectType(); agentObject.AgentObjectType.Id = obj.AgentObjectTypeId; agentObject.TargetGroupDetails = new List <TargetGroupDetail>(); agentObject.AgentObjectDetail = new AgentObjectDetail(); agentObject.AgentObjectDetail.Id = obj.Id; agentObject.AgentObjectDetail.NumberOfSection = obj.NumberOfSection; agentObject.AgentObjectDetail.ScienceResearch = obj.ScienceResearch; } } foreach (var id in obj.TargetGroupDetailIds) { agentObject.TargetGroupDetails.Add(new TargetGroupDetail() { Id = id }); } session.SaveOrUpdate(agentObject); session.SaveOrUpdate(agentObject.AgentObjectDetail); }); //SessionManager.DoWork(session => session.SaveOrUpdate(obj)); return(agentObject); }
public AgentObjectDTO GetClass(Guid id) { AgentObjectDTO result = new AgentObjectDTO(); SessionManager.DoWork(session => { AgentObject agentObject = session.Query <AgentObject>().SingleOrDefault(a => a.Id == id); if (agentObject != null) { result = agentObject.Map <AgentObjectDTO>(); foreach (TargetGroupDetail tg in agentObject.TargetGroupDetails) { result.TargetGroupDetailIds.Add(tg.Id); } AgentObjectDetail AgentObjectDetail = session.Query <AgentObjectDetail>().SingleOrDefault(d => d.Id == id); if (AgentObjectDetail != null) { result.NumberOfSection = AgentObjectDetail.NumberOfSection; result.ScienceResearch = AgentObjectDetail.ScienceResearch; } } }); return(result); }