public ActionResult Edit(HiveId?id)
        {
            if (id.IsNullValueOrEmpty())
            {
                return(HttpNotFound());
            }

            using (var uow = _hive.Create())
            {
                var def = PackageBuilderHelper.GetPackageDefinitionById(uow, id.Value);
                if (def == null)
                {
                    return(HttpNotFound());
                }

                var pkg = PackageBuilderHelper.GetPackageFileById(uow, id.Value);

                var model = BackOfficeRequestContext.Application.FrameworkContext.TypeMappers
                            .Map <PackageDefinition, PackageDefinitionEditorModel>(def);
                model.Id          = id.Value;
                model.IsPublished = pkg != null;

                PopulateCollections(model);

                return(View(model));
            }
        }
        public ActionResult Download(HiveId?id)
        {
            if (id.IsNullValueOrEmpty())
            {
                return(HttpNotFound());
            }

            using (var uow = _hive.Create())
            {
                var def = PackageBuilderHelper.GetPackageDefinitionById(uow, id.Value);
                if (def == null)
                {
                    return(HttpNotFound());
                }

                var pkg = PackageBuilderHelper.GetPackageFileById(uow, id.Value);
                if (pkg == null)
                {
                    return(HttpNotFound());
                }

                return(File(pkg.ContentBytes, "application/zip", def.Alias + "." + def.Version + ".nupkg"));
            }
        }