コード例 #1
0
        public IHttpActionResult PostClient(Client client)
        {
            /* if (!ModelState.IsValid)
             * {
             *   return BadRequest(ModelState);
             * }
             *
             * db.Client.Add(client);
             * db.SaveChanges();
             *
             * return CreatedAtRoute("DefaultApi", new { id = client.client_id }, client);
             *
             * else
             *      db.Entry(client).State = EntityState.Modified;
             */

            //table client
            try
            {
                //client table
                if (client.client_id == 0)
                {
                    db.Client.Add(client);
                }
                else
                {
                    db.Entry(client).State = EntityState.Modified;
                }
                // table clientDetails
                foreach (var c in client.Client_details)
                {
                    if (c.client_detail_id == 0)
                    {
                        db.Client_details.Add(c);
                    }
                    else
                    {
                        db.Entry(c).State = EntityState.Modified;
                    }
                }

                //Delete For Table Détails client <3
                foreach (var f in client.DeletedDetailClientIDs.Split(',').Where(x => x != ""))
                {
                    Client_details x = db.Client_details.Find(Convert.ToInt32(f));
                    db.Client_details.Remove(x);
                }



                db.SaveChanges();

                return(Ok());
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }/*
コード例 #2
0
        public IHttpActionResult PutClient(int id, Client client)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            if (id != client.client_id)
            {
                return(BadRequest());
            }

            db.Entry(client).State = EntityState.Modified;
            foreach (var c in client.Client_details)
            {
                db.Entry(c).State = EntityState.Modified;
            }

            //Delete For Table Détails client <3
            foreach (var f in client.DeletedDetailClientIDs.Split(',').Where(x => x != ""))
            {
                Client_details x = db.Client_details.Find(Convert.ToInt32(f));
                db.Client_details.Remove(x);
            }


            try
            {
                db.SaveChanges();
            }
            catch (DbUpdateConcurrencyException)
            {
                if (!ClientExists(id))
                {
                    return(NotFound());
                }
                else
                {
                    throw;
                }
            }

            return(StatusCode(HttpStatusCode.NoContent));
        }