private void SavePackage(PackageEditModel model) { Package packageinDb = null; IEnumerable <PackageTest> packageTestsinDb = null; var package = Mapper.Map <PackageEditModel, Package>(model); if (model.ForOrderDisplayFile != null) { model.ForOrderDisplayFile = _fileRepository.Save(model.ForOrderDisplayFile); package.ForOrderDisplayFileId = model.ForOrderDisplayFile.Id; } if (package.Id > 0) { packageinDb = _packageRepository.GetById(package.Id); packageTestsinDb = _packageTestRepository.GetbyPackageId(package.Id); package.DataRecorderMetaData = packageinDb.DataRecorderMetaData; package.DataRecorderMetaData.DateModified = DateTime.Now; package.DataRecorderMetaData.DataRecorderModifier = new OrganizationRoleUser(_sessionContext.UserSession.CurrentOrganizationRole.OrganizationRoleUserId); } else { package.DataRecorderMetaData = new DataRecorderMetaData(_sessionContext.UserSession.CurrentOrganizationRole.OrganizationRoleUserId, DateTime.Now, null); } using (var scope = new TransactionScope()) { package = ((IUniqueItemRepository <Package>)_packageRepository).Save(package); _packageRepository.SaveRolesforGivenPackageAvailability(package.Id, model.SelectedRoles); if (model.SelectedTests != null && model.SelectedTests.Count() > 0) { var packageTests = Mapper.Map <IEnumerable <PackageTestEditModel>, IEnumerable <PackageTest> >(model.SelectedTests); foreach (var test in packageTests) { PackageTest packageTestInDb = null; if (packageTestsinDb != null && packageTestsinDb.Count() > 0) { packageTestInDb = packageTestsinDb.Where(pt => pt.TestId == test.TestId).SingleOrDefault(); } test.PackageId = package.Id; if (packageTestInDb != null) { test.DateModified = DateTime.Now; test.DateCreated = packageTestInDb.DateCreated; } else { test.DateCreated = DateTime.Now; } } packageTests = _packageTestRepository.Save(packageTests); } scope.Complete(); } }
public PackageTest Save(PackageTest domainObject) { using (var adapter = PersistenceLayer.GetDataAccessAdapter()) { var entity = Mapper.Map <PackageTest, PackageTestEntity>(domainObject); adapter.SaveEntity(entity, true, false); return(Mapper.Map <PackageTestEntity, PackageTest>(entity)); } }
public void Delete(PackageTest domainObject) { throw new NotImplementedException(); }