or
<
script
src
=
"@Url.Content("
~/DataSources/ProjectOnderhoudDataSource.generated.js")"
type
=
"text/javascript"
></
script
>
<
div
id
=
"projectEditForm"
>
<
input
id
=
"DatumAanvang"
data-bind
=
"value: selectedProject.DatumAanvang"
/>
<
hr
/>
<
div
id
=
"projectRegelGrid"
class
=
"k-content"
/>
<
script
type
=
"text/javascript"
>
$(function ()
{
$("#DatumAanvang").width(220).kendoDatePicker();
ProjectOnderhoudDataSource.bind("change", function (data)
{
ProjectOnderhoudViewModel.set("selectedProject", this.view()[0]); // not nice yet
});
ProjectOnderhoudDataSource.read();
kendo.bind($("#projectEditForm"), ProjectOnderhoudViewModel);
ProjectOnderhoudProjectRegelListDataSource.options.transport.read.parentId = 1;
$("#projectRegelGrid").kendoGrid
({
dataSource: ProjectOnderhoudProjectRegelListDataSource,
navigatable: true,
// deletable: true,
pageable: true,
// sortable: true,
height: 400,
toolbar: ["create", "save", "cancel"],
columns:
[
{ field: "Aantal", title: "Aantal" },
{ field: "Prijs", title: "Prijs", format: "{0:c}" },
{ field: "BTW", title: "BTW", format: "{0:c}" },
{ field: "CreatedOn", title: "Datum aangemaakt", template: '#= kendo.toString(CreatedOn, "dd MMMM yyyy") #' },
{ field: "ChangedOn", title: "Datum gewijzigd", format: "{0:dd MM yyyy}" },
{ command: ["destroy"], title: " ", width: "110px" }
],
editable: true
});
});
</
script
>
</
div
>
var
ProjectOnderhoudDataSource =
new
kendo.data.DataSource
({
transport:
{
read:
{
url:
"../ProjectOnderhoud/Get"
},
update:
{
url:
function
(item)
{
return
"../ProjectOnderhoud/Update/"
+ item.Id;
},
type:
"POST"
},
destroy:
{
url:
function
(item)
{
return
"../ProjectOnderhoud/Delete/"
+ item.Id;
},
type:
"DELETE"
},
create:
{
url:
"../ProjectOnderhoud/Create"
,
type:
"POST"
},
parameterMap:
function
(data, operation)
{
if
(operation ===
"update"
)
{
var
date;
date =
new
Date(data.DatumAanvang);
data.DatumAanvang = kendo.toString(
new
Date(data.DatumAanvang),
"dd-MM-yyyy HH:mm:ss"
);
date =
new
Date(data.DatumFaktuur);
data.DatumFaktuur = kendo.toString(
new
Date(data.DatumFaktuur),
"dd-MM-yyyy HH:mm:ss"
);
date =
new
Date(data.CreatedOn);
data.CreatedOn = kendo.toString(
new
Date(data.CreatedOn),
"dd-MM-yyyy HH:mm:ss"
);
date =
new
Date(data.ChangedOn);
data.ChangedOn = kendo.toString(
new
Date(data.ChangedOn),
"dd-MM-yyyy HH:mm:ss"
);
}
return
data;
}
},
schema:
{
model:
{
id:
"Id"
,
fields:
{
DatumAanvang:
{
type:
"date"
,
validation: { required :
true
}
},
DatumFaktuur:
{
type:
"date"
,
validation: { required :
true
}
},
Name:
{
type:
"string"
,
validation: { required :
true
}
},
Id:
{
type:
"int"
,
validation: { required :
true
}
},
CreatedOn:
{
type:
"date"
,
validation: { required :
true
}
},
CreatedBy:
{
type:
"int"
,
validation: { required :
true
}
},
ChangedOn:
{
type:
"date"
,
validation: { required :
true
}
},
ChangedBy:
{
type:
"int"
,
validation: { required :
true
}
}
}
}
}
});
var
ProjectOnderhoudViewModel =
new
kendo.observable
({
projectSource: ProjectOnderhoudDataSource,
selectedProjectOnderhoud:
null
});
var
ProjectOnderhoudProjectRegelListDataSource =
new
kendo.data.DataSource
({
transport:
{
read:
{
url:
function
()
{
var
parentId = ProjectOnderhoudProjectRegelListDataSource.options.transport.read.parentId;
return
"../ProjectOnderhoud/GetProjectRegelList/"
+ parentId;
},
parentId:
null
},
update:
{
url:
function
(item)
{
if
(item !=
null
&& item.Id != undefined)
{
return
"../ProjectRegel/Update/"
+ item.Id;
}
return
"../ProjectRegel/Update/-1"
;
},
type:
"POST"
},
destroy:
{
url:
function
(item)
{
return
"../ProjectRegel/Delete/"
+ item.Id;
},
type:
"DELETE"
},
create:
{
url:
"../ProjectRegel/Create"
,
type:
"POST"
},
parameterMap:
function
(data, operation)
{
if
(operation ===
"update"
)
{
var
date;
date =
new
Date(data.CreatedOn);
data.CreatedOn = kendo.toString(
new
Date(data.CreatedOn),
"dd-MM-yyyy HH:mm:ss"
);
date =
new
Date(data.ChangedOn);
data.ChangedOn = kendo.toString(
new
Date(data.ChangedOn),
"dd-MM-yyyy HH:mm:ss"
);
}
return
data;
}
},
batch:
true
,
pageSize: 15,
schema:
{
model:
{
id:
"Id"
,
fields:
{
Aantal:
{
type:
"int"
,
validation: { required :
true
},
editable:
true
},
Prijs:
{
type:
"float"
,
validation: { required :
true
},
editable:
true
},
BTW:
{
type:
"float"
,
validation: { required :
true
},
editable:
true
},
Id:
{
type:
"int"
,
validation: { required :
true
},
editable:
true
},
CreatedOn:
{
type:
"date"
,
validation: { required :
true
},
editable:
true
},
CreatedBy:
{
type:
"int"
,
validation: { required :
true
},
editable:
true
},
ChangedOn:
{
type:
"date"
,
validation: { required :
true
},
editable:
true
},
ChangedBy:
{
type:
"int"
,
validation: { required :
true
},
editable:
true
}
}
}
}
});
using
System;
using
System.Collections.Generic;
using
System.Collections.ObjectModel;
using
System.Net.Http.Formatting;
using
System.Net.Http;
using
MVC3DOViewmodel;
using
System.Web;
using
System.Web.Mvc;
using
Xtensive.Orm;
using
Xtensive.Orm.Web;
using
System.Net;
namespace
MVC3DOApp.Controllers
{
public
partial
class
ProjectOnderhoudController : MainController
{
public
ActionResult Index()
{
return
this
.View();
}
public
object
Get()
// List<PCProjectOnderhoud>
{
if
(HasId)
{
return
Json(VMProjectOnderhoud.GetById(
this
, Id), JsonRequestBehavior.AllowGet);
}
else
{
return
Json(VMProjectOnderhoud.AllVMProjectOnderhoudList(
this
), JsonRequestBehavior.AllowGet);
}
}
public
HttpResponseMessage Update(
int
id)
{
HttpResponseMessage response =
new
HttpResponseMessage();
if
(id == -1)
// Batch update
{
response.StatusCode = HttpStatusCode.OK;
}
else
{
using
(var entity = VMProjectOnderhoud.GetById(
this
, Id))
{
entity.DatumAanvang = Convert.ToDateTime(Request[
"DatumAanvang"
]);
entity.DatumFaktuur = Convert.ToDateTime(Request[
"DatumFaktuur"
]);
entity.Name = Request[
"Name"
];
entity.CreatedOn = Convert.ToDateTime(Request[
"CreatedOn"
]);
entity.CreatedBy = Convert.ToInt32(Request[
"CreatedBy"
]);
entity.ChangedOn = Convert.ToDateTime(Request[
"ChangedOn"
]);
entity.ChangedBy = Convert.ToInt32(Request[
"ChangedBy"
]);
SaveChanges();
response.StatusCode = HttpStatusCode.OK;
}
}
return
response;
}
public
object
Delete(
int
id)
{
HttpResponseMessage response =
new
HttpResponseMessage();
using
(var entity = VMProjectOnderhoud.GetById(
this
, Id))
{
entity.Delete();
SaveChanges();
response.StatusCode = HttpStatusCode.OK;
}
return
response;
}
public
object
Create()
{
return
null
;
}
public
object
GetProjectRegelList (
int
id)
{
VMProjectOnderhoud entity = VMProjectOnderhoud.GetById(
this
, id);
entity.LoadProjectRegelList();
return
Json(entity.ProjectRegelList, JsonRequestBehavior.AllowGet);
}
}
}
Any help would be appreciated.
<!doctype html>
<
head
>
<
meta
http-equiv
=
"Content-Type"
content
=
"text/html; charset=utf-8"
/>
<
link
href
=
"/css/kendo/styles/kendo.common.min.css"
rel
=
"stylesheet"
type
=
"text/css"
/>
<
link
href
=
"/css/kendo/styles/kendo.default.min.css"
rel
=
"stylesheet"
type
=
"text/css"
/>
<
script
src
=
"/kendo/js/jquery.min.js"
type
=
"text/javascript"
></
script
>
<
script
src
=
"/kendo/js/kendo.web.min.js"
type
=
"text/javascript"
></
script
>
</
head
>
function onEdit(e) {
var id= $(e).attr("data-assumptionid");
var window = $("#EditAssumptionWindow").data("kendoWindow");
var assumption = findById(assumptions,id);
window.refresh({
data: {
ID: assumption.ID,
Term : assumption.Term,
type : assumption.Type,
unitID : assumption.UnitID,
Name : assumption.Name
}
});
window.open();
window.center();
}
Controller method
public ActionResult EditAssumption(Guid ID, int Term, string Name, string type, int unitID)
{
ViewBag.Mode = "Edit";
AssumptionDTO dto = new AssumptionDTO()
{
ID=ID,
Name=Name,
Term=Term,
Type=type,
UnitID=unitID
};
return PartialView("NewAssumption", dto );
}
function onEdit(e) {
var id= $(e).attr("data-assumptionid");
var window = $("#EditAssumptionWindow").data("kendoWindow");
var assumption = findById(assumptions,id);
window.refresh({
data: {
assumptionDTO: assumption
}
});
window.open();
window.center();
}
Controller method
public ActionResult EditAssumption(AssumptionDTO
dto)
{
ViewBag.Mode = "Edit";
return PartialView("NewAssumption", dto );
}