diff --git a/Yavsc/ApiControllers/FrontOfficeApiController.cs b/Yavsc/ApiControllers/FrontOfficeApiController.cs new file mode 100644 index 00000000..22c68a7d --- /dev/null +++ b/Yavsc/ApiControllers/FrontOfficeApiController.cs @@ -0,0 +1,24 @@ +using System.Collections.Generic; +using Microsoft.AspNet.Mvc; +using Yavsc.Helpers; +using Yavsc.Models; +using Yavsc.Models.Workflow; + +namespace Yavsc.ApiControllers +{ + [Route("api/front")] + public class FrontOfficeApiController: Controller + { + ApplicationDbContext dbContext; + public FrontOfficeApiController(ApplicationDbContext context) + { + dbContext = context; + } + + [HttpGet,Route("Book/{actCode}")] + IEnumerable Book (string actCode) + { + return dbContext.ListPerformers(actCode); + } + } +} \ No newline at end of file diff --git a/Yavsc/Helpers/WorkflowHelpers.cs b/Yavsc/Helpers/WorkflowHelpers.cs index 47dc7d65..f5872cfe 100644 --- a/Yavsc/Helpers/WorkflowHelpers.cs +++ b/Yavsc/Helpers/WorkflowHelpers.cs @@ -2,7 +2,11 @@ namespace Yavsc.Helpers { + using System.Collections.Generic; + using System.Linq; + using Microsoft.Data.Entity; using Models.Workflow; + using Yavsc.Models; using YavscLib; public static class WorkflowHelpers { @@ -12,5 +16,15 @@ namespace Yavsc.Helpers if (ctor==null) return null; return (ISpecializationSettings) ctor.Invoke(null); } + + public static List ListPerformers(this ApplicationDbContext context, string actCode) + { + return context.Performers + .Include(p=>p.Activity) + .Include(p=>p.Performer) + .Include(p=>p.Performer.Posts) + .Include(p=>p.Performer.Devices) + .Where(p => p.Active && p.Activity.Any(u=>u.DoesCode==actCode)).OrderBy( x => x.Rate ).ToList(); + } } } \ No newline at end of file