コード例 #1
0
        /// <summary>
        /// Updates or creates a new item, will associate with a session if a
        /// SessionId is included in the VM
        /// </summary>
        /// <param name="itemVM">View Model containing data for a character item</param>
        /// <returns></returns>
        public HttpResponseMessage Post(ItemViewModel itemVM)
        {
            Item dbItem = ModelConverter.ToDbItemModel(itemVM);

            if (dbItem.Id > 0)
            {
                itemRepository.UpdateItem(dbItem);
            }
            else
            {
                dbItem = itemRepository.CreateItem(dbItem);
            }

            if (itemVM.SessionId > 0)
            {
                itemRepository.AddItemToSession(dbItem.Id, itemVM.SessionId);
            }

            //Another hack, fix disappearing session lists from item library after grad school
            dbItem = itemRepository.GetItem(dbItem.Id);

            return(Request.CreateResponse(HttpStatusCode.OK, ModelConverter.ToItemViewModel(dbItem)));
        }