我有一个预约/预约应用程序项目,我有点坚持。
我使用asp.net MVC,数据库实体,通过webAPI挂钩并使用angularJS进行管理。
它基本上是一个预约引擎来预约:
我的数据库是一个包含id,firstname,lastname,phone,orderdate或ordertime的表,并且isBooked bool with entity。
我的apicontroller中有一个基本的get / post动作, 我得到并用角度发布它。
我的HTML端看起来像这样:
日期:
<div class="selectContainer" ng-show="orderdate">
<label for="time">
Hours Available:
</label>
<div class="form-group" ng-repeat="hour in hours">
<input type="checkbox" id="{{ hour }}-{{ $index }}" data-ng-model="ordertime" ng-disabled="ordertime">
<label for="{{ hour }}-{{ $index }}">
{{ hour }}<br>
<span ng-if="ordertime" data-ng-model="ordertime">Booked</span>
<span ng-if="!ordertime">Available</span>
</label>
</div>
<label data-ng-model="ordertime">selected hour is : {{hour}}</label>
</div>
</div>
但我似乎无法从jquery pickadate片段中选择的日期向数据库添加ordertime。
此外,我似乎无法为isBooked布尔实体类添加bool ...
有关如何处理此问题的任何想法? 这是一个吸血鬼:
http://plnkr.co/edit/HZBe7vl8Ea7fEQpKNzsC?p=preview
Webapi控制器
public class CustomerController : ApiController
{
BookingDbContext db = new BookingDbContext();
// GET api/customer
[ActionName("get"), HttpGet]
public IEnumerable<Customer> Emps()
{
return db.Customers.ToList();
}
// GET api/customers/5
public Customer Get(int id)
{
return db.Customers.Find(id);
}
// POST api/customers
public HttpResponseMessage Post(Customer model)
{
if (ModelState.IsValid)
{
db.Customers.Add(model);
db.SaveChanges();
HttpResponseMessage response = Request.CreateResponse(HttpStatusCode.Created, model);
return response;
}
else
{
return Request.CreateErrorResponse(HttpStatusCode.BadRequest, ModelState);
}
}
// PUT api/customer/5
public HttpResponseMessage Put(Customer model)
{
if (ModelState.IsValid)
{
db.Entry(model).State = System.Data.Entity.EntityState.Modified;
db.SaveChanges();
HttpResponseMessage response = Request.CreateResponse(HttpStatusCode.OK, model);
return response;
}
else
{
return Request.CreateErrorResponse(HttpStatusCode.BadRequest, ModelState);
}
}
// DELETE api/customer/5
public HttpResponseMessage Delete(int id)
{
Customer emp = db.Customers.Find(id);
if (emp == null)
{
return Request.CreateResponse(HttpStatusCode.NotFound);
}
db.Customers.Remove(emp);
db.SaveChanges();
return Request.CreateResponse(HttpStatusCode.OK, emp);
}
// GET api/customer
[ActionName("get"), HttpGet]
public IEnumerable<Customer> Emps()
{
return db.Customers.ToList();
}
// GET api/customers/5
public Customer Get(int id)
{
return db.Customers.Find(id);
}
// POST api/customers
public HttpResponseMessage Post(Customer model)
{
if (ModelState.IsValid)
{
db.Customers.Add(model);
db.SaveChanges();
HttpResponseMessage response = Request.CreateResponse(HttpStatusCode.Created, model);
return response;
}
else
{
return Request.CreateErrorResponse(HttpStatusCode.BadRequest, ModelState);
}
}
// PUT api/customer/5
public HttpResponseMessage Put(Customer model)
{
if (ModelState.IsValid)
{
db.Entry(model).State = System.Data.Entity.EntityState.Modified;
db.SaveChanges();
HttpResponseMessage response = Request.CreateResponse(HttpStatusCode.OK, model);
return response;
}
else
{
return Request.CreateErrorResponse(HttpStatusCode.BadRequest, ModelState);
}
}
// DELETE api/customer/5
public HttpResponseMessage Delete(int id)
{
Customer emp = db.Customers.Find(id);
if (emp == null)
{
return Request.CreateResponse(HttpStatusCode.NotFound);
}
db.Customers.Remove(emp);
db.SaveChanges();
return Request.CreateResponse(HttpStatusCode.OK, emp);
}