public InventoryItemViewModel(InventoryItem inventory)
 {
     this.Guid = inventory.Guid;
     this.ProductGuid = inventory.ProductGuid;
     this.Status = inventory.Status;
     this.DateCreated = inventory.DateCreated;
     this.DatesUnavailable = inventory.DatesUnavailable;
 }
        private InventoryItem ConvertToInventory(dynamic inventory)
        {
            IList<DateTime> datesUnavailable = this._serializer.Deserialize<List<DateTime>>(inventory.DatesUnavailable);

            InventoryItem inventoryItem = new InventoryItem()
            {
                Id = inventory.Id,
                Guid = inventory.Guid,
                ProductGuid = inventory.ProductGuid,
                Status = (InventoryStatus)Enum.Parse(typeof(InventoryStatus), inventory.Status),
                DatesUnavailable = datesUnavailable,
                DateCreated = inventory.DateCreated
            };

            return inventoryItem;
        }
        public InventoryItem SaveInventory(InventoryItem inventory)
        {
            if (this.GetInventoryByGuid(inventory.Guid) == null)
            {
                // insert
                string sql = "Insert Into VintageRabbit.Inventory (Guid, ProductGuid, Status, DatesUnavailable, DateCreated, DateLastModified) Values (@Guid, @ProductGuid, @Status, @DatesUnavailable, @DateCreated, @DateLastModified)";

                using (SqlConnection connection = new SqlConnection(this._connectionString))
                {
                    connection.Execute(sql, new
                    {
                        Guid = inventory.Guid,
                        ProductGuid = inventory.ProductGuid,
                        Status = inventory.Status.ToString(),
                        DatesUnavailable = this._serializer.Serialize(inventory.DatesUnavailable),
                        DateCreated = DateTime.Now,
                        DateLastModified = DateTime.Now

                    });
                }
            }
            else
            {
                //update
                string sql = @"Update VintageRabbit.Inventory Set ProductGuid = @ProductGuid, Status = @Status, OrderItemGuid = @OrderItemGuid, DateSold = @DateSold, DatesUnavailable = @DatesUnavailable, DateLastModified = @DateLastModified Where Guid = @Guid";

                using (SqlConnection connection = new SqlConnection(this._connectionString))
                {
                    connection.Execute(sql, new
                    {
                        Guid = inventory.Guid,
                        ProductGuid = inventory.ProductGuid,
                        Status = inventory.Status.ToString(),
                        DatesUnavailable = this._serializer.Serialize(inventory.DatesUnavailable),
                        DateCreated = DateTime.Now,
                        DateLastModified = DateTime.Now,
                        OrderItemGuid = inventory.OrderItemGuid,
                        DateSold = inventory.DateSold
                    });
                }
            }

            return inventory;
        }