forked from haoduotnt/aspnetwebstack
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathUpdate.cshtml
More file actions
69 lines (59 loc) · 2.5 KB
/
Update.cshtml
File metadata and controls
69 lines (59 loc) · 2.5 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
@* Generator: WebPage *@
@using System.Globalization;
@using System.IO;
@using NuGet;
@section PackageHead {
<script type="text/javascript" src="@Href("scripts/PackageAction.js")"></script>
<noscript>@PackageManagerResources.JavascriptRequired</noscript>
}
@{
// Read params from request
var sourceName = Request["source"];
var packageId = Request["package"];
var versionString = Request["version"];
var packageSource = PageUtils.GetPackageSource(sourceName);
var version = !versionString.IsEmpty() ? SemanticVersion.Parse(versionString) : null;
WebProjectManager projectManager;
try {
projectManager = new WebProjectManager(packageSource.Source, PackageManagerModule.SiteRoot);
} catch (Exception exception) {
<div class="error message">@exception.Message</div>
return;
}
var updatePackage = projectManager.SourceRepository.FindPackage(packageId, version);
if (updatePackage == null) {
ModelState.AddFormError(PackageManagerResources.BadRequest);
@Html.ValidationSummary()
return;
}
var package = projectManager.LocalRepository.FindPackage(packageId);
// Layout
Page.SectionTitle = String.Format(CultureInfo.CurrentCulture, PackageManagerResources.UpdatePackageDesc, package.GetDisplayName(), updatePackage.Version);
var packagesHomeUrl = Href(PageUtils.GetPackagesHome(), Request.Url.Query);
if (IsPost) {
AntiForgery.Validate();
try {
projectManager.UpdatePackage(updatePackage);
} catch (Exception exception) {
ModelState.AddFormError(exception.Message);
}
if (ModelState.IsValid) {
Response.Redirect(packagesHomeUrl + "&action-completed=Update");
}
else {
@Html.ValidationSummary(String.Format(CultureInfo.CurrentCulture, PackageManagerResources.PackageUpdateError, package.GetDisplayName()))
}
return;
}
}
@RenderPage("_PackageDetails.cshtml", new Dictionary<string, object>{ {"Package", updatePackage} })
<br />
<form method="post" action="" id="submitForm">
@AntiForgery.GetHtml()
<input type="hidden" name="source" value="@sourceName" />
<input type="hidden" name="package" value="@packageId" />
<input type="hidden" name="version" value="@version" />
<input type="submit" value="@PackageManagerResources.UpdatePackage" />
<input type="reset" value="@PackageManagerResources.Cancel" data-returnurl="@packagesHomeUrl" />
<br /><br />
</form>