public virtual async Task <ActionResult> PostCuratedPackages( string curatedFeedName, CreateCuratedPackageRequest request) { var curatedFeed = CuratedFeedService.GetFeedByName(curatedFeedName, includePackages: true); if (curatedFeed == null) { return(HttpNotFound()); } if (curatedFeed.Managers.All(manager => manager.Username != User.Identity.Name)) { return(new HttpStatusCodeResult(403)); } if (!ModelState.IsValid) { ViewBag.CuratedFeedName = curatedFeed.Name; return(View("CreateCuratedPackageForm")); } var packageRegistration = EntitiesContext.PackageRegistrations .Where(pr => pr.Id == request.PackageId) .Include(pr => pr.Owners).FirstOrDefault(); if (packageRegistration == null) { ModelState.AddModelError("PackageId", Strings.PackageWithIdDoesNotExist); ViewBag.CuratedFeedName = curatedFeed.Name; return(View("CreateCuratedPackageForm")); } if (curatedFeed.Packages.Any(cp => cp.PackageRegistration.Key == packageRegistration.Key)) { ModelState.AddModelError("PackageId", Strings.PackageIsAlreadyCurated); ViewBag.CuratedFeedName = curatedFeed.Name; return(View("CreateCuratedPackageForm")); } await CuratedFeedService.CreatedCuratedPackageAsync( curatedFeed, packageRegistration, included : true, automaticallyCurated : false, notes : request.Notes); return(RedirectToRoute(RouteName.CuratedFeed, new { name = curatedFeed.Name })); }
public virtual ActionResult PostCuratedPackages( string curatedFeedName, CreateCuratedPackageRequest request) { var curatedFeed = CuratedFeedService.GetFeedByName(curatedFeedName, includePackages: true); if (curatedFeed == null) { return(HttpNotFound()); } if (curatedFeed.Managers.All(manager => manager.Username != Identity.Name)) { return(new HttpStatusCodeResult(403)); } if (!ModelState.IsValid) { ViewBag.CuratedFeedName = curatedFeed.Name; return(View("CreateCuratedPackageForm")); } var packageRegistration = GetService <IPackageRegistrationByIdQuery>().Execute(request.PackageId, includePackages: false); if (packageRegistration == null) { ModelState.AddModelError("PackageId", Strings.PackageWithIdDoesNotExist); ViewBag.CuratedFeedName = curatedFeed.Name; return(View("CreateCuratedPackageForm")); } if (curatedFeed.Packages.Any(cp => cp.PackageRegistration.Key == packageRegistration.Key)) { ModelState.AddModelError("PackageId", Strings.PackageIsAlreadyCurated); ViewBag.CuratedFeedName = curatedFeed.Name; return(View("CreateCuratedPackageForm")); } CuratedFeedService.CreatedCuratedPackage( curatedFeed, packageRegistration, included: true, automaticallyCurated: false, notes: request.Notes); return(RedirectToRoute(RouteName.CuratedFeed, new { name = curatedFeed.Name })); }
public virtual ActionResult PostCuratedPackages( string curatedFeedName, CreateCuratedPackageRequest request) { var curatedFeed = GetService<ICuratedFeedByNameQuery>().Execute(curatedFeedName, includePackages: true); if (curatedFeed == null) return HttpNotFound(); if (!curatedFeed.Managers.Any(manager => manager.Username == Identity.Name)) return new HttpStatusCodeResult(403); if (!ModelState.IsValid) { ViewBag.CuratedFeedName = curatedFeed.Name; return View("CreateCuratedPackageForm"); } var packageRegistration = GetService<IPackageRegistrationByIdQuery>().Execute(request.PackageId); if (packageRegistration == null) { ModelState.AddModelError("PackageId", Strings.PackageWithIdDoesNotExist); ViewBag.CuratedFeedName = curatedFeed.Name; return View("CreateCuratedPackageForm"); } if (curatedFeed.Packages.Any(cp => cp.PackageRegistration.Key == packageRegistration.Key)) { ModelState.AddModelError("PackageId", Strings.PackageIsAlreadyCurated); ViewBag.CuratedFeedName = curatedFeed.Name; return View("CreateCuratedPackageForm"); } GetService<ICreateCuratedPackageCommand>().Execute( curatedFeed.Key, packageRegistration.Key, notes: request.Notes); return RedirectToRoute(RouteName.CuratedFeed, new { name = curatedFeed.Name }); }
public virtual ActionResult PostCuratedPackages( string curatedFeedName, CreateCuratedPackageRequest request) { var curatedFeed = CuratedFeedService.GetFeedByName(curatedFeedName, includePackages: true); if (curatedFeed == null) { return HttpNotFound(); } if (curatedFeed.Managers.All(manager => manager.Username != User.Identity.Name)) { return new HttpStatusCodeResult(403); } if (!ModelState.IsValid) { ViewBag.CuratedFeedName = curatedFeed.Name; return View("CreateCuratedPackageForm"); } var packageRegistration = EntitiesContext.PackageRegistrations .Where(pr => pr.Id == request.PackageId) .Include(pr => pr.Owners).FirstOrDefault(); if (packageRegistration == null) { ModelState.AddModelError("PackageId", Strings.PackageWithIdDoesNotExist); ViewBag.CuratedFeedName = curatedFeed.Name; return View("CreateCuratedPackageForm"); } if (curatedFeed.Packages.Any(cp => cp.PackageRegistration.Key == packageRegistration.Key)) { ModelState.AddModelError("PackageId", Strings.PackageIsAlreadyCurated); ViewBag.CuratedFeedName = curatedFeed.Name; return View("CreateCuratedPackageForm"); } CuratedFeedService.CreatedCuratedPackage( curatedFeed, packageRegistration, included: true, automaticallyCurated: false, notes: request.Notes); return RedirectToRoute(RouteName.CuratedFeed, new { name = curatedFeed.Name }); }