通过WebAPI使用角度的条件规范

时间:2015-07-19 19:30:22

标签: asp.net asp.net-mvc angularjs asp.net-web-api

我有一个预约/预约应用程序项目,我有点坚持。

我使用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); }

0 个答案:

没有答案