示例#1
0
        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));
            }
        }
示例#2
0
        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();
            }
        }
示例#3
0
        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));
        }
示例#4
0
        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));
        }