public ActionResult StoreNewItem(StoreItemDisplayModel storeItem) { var sg = new StoreGateway(); try { StoreItemDisplay display = new StoreItemDisplay(); display.CanPickUpLocally = storeItem.CanPickUpLocally; display.ArticleNumber = storeItem.ArticleNumber; display.CanRunOutOfStock = storeItem.CanRunOutOfStock; display.Currency = storeItem.Currency; display.Description = storeItem.Description; display.InternalId = storeItem.InternalId; display.Note = storeItem.HtmlNote; display.Price = storeItem.Price; display.PrivateManagerId = storeItem.PrivateManagerId; display.QuantityInStock = storeItem.QuantityInStock; display.StoreItemId = storeItem.StoreItemId; display.Merchant.Name = storeItem.StoreName; display.Weight = storeItem.Weight; display.MerchantId = storeItem.MerchantId; display.Name = storeItem.Name; display.Shipping = storeItem.Shipping; display.HasExtraLarge = storeItem.HasExtraLarge; display.HasExtraSmall = storeItem.HasExtraSmall; display.HasLarge = storeItem.HasLarge; display.HasMedium = storeItem.HasMedium; display.HasSmall = storeItem.HasSmall; display.HasXXLarge = storeItem.HasXXLarge; display.ItemTypeEnum = storeItem.ItemTypeEnum; display.ItemType = storeItem.ItemType; display.ColorTempSelected = storeItem.ColorsSelected; display = sg.CreateNewStoreItem(display); if (display.StoreItemId > 0) return Redirect(Url.Content("~/store/item/edit/" + display.StoreItemId + "/" + display.PrivateManagerId.ToString().Replace("-", "") + "/" + display.MerchantId.ToString().Replace("-", ""))); } catch (Exception exception) { ErrorDatabaseManager.AddException(exception, exception.GetType()); } //if the item didn't actually get created. var store = sg.GetStoreForManager(storeItem.MerchantId, storeItem.PrivateManagerId, false); storeItem.InternalId = store.InternalReference; storeItem.MerchantId = store.MerchantId; storeItem.PrivateManagerId = store.PrivateManagerId; return View(storeItem); }