Skip to content

Commit 4704a30

Browse files
sumanchakrabartijansenbe
authored andcommitted
moved over commit 204ecdc from dev branch
1 parent a06ce46 commit 4704a30

File tree

17 files changed

+374
-93
lines changed

17 files changed

+374
-93
lines changed

OfficeDevPnP.Core/OfficeDevPnP.Core/Utilities/Caml.cs

+1-4
Original file line numberDiff line numberDiff line change
@@ -31,10 +31,7 @@ public static string FieldValue(string fieldName, string fieldValueType, string
3131
return string.Format(FIELD_VALUE, fieldName, fieldValueType, value);
3232
}
3333

34-
public static string OrderBy(params OrderByField[] fieldNames) {
35-
return OrderBy(true, fieldNames);
36-
}
37-
public static string OrderBy(bool ascending, params OrderByField[] fieldRefs) {
34+
public static string OrderBy(params OrderByField[] fieldRefs) {
3835
var sb = new StringBuilder();
3936
foreach (var field in fieldRefs){
4037
sb.Append(field.ToString());

Solutions/BusinessApps.CorporateEventsApp/CorporateEvents.SharePoint/CorporateEvents.SharePoint.csproj

+6
Original file line numberDiff line numberDiff line change
@@ -50,6 +50,9 @@
5050
<Content Include="AppIcon.png">
5151
<OpcRelationship>manifest-icon</OpcRelationship>
5252
</Content>
53+
<Content Include="Events\Elements.xml">
54+
<OpcRelationship>feature-elementmanifest</OpcRelationship>
55+
</Content>
5356
<Content Include="Featured Events\Elements.xml">
5457
<OpcRelationship>feature-elementmanifest</OpcRelationship>
5558
</Content>
@@ -72,6 +75,9 @@
7275
</ItemGroup>
7376
<ItemGroup>
7477
<None Include="app.config" />
78+
<None Include="Events\SharePointProjectItem.spdata">
79+
<SharePointProjectItemId>{2cd62ea9-61bf-4ff3-a5cd-952ec5ba284a}</SharePointProjectItemId>
80+
</None>
7581
<None Include="Featured Events\SharePointProjectItem.spdata">
7682
<SharePointProjectItemId>{ee8bdffd-d79a-44b8-8b07-32f7d1eb673b}</SharePointProjectItemId>
7783
</None>
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
<?xml version="1.0" encoding="utf-8"?>
2+
<Elements xmlns="http://schemas.microsoft.com/sharepoint/">
3+
<ClientWebPart Name="Events" Title="Events" Description="Events displayed by specific category" DefaultWidth="700" DefaultHeight="300">
4+
5+
<!-- Content element identifies the location of the page that will render inside the client web part
6+
Properties are referenced on the query string using the pattern _propertyName_
7+
Example: Src="~appWebUrl/Pages/ClientWebPart1.aspx?Property1=_property1_" -->
8+
<Content Type="html" Src="~remoteAppUrl/Events?{StandardTokens}" />
9+
10+
<!-- Define properties in the Properties element.
11+
Remember to put Property Name on the Src attribute of the Content element above. -->
12+
<Properties>
13+
<Property Name="Category" DefaultValue="General" WebDisplayName="Category" Type="string" RequiresDesignerPermission="true" />
14+
</Properties>
15+
16+
</ClientWebPart>
17+
</Elements>
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
<?xml version="1.0" encoding="utf-8"?>
2+
<ProjectItem Type="Microsoft.VisualStudio.SharePoint.ClientWebPart" DefaultFile="Elements.xml" SupportedTrustLevels="All" SupportedDeploymentScopes="AppPackage" xmlns="http://schemas.microsoft.com/VisualStudio/2010/SharePointTools/SharePointProjectItemModel">
3+
<Files>
4+
<ProjectItemFile Source="Elements.xml" Type="AppPackage" />
5+
</Files>
6+
</ProjectItem>

Solutions/BusinessApps.CorporateEventsApp/CorporateEvents.SharePointWeb/Content/Site.css

+27
Original file line numberDiff line numberDiff line change
@@ -15,3 +15,30 @@ select,
1515
textarea {
1616
max-width: 280px;
1717
}
18+
19+
/* Styles for events */
20+
.event { display: table; }
21+
.event-row { display: table-row; }
22+
.event-column1, .event-column2 { display: table-cell; padding: 10px; }
23+
.event-date {
24+
border: 1px solid #0072c6;
25+
font-weight: bold;
26+
text-align: center;
27+
width: 80px;
28+
}
29+
.event-month {
30+
background-color: #0072c6;
31+
color: #fff;
32+
text-transform: uppercase;
33+
}
34+
.event-day {
35+
font-size: 20px;
36+
font-weight: normal;
37+
}
38+
.event-details-title {
39+
font-weight: bold;
40+
text-transform: uppercase;
41+
}
42+
.event-details-location {
43+
font-style: italic;
44+
}

Solutions/BusinessApps.CorporateEventsApp/CorporateEvents.SharePointWeb/Controllers/EventsController.cs

+18-4
Original file line numberDiff line numberDiff line change
@@ -11,14 +11,27 @@ namespace CorporateEvents.SharePointWeb.Controllers {
1111
public class EventsController : Controller {
1212
#region [ Index ]
1313
[SharePointContextFilter]
14-
public ActionResult Index(int offset = 0) {
14+
public ActionResult Index(string category = "") {
15+
var spContext = SharePointContextProvider.Current.GetSharePointContext(HttpContext);
16+
1517
using (var clientContext = HttpContext.GetUserClientContextForSPHost()) {
18+
ViewBag.SPHostUrl = spContext.SPHostUrl;
19+
ViewBag.Category = category;
20+
1621
var list = clientContext.Web.GetListByTitle(ListDetails.EventsListName);
22+
var categoryQuery = string.Empty;
23+
if (!string.IsNullOrEmpty(category)) {
24+
categoryQuery = CAML.Where(CAML.Eq(CAML.FieldValue(Event.FIELD_CATEGORY, "Text", category)));
25+
}
26+
var orderByQuery = CAML.OrderBy(new OrderByField("Title"));
27+
1728
var caml = new CamlQuery() {
18-
ViewXml = CAML.ViewQuery()
29+
ViewXml = CAML.ViewQuery(categoryQuery, orderByQuery, rowLimit: 50)
1930
};
2031
var events = list.GetItems(caml);
32+
clientContext.Load(events);
2133
clientContext.ExecuteQuery();
34+
2235
var eventsList = events.Cast<ListItem>().Select(item => new Event(item)).ToList();
2336
return View(eventsList);
2437
}
@@ -55,7 +68,7 @@ public ActionResult Item(int id) {
5568
/// <param name="maxCount">Maximum number of items to return.</param>
5669
/// <returns></returns>
5770
[SharePointContextFilter]
58-
public ActionResult Featured(int maxCount = 5) {
71+
public ActionResult Featured(int maxCount = 3) {
5972
using (var clientContext = HttpContext.GetUserClientContextForSPHost()) {
6073
ViewBag.SPHostUrl = HttpContext.Request.QueryString["SPHostUrl"];
6174

@@ -71,7 +84,8 @@ public ActionResult Featured(int maxCount = 5) {
7184
)
7285
)
7386
),
74-
CAML.OrderBy(new OrderByField(Event.FIELD_DATE)))
87+
CAML.OrderBy(new OrderByField(Event.FIELD_DATE)),
88+
rowLimit: maxCount)
7589
};
7690

7791
var list = clientContext.Web.Lists.GetByTitle(ListDetails.EventsListName);

Solutions/BusinessApps.CorporateEventsApp/CorporateEvents.SharePointWeb/Controllers/HomeController.cs

+2-1
Original file line numberDiff line numberDiff line change
@@ -44,11 +44,12 @@ public ActionResult Config(string status) {
4444
[HttpPost()]
4545
public ActionResult Config(System.Web.Mvc.FormCollection form) {
4646
var spContext = SharePointContextProvider.Current.GetSharePointContext(HttpContext);
47+
var createDefaultData = true; //form["CreateDefaultData"].ToBoolean();
4748

4849
string status;
4950
try {
5051
var initializer = new DataInitializer(spContext);
51-
initializer.Initialize();
52+
initializer.Initialize(createDefaultData);
5253

5354
status = "Complete";
5455
using (var clientContext = HttpContext.GetUserClientContextForSPHost()) {

Solutions/BusinessApps.CorporateEventsApp/CorporateEvents.SharePointWeb/CorporateEvents.SharePointWeb.csproj

+2
Original file line numberDiff line numberDiff line change
@@ -163,6 +163,7 @@
163163
<Content Include="fonts\glyphicons-halflings-regular.svg" />
164164
<Content Include="Global.asax" />
165165
<Content Include="Content\Site.css" />
166+
<Content Include="Images\ajax-loader.gif" />
166167
<Content Include="Images\company-events1.jpg" />
167168
<Content Include="Images\company-events2.jpg" />
168169
<Content Include="Images\company-events3.jpg" />
@@ -206,6 +207,7 @@
206207
<Content Include="Views\Registration\Index.cshtml" />
207208
<Content Include="Views\Events\Register.cshtml" />
208209
<Content Include="Scripts\jquery-2.1.1.min.map" />
210+
<Content Include="Views\Events\Index.cshtml" />
209211
</ItemGroup>
210212
<ItemGroup>
211213
<Content Include="packages.config" />

0 commit comments

Comments
 (0)