public ActionResult Create(PackageEditModel model) { try { var tests = _testRepository.GetAll(); model.AllTests = Mapper.Map <IEnumerable <Test>, IEnumerable <TestViewModel> >(tests); model.AllRoles = _userService.GetRoleswithRegistrationEnabled(); model.SelectedTests = GetDefaultSelectedTests(tests.Where(x => x.IsDefaultSelectionForPackage), model.SelectedTests); if (ModelState.IsValid) { model.ForOrderDisplayFile = FileObject(model.Name.Replace(" ", "_").Replace("+", "_"), "package_image", _mediaRepository.GetPackageImageFolderLocation()); SavePackage(model); model.FeedbackMessage = FeedbackMessageModel.CreateSuccessMessage("Package is created successfully. You can create more packages or close this page."); return(View(model)); } return(View(model)); } catch (Exception ex) { model.FeedbackMessage = FeedbackMessageModel.CreateFailureMessage("System Error:" + ex); return(View(model)); } }
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 ActionResult Create() { var tests = _testRepository.GetAll(); var model = new PackageEditModel { AllTests = Mapper.Map <IEnumerable <Test>, IEnumerable <TestViewModel> >(tests), AllRoles = _userService.GetRoleswithRegistrationEnabled(), Gender = (long)Gender.Unspecified, SelectedTests = GetDefaultSelectedTests(tests.Where(x => x.IsDefaultSelectionForPackage), null) }; return(View(model)); }
public async Task <IActionResult> Put([FromBody] PackageEditModel model) { var mapping = new Func <Package, Task <Package> >(async(entity) => { entity.Name = model.Name; entity.Description = model.Description; entity.Content = model.Content; entity.Color = model.Color; if (!string.IsNullOrWhiteSpace(model.IconAssetId)) { entity.Icon = model.IconAssetId; } return(await Task.FromResult(entity)); }); return(await _PutRequest(model.Id, mapping)); }