Exemplo n.º 1
0
        public async Task <ActionResult> CreateEditPredefinedLASet(PredefinedLASetViewModel viewModel)
        {
            if (ModelState.ContainsKey(nameof(viewModel.SuppressWarning)))
            {
                ModelState.Remove(nameof(viewModel.SuppressWarning));
            }

            if (ModelState.IsValid)
            {
                var sets = await _localAuthoritySetRepository.GetAllAsync();

                var duplicate = sets.Items.Where(x => x.Title == viewModel.Title && (viewModel.IsNewEntity || viewModel.Id != x.RowKey)).Select(x => x.RowKey).FirstOrDefault();

                if (duplicate == null || viewModel.SuppressWarning)
                {
                    var entity = viewModel.IsNewEntity ? new LocalAuthoritySet() : await _localAuthoritySetRepository.GetAsync(viewModel.Id);

                    entity.Title = viewModel.Title;
                    entity.Ids   = viewModel.SelectedLocalAuthorityIds.ToArray();
                    if (viewModel.IsNewEntity)
                    {
                        await _localAuthoritySetRepository.CreateAsync(entity);
                    }
                    else
                    {
                        await _localAuthoritySetRepository.UpdateAsync(entity);
                    }

                    if (duplicate != null)
                    {
                        await _localAuthoritySetRepository.DeleteAsync(duplicate);
                    }

                    if (viewModel.Referrer == "results")
                    {
                        return(Redirect(string.Concat(Url.RouteUrl("IndSchSearch"), "?a=search&Mode=", viewModel.Mode, "&",
                                                      QueryStringHelper.ToQueryString(IndSchoolsSearchViewModel.BindAliasForSelectedLocalAuthorityIds,
                                                                                      viewModel.SelectedLocalAuthorityIds.ToArray()))));
                    }
                    return(RedirectToRoute("PredefinedLASets"));
                }
                else if (duplicate != null)
                {
                    viewModel.WarningNameClash = true;
                }
            }

            viewModel.LocalAuthorities = (await _lookup.LocalAuthorityGetAllAsync()).OrderBy(x => x.Name).Select(x => new LookupItemViewModel(x));

            return(View("CreateEditPredefinedLASet", viewModel));
        }
Exemplo n.º 2
0
 public async Task <ActionResult> CreatePredefinedLASet(PredefinedLASetViewModel viewModel)
 {
     ModelState.Clear();
     viewModel.LocalAuthorities = (await _lookup.LocalAuthorityGetAllAsync()).OrderBy(x => x.Name).Select(x => new LookupItemViewModel(x));
     return(View("CreateEditPredefinedLASet", viewModel));
 }