public void Save(IWorkspaceLayout workspaceLayout, ISession session) { //first remove old layout if existing var layoutsFromDb = session.CreateCriteria <WorkspaceLayoutMetaData>().List <WorkspaceLayoutMetaData>(); layoutsFromDb.Each(session.Delete); var workspaceLayoutMetaData = _workspaceLayoutMetaDataMapper.MapFrom(workspaceLayout); session.Save(workspaceLayoutMetaData); }
protected override void Context() { _workspaceLayoutMetaDataMapper = A.Fake <IWorkspaceLayoutToWorkspaceLayoutMetaDataMapper>(); _workspaceLayoutMapper = A.Fake <IWorkspaceLayoutMetaDataToWorkspaceLayoutMapper>(); sut = new WorkspaceLayoutPersistor(_workspaceLayoutMetaDataMapper, _workspaceLayoutMapper); _workspaceLayout = A.Fake <IWorkspaceLayout>(); _session = A.Fake <ISession>(); _workspaceLayoutMetaDataCriteria = A.Fake <ICriteria>(); _workspaceLayoutMetaData = new WorkspaceLayoutMetaData(); _workspaceLayoutMetaData.Content.Data = new byte[] { 125, 14 }; _dbWorkspaceLayoutMetaData = new WorkspaceLayoutMetaData(); A.CallTo(() => _session.CreateCriteria <WorkspaceLayoutMetaData>()).Returns(_workspaceLayoutMetaDataCriteria); A.CallTo(() => _workspaceLayoutMetaDataMapper.MapFrom(_workspaceLayout)).Returns(_workspaceLayoutMetaData); }
public void Save(IWorkspaceLayout workspaceLayout, ISession session) { var layoutFromDb = loadLayoutFromDb(session); var workspaceLayoutMetaData = _workspaceLayoutMetaDataMapper.MapFrom(workspaceLayout); if (layoutFromDb != null) { layoutFromDb.UpdateFrom(workspaceLayoutMetaData, session); } else { layoutFromDb = workspaceLayoutMetaData; } session.Save(layoutFromDb); }