protected override void Execute(CodeActivityContext context) { string api_url = ApiUrl.Get(context); string api_token = ApiToken.Get(context); List <string> allowed_classes = AllowedClasses.Get(context); string image = Image.Get(context); var ac = String.Join(",", allowed_classes.ToArray()); HttpClient client = new HttpClient(); client.DefaultRequestHeaders.TryAddWithoutValidation("Accept", "application/json"); client.DefaultRequestHeaders.TryAddWithoutValidation("Authorization", "Token " + api_token); MultipartFormDataContent form = new MultipartFormDataContent(); FileStream fs = File.Open(image, FileMode.Open); StreamContent sc = new StreamContent(fs); form.Add(sc, "image", Path.GetFileName(image)); form.Add(new StringContent(ac), "text"); HttpResponseMessage response = client.PostAsync(api_url, form).Result; if (response.IsSuccessStatusCode) { var json = response.Content.ReadAsStringAsync().Result; Documents.Set(context, json); } else { Documents.Set(context, ""); } client.Dispose(); }
/// <summary> /// Saves the item definition /// </summary> /// <param name="writer">Xml writer handle</param> /// <returns>True if saved, or false</returns> public bool Save(XmlWriter writer) { if (writer == null) { throw new ArgumentNullException("writer"); } writer.WriteStartElement("item"); writer.WriteAttributeString("name", Name); writer.WriteStartElement("tile"); writer.WriteAttributeString("name", TileSetName); writer.WriteAttributeString("inventory", TileID.ToString()); writer.WriteAttributeString("ground", GroundTileID.ToString()); writer.WriteAttributeString("incoming", IncomingTileID.ToString()); writer.WriteAttributeString("moveaway", ThrowTileID.ToString()); writer.WriteEndElement(); writer.WriteStartElement("type"); writer.WriteAttributeString("value", Type.ToString()); writer.WriteEndElement(); writer.WriteStartElement("damagetype"); writer.WriteAttributeString("value", DamageType.ToString()); writer.WriteEndElement(); writer.WriteStartElement("ac"); writer.WriteAttributeString("value", ArmorClass.ToString()); writer.WriteEndElement(); writer.WriteStartElement("slot"); writer.WriteAttributeString("value", Slot.ToString()); writer.WriteEndElement(); writer.WriteStartElement("classes"); writer.WriteAttributeString("value", AllowedClasses.ToString()); writer.WriteEndElement(); writer.WriteStartElement("weight"); writer.WriteAttributeString("value", Weight.ToString()); writer.WriteEndElement(); Damage.Save("damage", writer); DamageVsBig.Save("damagevsbig", writer); DamageVsSmall.Save("damagevssmall", writer); writer.WriteStartElement("critical"); writer.WriteAttributeString("min", Critical.X.ToString()); writer.WriteAttributeString("max", Critical.Y.ToString()); writer.WriteAttributeString("multiplier", CriticalMultiplier.ToString()); writer.WriteEndElement(); Script.Save("script", writer); if (IsCursed) { writer.WriteStartElement("iscursed"); writer.WriteAttributeString("value", IsCursed.ToString()); writer.WriteEndElement(); } if (IsIdentified) { writer.WriteStartElement("isidentified"); writer.WriteAttributeString("value", IsCursed.ToString()); writer.WriteEndElement(); } if (CanIdentify) { writer.WriteStartElement("canidentify"); writer.WriteAttributeString("value", IsCursed.ToString()); writer.WriteEndElement(); } if (IsBig) { writer.WriteStartElement("isbig"); writer.WriteAttributeString("value", IsBig.ToString()); writer.WriteEndElement(); } writer.WriteStartElement("allowedhands"); writer.WriteAttributeString("value", AllowedHands.ToString()); writer.WriteEndElement(); writer.WriteElementString("shortname", ShortName); writer.WriteElementString("identifiedname", IdentifiedName); writer.WriteStartElement("speed"); writer.WriteAttributeString("value", AttackSpeed.TotalMilliseconds.ToString()); writer.WriteEndElement(); writer.WriteEndElement(); return(true); }
public void AddAllowedClass(Type type) => AllowedClasses.Add(type);