From e56547d25f8490491b282efeeb1a8090f8d1a977 Mon Sep 17 00:00:00 2001 From: Paul Schneider Date: Sun, 24 Jun 2018 00:20:46 +0200 Subject: [PATCH] control projects --- Yavsc.Server/Models/IT/Project.cs | 6 +- Yavsc/Controllers/ProjectController.cs | 46 +++++++++--- Yavsc/Views/Project/Create.cshtml | 100 ++++--------------------- Yavsc/Views/_ViewImports.cshtml | 2 + 4 files changed, 52 insertions(+), 102 deletions(-) diff --git a/Yavsc.Server/Models/IT/Project.cs b/Yavsc.Server/Models/IT/Project.cs index ed1c48e0..091110f4 100644 --- a/Yavsc.Server/Models/IT/Project.cs +++ b/Yavsc.Server/Models/IT/Project.cs @@ -19,7 +19,7 @@ namespace Yavsc.Server.Models.IT [Required] public string ProjectName { get; set;} - [ForeignKey("ProjectName")] + [ForeignKey("Name")] public virtual Project TargetProject { get; set; } } @@ -33,8 +33,6 @@ namespace Yavsc.Server.Models.IT public override long Id { get; set ; } public string OwnerId { get; set; } - public string LocalRepo { get; set; } - /// /// This field is something like a key, /// since it is required non null, @@ -65,8 +63,6 @@ namespace Yavsc.Server.Models.IT return bill; } - - public string Description { get; set; } public override string GetDescription() diff --git a/Yavsc/Controllers/ProjectController.cs b/Yavsc/Controllers/ProjectController.cs index d8aa84dd..7a338937 100644 --- a/Yavsc/Controllers/ProjectController.cs +++ b/Yavsc/Controllers/ProjectController.cs @@ -3,9 +3,13 @@ using System.Threading.Tasks; using Microsoft.AspNet.Mvc; using Microsoft.AspNet.Mvc.Rendering; using Microsoft.Data.Entity; +using Microsoft.Extensions.Logging; using Yavsc.Models; using Yavsc.Server.Models.IT; using Microsoft.AspNet.Authorization; +using Yavsc.Server.Helpers; +using Yavsc.Models.Workflow; +using Yavsc.Models.Payment; namespace Yavsc.Controllers { @@ -13,10 +17,12 @@ namespace Yavsc.Controllers public class ProjectController : Controller { private ApplicationDbContext _context; + ILogger _logger; - public ProjectController(ApplicationDbContext context) + public ProjectController(ApplicationDbContext context, ILoggerFactory loggerFactory) { - _context = context; + _context = context; + _logger = loggerFactory.CreateLogger(); } // GET: Project @@ -46,11 +52,19 @@ namespace Yavsc.Controllers // GET: Project/Create public IActionResult Create() { - ViewData["ClientId"] = new SelectList(_context.ApplicationUser, "Id", "Client"); - ViewData["ActivityCode"] = new SelectList(_context.Activities, "Code", "Context"); - ViewData["PerformerId"] = new SelectList(_context.Performers, "PerformerId", "PerformerProfile"); - ViewData["PaymentId"] = new SelectList(_context.PayPalPayments, "CreationToken", "Regularisation"); - ViewData["Name"] = new SelectList(_context.GitRepositoryReference, "Path", "Repository"); + + ViewBag.ClientIdItems = _context.ApplicationUser.CreateSelectListItems( + u => u.Id, u => u.UserName); + ViewBag.OwnerIdItems = _context.ApplicationUser.CreateSelectListItems( + u => u.Id, u => u.UserName); + ViewBag.ActivityCodeItems = _context.Activities.CreateSelectListItems( + a => a.Code, a => a.Name); + ViewBag.PerformerIdItems = _context.Performers.CreateSelectListItems(p => p.PerformerId, p => p.Performer.UserName); + ViewBag.PaymentIdItems = _context.PayPalPayments.CreateSelectListItems + (p => p.OrderReference, p => $"{p.Executor.UserName} {p.PaypalPayerId} {p.OrderReference}"); + + ViewBag.Status = typeof(Yavsc.QueryStatus).CreateSelectListItems(null); + return View(); } @@ -65,11 +79,19 @@ namespace Yavsc.Controllers await _context.SaveChangesAsync(); return RedirectToAction("Index"); } - ViewData["ClientId"] = new SelectList(_context.ApplicationUser, "Id", "Client", project.ClientId); - ViewData["ActivityCode"] = new SelectList(_context.Activities, "Code", "Context", project.ActivityCode); - ViewData["PerformerId"] = new SelectList(_context.Performers, "PerformerId", "PerformerProfile", project.PerformerId); - ViewData["PaymentId"] = new SelectList(_context.PayPalPayments, "CreationToken", "Regularisation", project.PaymentId); - ViewData["Name"] = new SelectList(_context.GitRepositoryReference, "Path", "Repository", project.Name); + ViewBag.ClientIdItems = _context.ApplicationUser.CreateSelectListItems( + u => u.Id, u => u.UserName); + ViewBag.OwnerIdItems = _context.ApplicationUser.CreateSelectListItems( + u => u.Id, u => u.UserName); + ViewBag.ActivityCodeItems = _context.Activities.CreateSelectListItems( + a => a.Code, a => a.Name); + ViewBag.PerformerIdItems = _context.Performers.CreateSelectListItems(p => p.PerformerId, p => p.Performer.UserName); + ViewBag.PaymentIdItems = _context.PayPalPayments.CreateSelectListItems + (p => p.OrderReference, p => $"{p.Executor.UserName} {p.PaypalPayerId} {p.OrderReference}"); + + ViewBag.Status = typeof(Yavsc.QueryStatus).CreateSelectListItems(null); + + return View(project); } diff --git a/Yavsc/Views/Project/Create.cshtml b/Yavsc/Views/Project/Create.cshtml index 73d871d3..d2fbbd53 100644 --- a/Yavsc/Views/Project/Create.cshtml +++ b/Yavsc/Views/Project/Create.cshtml @@ -11,39 +11,17 @@

Project


-
+
- +
-
-
+
+
- -
-
-
-
-
- - -
-
-
-
- -
- - -
-
-
- -
- - -
+ +
@@ -52,38 +30,26 @@
-
- -
- - -
-
- +
- +
-
- -
- -
-
-
+
- +
-
+
@@ -91,47 +57,11 @@
-
-
-
- - -
-
-
-
- -
- - -
-
-
+
- - -
-
-
- -
- - -
-
-
- -
- - -
-
-
- -
- - + +
diff --git a/Yavsc/Views/_ViewImports.cshtml b/Yavsc/Views/_ViewImports.cshtml index bdf5ad1f..f51d06c3 100755 --- a/Yavsc/Views/_ViewImports.cshtml +++ b/Yavsc/Views/_ViewImports.cshtml @@ -11,8 +11,10 @@ @using System.Security.Claims; @using System.Web.Optimization; + @using Yavsc; @using Yavsc.Helpers; +@using Yavsc.Server.Helpers; @using Yavsc.Models; @using Yavsc.Models.Access; @using Yavsc.Models.Auth;