public IHttpActionResult PostcatCurrency(CatCurrencyViewModel Cat_CurrencyView_Model) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } catCurrency catCurrency_db; try { catCurrency_db = new catCurrency { Id = Cat_CurrencyView_Model.Id, No = Cat_CurrencyView_Model.No, Name = Cat_CurrencyView_Model.Name }; db.catCurrencies.Add(catCurrency_db); db.SaveChanges(); } catch (DbEntityValidationException ex) { throw new HttpResponseException(Request.CreateResponse(HttpStatusCode.InternalServerError, "DbEntityValidationException:" + ex.Message)); } catch (Exception ex) { throw new HttpResponseException(Request.CreateResponse(HttpStatusCode.InternalServerError, ex.Message)); } return(CreatedAtRoute("DefaultApi", new { id = catCurrency_db.Id }, ToViewModel(catCurrency_db))); }
public IHttpActionResult PutcatCurrency(int id, CatCurrencyViewModel Cat_CurrencyView_Model) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } if (id != Cat_CurrencyView_Model.Id) { return(BadRequest()); } //把資料庫中的那筆資料讀出來 var catCurrency_db = db.catCurrencies.Find(id); if (catCurrency_db == null) { return(ResponseMessage(Request.CreateErrorResponse(HttpStatusCode.NotFound, "這筆資料已被刪除!"))); } else { try { catCurrency_db.Id = Cat_CurrencyView_Model.Id; catCurrency_db.No = Cat_CurrencyView_Model.No; catCurrency_db.Name = Cat_CurrencyView_Model.Name; db.Entry(catCurrency_db).OriginalValues["Timestamp"] = Convert.FromBase64String(Cat_CurrencyView_Model.TimestampString); db.SaveChanges(); } catch (DbUpdateConcurrencyException) { if (!catCurrencyExists(id)) { throw new HttpResponseException(Request.CreateResponse(HttpStatusCode.NotFound, "這筆資料已被刪除!")); } else { throw new HttpResponseException(Request.CreateErrorResponse(HttpStatusCode.Conflict, "這筆資料已被其他人修改!"));// "" } } } return(Ok(ToViewModel(catCurrency_db))); }