The problem is when I create a new task the AssetName and OwnerName is NULL. I have two resources that set assetid and userid. I need the text value from the dropdowns to be AssetName and OwnerName.
After thinking about it makes since that they are NULL on creation b/c the only thing that populates them is my read method to my
db. Once I refresh the page both the AssetName and OwnerName contain the right data.
I need to know either how to query the db to get this information upon task dialog closing or somehow bind the AssetName to the DataTextField on the resource for m => m.AssetID and bind the OwnerName to the DataTextField on the resource for m => m.OwnerID.
@(Html.Kendo().Scheduler<
GIS.Services.Pulse.Types.Models.TaskAsset
>()
.Name("scheduler")
.Date(Model.Date)
.StartTime(Model.Date)
.Height(800)
.EventTemplate(
"<
div
class
=
'asset-task'
>" +
"<
strong
>#= title #</
strong
>" +
"<
p
>" +
"<
strong
>Asset: </
strong
>#= AssetName #" +
"<
br
>" +
"<
strong
>Owner: </
strong
>#= OwnerName #" +
"</
p
>" +
"</
div
>"
)
.Views(views =>
{
views.DayView();
views.WorkWeekView();
views.WeekView();
views.MonthView(monthView => monthView.Selected(true)).EventHeight(70);
views.AgendaView();
})
.Timezone("Etc/UTC")
.Resources(resource =>
{
resource.Add(m => m.AssetID)
.Title("Asset")
.DataTextField("Name")
.DataValueField("AssetID")
.DataSource(ds => ds.Read("Assets", "Asset"));
resource.Add(m => m.OwnerID)
.Title("Owner")
.DataTextField("DisplayName")
.DataValueField("UserID")
.DataSource(ds => ds.Read("Users", "Users"));
resource.Add(m => m.WorkTypeID)
.Title("Work Type")
.DataTextField("Name")
.DataValueField("WorkTypeID")
.DataSource(ds => ds.Read("WorkTypes", "MaintenanceSchedule"));
})
.DataSource(d => d
.Model(m =>
{
m.Id(f => f.TaskID);
m.Field(f => f.Title).DefaultValue("No title");
m.Field(f => f.OwnerName);
m.Field(f => f.AssetName);
m.RecurrenceId(f => f.RecurrenceID);
})
.Read("TaskAssetRead", "Scheduler")
.Create("TaskAssetCreate", "Scheduler")
.Destroy("TaskAssetDestroy", "Scheduler")
.Update("TaskAssetUpdate", "Scheduler")
//.Events(events => events.Error("error_handler"))
)
.Events(events => events.Edit("edit"))
)
My model is:
[DataContract]
public class TaskAsset : ISchedulerEvent
{
/// <
summary
>The start.</
summary
>
[DataMember]
private DateTime m_start;
/// <
summary
>The end.</
summary
>
[DataMember]
private DateTime m_end;
/// <
summary
>Gets or sets the task id.</
summary
>
[DataMember]
public int TaskID { get; set; }
/// <
summary
>Gets or sets the <
see
cref
=
"Asset"
/> id.</
summary
>
[DataMember]
[Required]
public int AssetID { get; set; }
/// <
summary
>Gets or sets the <
see
cref
=
"Asset"
/> name.</
summary
>
[DataMember]
public string AssetName { get; set; }
/// <
summary
>Gets or sets the description.</
summary
>
[DataMember]
public string Description { get; set; }
/// <
summary
>Gets or sets the owner id.</
summary
>
[DataMember]
[Required]
public Guid? OwnerID { get; set; }
/// <
summary
>Gets or sets the owner name.</
summary
>
[DataMember]
public string OwnerName { get; set; }
/// <
summary
>Gets or sets the end.</
summary
>
[DataMember]
public DateTime End
{
get
{
return this.m_end;
}
set
{
this.m_end = value.ToUniversalTime();
}
}
/// <
summary
>Gets or sets the end time zone.</
summary
>
[DataMember]
public string EndTimezone { get; set; }
/// <
summary
>Gets or sets a value indicating whether is all day.</
summary
>
[DataMember]
public bool IsAllDay { get; set; }
/// <
summary
>Gets or sets the recurrence exception.</
summary
>
[DataMember]
public string RecurrenceException { get; set; }
/// <
summary
>Gets or sets the recurrence rule.</
summary
>
[DataMember]
public string RecurrenceRule { get; set; }
/// <
summary
>Gets or sets the start.</
summary
>
[DataMember]
public DateTime Start
{
get
{
return this.m_start;
}
set
{
this.m_start = value.ToUniversalTime();
}
}
/// <
summary
>Gets or sets the start time zone.</
summary
>
[DataMember]
public string StartTimezone { get; set; }
/// <
summary
>Gets or sets the title.</
summary
>
[DataMember]
public string Title { get; set; }
/// <
summary
>Gets or sets the recurrence id.</
summary
>
[DataMember]
public int? RecurrenceID { get; set; }
/// <
summary
>Gets or sets the create date.</
summary
>
[DataMember]
public DateTime CreateDate { get; set; }
/// <
summary
>Gets or sets the create user.</
summary
>
[DataMember(IsRequired = false)]
public Guid? CreateUser { get; set; }
/// <
summary
>Gets or sets the <
see
cref
=
"WorkType"
/> id.</
summary
>
[DataMember]
[Required]
public int WorkTypeID { get; set; }
}
Can this be done?