예제 #1
0
        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)));
        }
예제 #2
0
        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)));
        }