or
01.
public
IEnumerable<LogSchedulerModel> ScdLoad() {
02.
var logs = _entityProvider.QueryLogs(x => x.Where(l => l.CheckInExpected > DateTime.Now));
03.
var scdLogs = logs.Select(log =>
new
LogSchedulerModel
04.
{
05.
ID = log.ID,
06.
CheckInExpected = log.CheckInExpected,
07.
StartDate = log.StartDate,
08.
CheckInActual = log.CheckInActual,
09.
ContactNumber = log.ContactNumber,
10.
UserName = log.UserName,
11.
Location = log.UserName,
12.
Start = log.StartDate,
13.
End = log.CheckInExpected,
14.
EmergencyContactName = log.EmergencyContactName,
15.
EmergencyContactNo = log.EmergencyContactNo
16.
});
17.
18.
return
scdLogs;
19.
}
@(Html.Kendo().Scheduler<LogSchedulerModel>()
.Name(
"scheduler"
)
.Date(DateTime.Now)
.StartTime(DateTime.Now)
.Height(600)
.Views(views =>
{
views.DayView();
views.WorkWeekView(workWeekView => workWeekView.Selected(
true
));
views.WeekView();
views.MonthView();
views.AgendaView();
})
.DataSource(source => source
.SignalR()
.Events(events => events.Push(@<text>
function(e) {
var notification = $(
"#notification"
).data(
"kendoNotification"
);
notification.success(e.type);
}
</text>))
.Transport(tr => tr
.Promise(
"hubStart"
)
.Hub(
"hub"
)
.Client(c => c
.Create(
"scdcreate"
)
.Read(
"scdload"
)
.Update(
"scdupdate"
)
.Destroy(
"scddestroy"
)
)
.Server(s => s
.Create(
"scdcreate"
)
.Read(
"scdload"
)
.Update(
"scdupdate"
)
.Destroy(
"scddestroy"
)
))
.Schema(schema => schema
.Model(model =>
{
model.Id(m => m.ID);
model.Field(m => m.ID).Editable(
true
);
})
)
)
)
function
CategoryFilter(element) {
element.kendoDropDownList({
dataSource: {
transport: {
read:
"/Software/GetSoftwareCategoriesForFilter"
}
},
optionLabel:
"--Select Value--"
});
}
bundles.Add(
new
ScriptBundle(
"~/bundles/scripts"
)
.Include(
"~/Scripts/GeneralFunctions.js"
));
columns.Bound(c => c.Software.SoftwareCategory.Name).Title("Software Category").Width(150).Filterable(filterable => filterable.UI("CategoryFilter"));
01.
@(Html.Kendo().Scheduler<
HTServices.Models.TaskViewModel
>()
02.
.Name("scheduler")
03.
.Date(new DateTime(2014,4,21,7,0,0))
04.
.StartTime(new DateTime(2014,4,21,7,0,0))
05.
.Height(600)
06.
.Editable(edit =>
07.
{
08.
edit.TemplateName("ScheduleItemTemplate");
09.
edit.Create(false);
10.
edit.Destroy(false);
11.
})
12.
.Views(views =>
13.
{
14.
views.DayView();
15.
views.WeekView(weekView => weekView.Selected(true));
16.
views.MonthView();
17.
views.AgendaView();
18.
})
19.
.Timezone("Etc/UTC")
20.
.DataSource(d => d
21.
.Model(m =>
22.
{
23.
m.Id(f => f.TaskID);
24.
m.Field(f => f.Title).DefaultValue("No title");
25.
m.Field(f => f.OwnerID).DefaultValue(1);
26.
m.Field(f => f.Title).DefaultValue("No title");
27.
m.RecurrenceId(f => f.RecurrenceID);
28.
})
29.
.Read("Read", "Scheduler")
30.
.Create("Create", "Scheduler")
31.
.Destroy("Destroy", "Scheduler")
32.
.Update("Update", "Scheduler")
33.
)
34.
)
001.
@model HTServices.Models.TaskViewModel
002.
@{
003.
//required in order to render validation attributes
004.
ViewContext.FormContext = new FormContext();
005.
}
006.
007.
@functions{
008.
public Dictionary<
string
, object> generateDatePickerAttributes(
009.
string elementId,
010.
string fieldName,
011.
string dataBindAttribute,
012.
Dictionary<
string
, object> additionalAttributes = null)
013.
{
014.
015.
Dictionary<
string
, object> datePickerAttributes = additionalAttributes != null ? new Dictionary<
string
, object>(additionalAttributes) : new Dictionary<
string
, object>();
016.
017.
datePickerAttributes["id"] = elementId;
018.
datePickerAttributes["name"] = fieldName;
019.
datePickerAttributes["data-bind"] = dataBindAttribute;
020.
datePickerAttributes["required"] = "required";
021.
datePickerAttributes["style"] = "z-index: inherit;";
022.
023.
return datePickerAttributes;
024.
}
025.
026.
}
027.
<
style
type
=
"text/css"
>
028.
.panelbarHeader {
029.
font-size: 1em;
030.
font-weight: normal;
031.
}
032.
033.
.panelbarItem {
034.
text-decoration: none;
035.
font-size: .9em;
036.
font-weight: normal;
037.
padding-left: 20px;
038.
}
039.
.dutyPanel {
040.
height: 200px;
041.
}
042.
043.
.displayDate {
044.
045.
}
046.
047.
</
style
>
048.
<
div
class
=
"k-edit-label"
>
049.
@(Html.LabelFor(model => model.Client))
050.
</
div
>
051.
<
div
data-container-for
=
"client"
class
=
"k-edit-field"
>
052.
@(Html.TextBoxFor(model => model.Client, new { style = "width:100%;", @readonly = "readonly", @class = "k-textbox col-lg-12", data_bind = "text: client" }))
053.
</
div
>
054.
<
div
class
=
"k-edit-label"
>
055.
@(Html.LabelFor(model => model.Address))
056.
</
div
>
057.
<
div
data-container-for
=
"address"
class
=
"k-edit-field"
>
058.
@(Html.TextBoxFor(model => model.Address, new { style = "width:100%;", @readonly = "readonly", @class = "k-textbox", data_bind = "text: address" }))
059.
</
div
>
060.
061.
<
div
class
=
"k-edit-label"
>
062.
@(Html.LabelFor(model => model.Start))
063.
</
div
>
064.
<
div
data-container-for
=
"start"
class
=
"k-edit-field"
>
065.
066.
@(Html.Kendo().DateTimePickerFor(model => model.Start)
067.
.HtmlAttributes(generateDatePickerAttributes("startDateTime", "start", "value:start,invisible:isAllDay"))
068.
.Enable(false))
069.
070.
</
div
>
071.
072.
<
div
class
=
"k-edit-label"
>
073.
@(Html.LabelFor(model => model.End))
074.
</
div
>
075.
<
div
data-container-for
=
"end"
class
=
"k-edit-field"
>
076.
@(Html.Kendo().DateTimePickerFor(model => model.End)
077.
.HtmlAttributes(generateDatePickerAttributes(
078.
"endDateTime",
079.
"end",
080.
"value:end,invisible:isAllDay",
081.
new Dictionary<
string
, object>() {{"data-dateCompare-msg", "End date should be greater than or equal to the start date"}}))
082.
.Enable(false))
083.
</
div
>
084.
085.
<
div
class
=
"k-edit-label"
>
086.
@(Html.LabelFor(model => model.IsAllDay))
087.
</
div
>
088.
<
div
data-container-for
=
"isAllDay"
class
=
"k-edit-field"
>
089.
@(Html.DisplayFor(model => model.IsAllDay, new { @class = "k-checkbox", @readonly = "readonly", data_bind = "value: isAllDay" }))
090.
</
div
>
091.
092.
<
div
class
=
"k-edit-label"
>
093.
@(Html.LabelFor(model => model.Description))
094.
</
div
>
095.
<
div
data-container-for
=
"description"
class
=
"k-edit-field"
>
096.
@(Html.TextAreaFor(model => model.Description, new { @class = "k-textbox", @readonly = "readonly", data_bind = "value: description" }))
097.
</
div
>
098.
099.
<
div
class
=
"k-edit-label"
>
100.
@(Html.LabelFor(model => model.DutyID))
101.
</
div
>
102.
<
div
data-container-for
=
"duties"
data-task-id
=
"@Model.TaskID"
class
=
"k-edit-field dutyPanel"
>
103.
<
div
id
=
"dutyPanel"
class
=
"dutyPanel"
></
div
>
104.
</
div
>
105.
106.
@{
107.
ViewContext.FormContext = null;
108.
}
01.
$(
function
() {
02.
03.
////bind to the scheduler edit event
04.
var
scheduler = $(
"#scheduler"
).data(
"kendoScheduler"
);
05.
scheduler.bind(
"edit"
, onSchedulerEdit);
06.
07.
function
onSelect(e) {
08.
09.
e.preventDefault();
10.
}
11.
12.
function
onSchedulerEdit(e) {
13.
14.
var
d = e.event.Duties;
15.
$(
"#dutyPanel"
).kendoPanelBar({
16.
expandMode:
"multiple"
,
17.
select: onSelect,
18.
dataSource: jQuery.makeArray(d)
19.
});
20.
21.
var
panelBar = $(
"#dutyPanel"
).data(
"kendoPanelBar"
).expand($(
"#dutyPanel .k-item"
),
true
);
22.
23.
};
24.
25.
26.
});
1.
<%@ Control Language="C#" Inherits="System.Web.Mvc.ViewUserControl<
int
?>" %>
2.
<%= this.Html.Kendo().DropDownList().DataSource(ds => ds.Read(read => read.Action("GetListPort","AjaxCombo")))
3.
.Name(this.ViewData.TemplateInfo.GetFullHtmlFieldName(string.Empty))
4.
.HtmlAttributes(new { style = "width:99%;" })
5.
%>
1.
function
onDropDownDataBinding(e) {
2.
var
val1 = $(
'#First'
).data(
'tDropDownList'
).value();
3.
e.data = $.extend({}, e.data, {parameter: val1});
4.
}