private bool TryUpdateInventory(SPRemoteEventProperties properties)
{
bool successFlag = false;
try
{
var arrived = Convert.ToBoolean(properties.ItemEventProperties.AfterProperties["Arrived"]);
var addedToInventory = Convert.ToBoolean(properties.ItemEventProperties.AfterProperties["Added_x0020_to_x0020_Inventory"]);
if (arrived && !addedToInventory)
{
using (SqlConnection conn = SQLAzureUtilities.GetActiveSqlConnection())
using (SqlCommand cmd = conn.CreateCommand())
{
conn.Open();
cmd.CommandText = "UpdateInventory";
cmd.CommandType = CommandType.StoredProcedure;
SqlParameter tenant = cmd.Parameters.Add("@Tenant", SqlDbType.NVarChar);
tenant.Value = properties.ItemEventProperties.WebUrl + "/";
SqlParameter product = cmd.Parameters.Add("@ItemName", SqlDbType.NVarChar, 50);
product.Value = properties.ItemEventProperties.AfterProperties["Title"]; // not "Product"
SqlParameter quantity = cmd.Parameters.Add("@Quantity", SqlDbType.SmallInt);
quantity.Value = Convert.ToUInt16(properties.ItemEventProperties.AfterProperties["Quantity"]);
cmd.ExecuteNonQuery();
}
successFlag = true;
}
}
catch (KeyNotFoundException)
{
successFlag = false;
}
return successFlag;
}