migrate to new git
This commit is contained in:
218
web/App_Code/api/bed_kindController.cs
Normal file
218
web/App_Code/api/bed_kindController.cs
Normal file
@@ -0,0 +1,218 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Net;
|
||||
using System.Net.Http;
|
||||
using System.Web.Http;
|
||||
using PagedList;
|
||||
using Newtonsoft.Json;
|
||||
using System.Collections;
|
||||
[ezAuthorize]
|
||||
public class bed_kindController : ApiController
|
||||
{
|
||||
private Model.ezEntities _db = new Model.ezEntities();
|
||||
// GET api/<controller>
|
||||
public IEnumerable<Model.bed_kind> Get()
|
||||
{
|
||||
var list = _db.bed_kind.ToList();
|
||||
if (list == null) throw new HttpResponseException(HttpStatusCode.NotFound);
|
||||
return list;
|
||||
}
|
||||
|
||||
// GET api/<controller>/5
|
||||
public Model.bed_kind Get(int id)
|
||||
{
|
||||
var item = _db.bed_kind.Where(q => q.num == id).FirstOrDefault();
|
||||
return item;
|
||||
}
|
||||
|
||||
// POST api/<controller>
|
||||
public void Post([FromBody] string value)
|
||||
{
|
||||
}
|
||||
|
||||
// PUT api/<controller>/5
|
||||
public void Put(int id, [FromBody] string value)
|
||||
{
|
||||
}
|
||||
|
||||
// DELETE api/<controller>/5
|
||||
public void Delete(int id)
|
||||
{
|
||||
}
|
||||
[HttpGet]
|
||||
[Route("api/bed_kind/count")]
|
||||
public int Count()
|
||||
{
|
||||
var count = _db.bed_kind.Count();
|
||||
return count;
|
||||
}
|
||||
[HttpPost]
|
||||
[Route("api/bed_kind/GetList")]
|
||||
public IHttpActionResult GetList([FromBody] Model.ViewModel.bed_kind q,
|
||||
int page, int pageSize = 10, string sortBy = "", bool sortDesc = false)
|
||||
{
|
||||
var qry = _db.bed_kind.AsEnumerable();
|
||||
if (!string.IsNullOrEmpty(q.kind))
|
||||
qry = qry.Where(o => o.kind.Contains(q.kind));
|
||||
if (!string.IsNullOrEmpty(q.sex))
|
||||
qry = qry.Where(o => o.sex == q.sex);
|
||||
if (q.root.HasValue)
|
||||
qry = qry.Where(o => o.root.Value == q.root.Value);
|
||||
qry = qry.OrderBy(o => o.range).ThenBy(o => o.num);
|
||||
var ret = new
|
||||
{
|
||||
list = qry.ToPagedList(page, pageSize).Select(x => new
|
||||
{
|
||||
num = x.num,
|
||||
kind = x.kind,
|
||||
sex = x.sex,
|
||||
|
||||
}),
|
||||
count = qry.Count()
|
||||
|
||||
};
|
||||
return Ok(ret);
|
||||
}
|
||||
|
||||
[HttpPost]
|
||||
[Route("api/bed_kind/GetDetailList")]
|
||||
public IHttpActionResult GetDetailList([FromBody] Model.ViewModel.bed_kind_detail q,
|
||||
int page, int pageSize = 10, string sortBy = "", bool sortDesc = false)
|
||||
{
|
||||
var tdesc = publicFun.enum_desc<Model.bed_kind.bed_type>();
|
||||
//var tdesc2 = tdesc.ToArray().Select(x=>x.Value); //[0]單人床,[1]雙人床
|
||||
//var tdesc3 = tdesc.ToArray().Select(x=>x.Key); //[0]1,[1]2
|
||||
var qry = _db.bed_kind_detail.AsEnumerable();
|
||||
if (q.bed_kind_id.HasValue)
|
||||
qry = qry.Where(o => o.bed_kind_id == q.bed_kind_id);
|
||||
if (!string.IsNullOrEmpty(q.bed_name))
|
||||
qry = qry.Where(o => o.bed_name.Contains(q.bed_name));
|
||||
if (q.bed_type.HasValue)
|
||||
qry = qry.Where(o => o.bed_type == q.bed_type);
|
||||
if (!string.IsNullOrEmpty(q.bed_type_txt))
|
||||
{
|
||||
List<string> _bednums = new List<string>();
|
||||
foreach (var ii in tdesc)
|
||||
if(ii.Value.IndexOf(q.bed_type_txt) > -1)
|
||||
|
||||
_bednums.Add(ii.Key.ToString());
|
||||
|
||||
qry = qry.Where(o => _bednums.Contains( o.bed_type.Value.ToString()));
|
||||
}
|
||||
if (q.inTime.HasValue )
|
||||
{
|
||||
//判斷日期沒庫存不能選
|
||||
var bedDt = _db.bed_order_detail.AsEnumerable().Where(f => f.checkIn_date.HasValue && f.checkIn_date ==q.inTime.Value ).Select(f => f.bed_kind_detail_id.ToString());//掛單表單明細
|
||||
qry = qry.Where(o => !bedDt.ToArray().Contains(o.num.ToString()));
|
||||
|
||||
}
|
||||
qry = qry.OrderBy(o => o.bed_name);
|
||||
int i = 1;
|
||||
|
||||
if (pageSize > 0) qry = qry.ToPagedList(page, pageSize);
|
||||
var ret = new
|
||||
{
|
||||
list = qry.Select(x => new
|
||||
{
|
||||
id = i++,
|
||||
num = x.num,
|
||||
bed_name = x.bed_name,
|
||||
bed_type = x.bed_type,
|
||||
bed_type_txt = x.bed_type.HasValue? tdesc[x.bed_type ?? 1] : "",
|
||||
demo = x.demo,
|
||||
}),
|
||||
count = qry.Count()
|
||||
|
||||
};
|
||||
return Ok(ret);
|
||||
}
|
||||
|
||||
|
||||
|
||||
[HttpPost]
|
||||
[Route("api/bed_kind/SaveBedKindDetail")]
|
||||
public IHttpActionResult SaveActKindDetail([FromBody] Model.bed_kind_detail item)
|
||||
{
|
||||
if (item.bed_kind_id > 0)
|
||||
{
|
||||
//if有資料-修改 , else 新增
|
||||
if (item.num > 0)
|
||||
{
|
||||
Model.bed_kind_detail _detail = _db.bed_kind_detail.Where(q => q.num == item.num).FirstOrDefault();//修改
|
||||
if (_detail != null)
|
||||
{
|
||||
_detail.bed_name = item.bed_name;
|
||||
if (item.bed_type.HasValue) { _detail.bed_type = item.bed_type.Value; }
|
||||
else { _detail.bed_type = null; }
|
||||
_detail.demo = item.demo;
|
||||
|
||||
_db.SaveChanges();
|
||||
var ret = _detail.num;
|
||||
return Ok(ret);
|
||||
|
||||
}
|
||||
else
|
||||
return NotFound();
|
||||
|
||||
}
|
||||
else
|
||||
{
|
||||
Model.bed_kind_detail _detail = new Model.bed_kind_detail();//新增
|
||||
_detail.bed_kind_id = item.bed_kind_id;
|
||||
_detail.bed_name = item.bed_name;
|
||||
if (item.bed_type.HasValue) { _detail.bed_type = item.bed_type.Value; }
|
||||
else { _detail.bed_type = null; }
|
||||
_detail.demo = item.demo;
|
||||
|
||||
_db.bed_kind_detail.Add(_detail);
|
||||
_db.SaveChanges();
|
||||
|
||||
var ret = _detail.num;
|
||||
return Ok(ret);
|
||||
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
return NotFound();
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
[HttpDelete]
|
||||
[Route("api/bed_kind/DeleteBedKindDetail/{id}")]//刪除分類的detail
|
||||
public void DeleteActKindDetail(int id)
|
||||
{
|
||||
var prod = _db.bed_kind_detail.AsEnumerable().Where(q => q.num == id).FirstOrDefault(); //刪除該筆資料
|
||||
if (prod != null)
|
||||
{
|
||||
|
||||
//清空掛單資料
|
||||
//way1
|
||||
prod.bed_order_detail.Clear();
|
||||
|
||||
//way2
|
||||
//foreach (var item2 in prod.bed_order_detail)
|
||||
// item2.bed_kind_detail_id = null;
|
||||
|
||||
//way3
|
||||
//var prod2 = _db.bed_order_detail.AsEnumerable().Where(q => q.bed_kind_detail_id == prod.num).ToList();
|
||||
//if (prod2.Count > 0)
|
||||
//{
|
||||
// //清空分類
|
||||
// foreach (var item2 in prod2)
|
||||
// item2.bed_kind_detail_id = null;
|
||||
|
||||
//}
|
||||
|
||||
|
||||
_db.bed_kind_detail.Remove(prod);
|
||||
_db.SaveChanges(); //執行
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user