public void PublishRichPresence([In] BattleNet.DllRichPresenceUpdate[] updates) { UpdateRequest updateRequest = new UpdateRequest { EntityId = base.m_battleNet.GameAccountId }; FieldOperation val = new FieldOperation(); Field field = new Field(); FieldKey key = new FieldKey(); key.SetProgram(BnetProgramId.BNET.GetValue()); key.SetGroup(2); key.SetField(8); foreach (BattleNet.DllRichPresenceUpdate update in updates) { key.SetIndex(update.presenceFieldIndex); bnet.protocol.presence.RichPresence protobuf = new bnet.protocol.presence.RichPresence(); protobuf.SetIndex(update.index); protobuf.SetProgramId(update.programId); protobuf.SetStreamId(update.streamId); bnet.protocol.attribute.Variant variant = new bnet.protocol.attribute.Variant(); variant.SetMessageValue(ProtobufUtil.ToByteArray(protobuf)); field.SetKey(key); field.SetValue(variant); val.SetField(field); updateRequest.SetEntityId(base.m_battleNet.GameAccountId); updateRequest.AddFieldOperation(val); } this.PublishField(updateRequest); }
public void PublishRichPresence([In] RichPresenceUpdate[] updates) { UpdateRequest updateRequest = new UpdateRequest() { EntityId = this.m_battleNet.GameAccountId }; FieldOperation fieldOperation = new FieldOperation(); Field field = new Field(); FieldKey fieldKey = new FieldKey(); fieldKey.SetProgram(BnetProgramId.BNET.GetValue()); fieldKey.SetGroup(2); fieldKey.SetField(8); RichPresenceUpdate[] richPresenceUpdateArray = updates; for (int i = 0; i < (int)richPresenceUpdateArray.Length; i++) { RichPresenceUpdate richPresenceUpdate = richPresenceUpdateArray[i]; fieldKey.SetIndex(richPresenceUpdate.presenceFieldIndex); RichPresence richPresence = new RichPresence(); richPresence.SetIndex(richPresenceUpdate.index); richPresence.SetProgramId(richPresenceUpdate.programId); richPresence.SetStreamId(richPresenceUpdate.streamId); bnet.protocol.attribute.Variant variant = new bnet.protocol.attribute.Variant(); variant.SetMessageValue(ProtobufUtil.ToByteArray(richPresence)); field.SetKey(fieldKey); field.SetValue(variant); fieldOperation.SetField(field); updateRequest.SetEntityId(this.m_battleNet.GameAccountId); updateRequest.AddFieldOperation(fieldOperation); } this.PublishField(updateRequest); }
public void SetPresenceBlob(uint field, byte[] val) { UpdateRequest updateRequest = new UpdateRequest(); updateRequest.EntityId = this.m_battleNet.GameAccountId; FieldOperation fieldOperation = new FieldOperation(); Field field2 = new Field(); FieldKey fieldKey = new FieldKey(); fieldKey.SetProgram(BnetProgramId.WOW.GetValue()); fieldKey.SetGroup(2u); fieldKey.SetField(field); Variant variant = new Variant(); if (val == null) { val = new byte[0]; } variant.SetBlobValue(val); field2.SetKey(fieldKey); field2.SetValue(variant); fieldOperation.SetField(field2); updateRequest.SetEntityId(this.m_battleNet.GameAccountId); updateRequest.AddFieldOperation(fieldOperation); this.PublishField(updateRequest); }
public override string Complete(string name, FieldOperation fop, string fieldcommand, DateTime ddefault) { /* [dlatikay 20111116] must inject the default into the field command: * ALTER TABLE bas02Project ADD (F NUMBER(9, 0) DEFAULT(-33) NOT NULL) */ fieldcommand = fieldcommand.Replace("NOT NULL", String.Format("DEFAULT(sysdate) NOT NULL")); /* [dlatikay 20111124] ORA provider does so not actually provide a variable default */ return String.Format(Template, name, sFOP(fop), fieldcommand); }
public override string Complete(string name, FieldOperation fop, string fieldcommand, int idefault) { /* [dlatikay 20111116] must inject the default into the field command: * ALTER TABLE bas02Project ADD (F NUMBER(9, 0) DEFAULT(-33) NOT NULL) */ fieldcommand = fieldcommand.Replace("NOT NULL", String.Format("DEFAULT({0}) NOT NULL", idefault.ToString())); return String.Format(Template, name, sFOP(fop), fieldcommand); }
public void PublishRichPresence([In] RichPresenceUpdate[] updates) { UpdateRequest updateRequest = new UpdateRequest(); updateRequest.EntityId = this.m_battleNet.GameAccountId; FieldOperation fieldOperation = new FieldOperation(); Field field = new Field(); FieldKey fieldKey = new FieldKey(); fieldKey.SetProgram(BnetProgramId.BNET.GetValue()); fieldKey.SetGroup(2u); fieldKey.SetField(8u); foreach (RichPresenceUpdate richPresenceUpdate in updates) { fieldKey.SetIndex(richPresenceUpdate.presenceFieldIndex); RichPresence richPresence = new RichPresence(); richPresence.SetIndex(richPresenceUpdate.index); richPresence.SetProgramId(richPresenceUpdate.programId); richPresence.SetStreamId(richPresenceUpdate.streamId); Variant variant = new Variant(); variant.SetMessageValue(ProtobufUtil.ToByteArray(richPresence)); field.SetKey(fieldKey); field.SetValue(variant); fieldOperation.SetField(field); updateRequest.SetEntityId(this.m_battleNet.GameAccountId); updateRequest.AddFieldOperation(fieldOperation); } this.PublishField(updateRequest); }
public void SetFieldValue(FieldKey key, FieldOperation operation) { if (!_changedFields.Contains(key)) _changedFields.Add(key); _FieldValues[key] = operation; }
public override string sFOP(FieldOperation fop) { switch (fop) { case FieldOperation.FOP_ALTER: return "MODIFY"; default: return base.sFOP(fop); } }
public void SetFieldValue(FieldKey key, FieldOperation operation) { if (!_changedFields.Contains(key)) { _changedFields.Add(key); } _FieldValues[key] = operation; }
public QueryRule(string field, FieldOperation fieldOperation, object value, LogicalOperation logicalOperation) { ConditionChecker.Requires(string.IsNullOrEmpty(field) == false); ConditionChecker.Requires(value != null); Field = field; FieldOperation = fieldOperation; Value = value; LogicalOperation = logicalOperation; }
public IActionResult Create(int fieldId, FieldOperation operation, int routineCustomActionId) { _context.RoutineCustomActionFields.Add(new Entities.RoutineCustomActionField { FieldId = fieldId, Operation = operation, RoutineCustomActionId = routineCustomActionId }); _context.SaveChanges(); return(RedirectToAction(nameof(Index), new { id = routineCustomActionId })); }
public virtual string sFOP(FieldOperation fop) { switch (fop) { case FieldOperation.FOP_ADD: return("ADD"); case FieldOperation.FOP_ALTER: return("ALTER COLUMN"); case FieldOperation.FOP_DROP: return("DROP COLUMN"); default: throw new ArgumentOutOfRangeException("fop", fop, "ADD/ALTER/DROP"); } }
public FieldOperation AddNextFieldOperation() { if (OperationStack == null) { return(null); } if (OperationStack.Count <= 0) { return(null); } FieldOperation result = GameData.Data.FieldOperations[OperationStack.Pop()]; result.Initialize(); CurrentOperations.Add(result); return(result); }
public void Update(FieldOperation operation) { switch (operation.Operation) { case FieldOperation.Types.OperationType.SET: DoSet(operation.Field); break; case FieldOperation.Types.OperationType.CLEAR: DoClear(operation.Field); break; default: Logger.Warn("No operation type."); break; } }
public void SetPresenceBool(uint field, bool val) { UpdateRequest updateRequest = new UpdateRequest(); FieldOperation fieldOperation = new FieldOperation(); Field field1 = new Field(); FieldKey fieldKey = new FieldKey(); fieldKey.SetProgram(BnetProgramId.WOW.GetValue()); fieldKey.SetGroup(2); fieldKey.SetField(field); bnet.protocol.attribute.Variant variant = new bnet.protocol.attribute.Variant(); variant.SetBoolValue(val); field1.SetKey(fieldKey); field1.SetValue(variant); fieldOperation.SetField(field1); updateRequest.SetEntityId(this.m_battleNet.GameAccountId); updateRequest.AddFieldOperation(fieldOperation); this.PublishField(updateRequest); }
internal static string Get(FieldOperation fieldOperation) { return(FieldOperations[fieldOperation]); }
public override string Complete(string name, FieldOperation fop, string fieldcommand) { if (fop != FieldOperation.FOP_DROP) fieldcommand = String.Format("({0})", fieldcommand); /* [dlatikay 20111007] since it is "ADD (TEST NUMBER(9, 0) NOT NULL);", but it is "DROP COLUMN ORGID_COSTCENTER;" */ return base.Complete(name, fop, fieldcommand); }
public QueryRule(string field, FieldOperation fieldOperation, object value) : this(field, fieldOperation, value, LogicalOperation.And) { }
internal FieldOperationNotAllowedException(string fieldName, FieldOperation operation) : base(ErrorStatus.Forbidden, GetMessage(fieldName, operation)) { }
private string Compile(FieldOperation fieldOperation) { string value = GetValue(fieldOperation.Value); return(String.Format("{0}:{1}", fieldOperation.Field, value)); }
/// <summary> /// Initializes a new instance of the <see cref="FieldListChangedEvent"/> class. /// </summary> /// <param name="operation">The operation.</param> /// <param name="fieldVM">The field vm.</param> /// <param name="propertyName">The property name.</param> public FieldListChangedEvent(FieldOperation operation, ProcessFieldViewModel fieldVM, string propertyName = null) { Operation = operation; FieldViewModel = fieldVM; PropertyName = propertyName; }
public virtual string Complete(string name, FieldOperation fop, string fieldcommand, DateTime ddefault) { return(String.Format(Template, name, sFOP(fop), fieldcommand, "GETUTCDATE()")); }
private static string GetMessage(string fieldName, FieldOperation operation) { return("The '" + fieldName + "' field does not allow the " + operation.ToString().ToLowerInvariant() + " operation."); }
private void DoSet(Field field) { FieldOperation.Builder operation = FieldOperation.CreateBuilder(); Field.Builder returnField = Field.CreateBuilder().SetKey(field.Key); switch ((FieldKeyHelper.Program)field.Key.Program) { case FieldKeyHelper.Program.D3: if (field.Key.Group == 2 && field.Key.Field == 3) //CurrentActivity { returnField.SetValue(field.Value); Logger.Trace("{0} set CurrentActivity to {1}", this, field.Value.IntValue); } else if (field.Key.Group == 2 && field.Key.Field == 4) //Unknown bool { returnField.SetValue(field.Value); Logger.Trace("{0} set CurrentActivity to {1}", this, field.Value.BoolValue); } else if (field.Key.Group == 4 && field.Key.Field == 1) //PartyId { if (field.Value.HasMessageValue) //7727 Sends empty SET instead of a CLEAR -Egris { EntityId entityId = EntityId.ParseFrom(field.Value.MessageValue); Channel channel = ChannelManager.GetChannelByEntityId(entityId); if (LoggedInClient.CurrentChannel != channel) { LoggedInClient.CurrentChannel = channel; returnField.SetValue( Variant.CreateBuilder().SetMessageValue(channel.BnetEntityId.ToByteString()).Build()); Logger.Trace("{0} set channel to {1}", this, channel); } } else { if (LoggedInClient.CurrentChannel != null) { returnField.SetValue(Variant.CreateBuilder().SetMessageValue(ByteString.Empty).Build()); Logger.Warn("Emtpy-field: {0}, {1}, {2}", field.Key.Program, field.Key.Group, field.Key.Field); } } } else if (field.Key.Group == 4 && field.Key.Field == 2) //JoinPermission { //catch to stop Logger.Warn spam on client start and exit // should D3.4.2 int64 Current screen (0=in-menus, 1=in-menus, 3=in-menus); see ScreenStatus sent to ChannelService.UpdateChannelState call /raist if (ScreenStatus.Screen != field.Value.IntValue) { ScreenStatus = ScreenStatus.CreateBuilder().SetScreen((int)field.Value.IntValue).SetStatus(0).Build(); returnField.SetValue(Variant.CreateBuilder().SetIntValue(field.Value.IntValue).Build()); Logger.Trace("{0} set current screen to {1}.", this, field.Value.IntValue); } } else if (field.Key.Group == 4 && field.Key.Field == 3) //CallToArmsMessage { returnField.SetValue(field.Value); } else if (field.Key.Group == 4 && field.Key.Field == 4) //Party IsFull { returnField.SetValue(field.Value); } else if (field.Key.Group == 5 && field.Key.Field == 5) //Game IsPrivate { returnField.SetValue(field.Value); } else { Logger.Warn("GameAccount: Unknown set-field: {0}, {1}, {2} := {3}", field.Key.Program, field.Key.Group, field.Key.Field, field.Value); } break; case FieldKeyHelper.Program.BNet: if (field.Key.Group == 2 && field.Key.Field == 2) // SocialStatus { AwayStatus = (AwayStatusFlag)field.Value.IntValue; returnField.SetValue(Variant.CreateBuilder().SetIntValue((long)AwayStatus).Build()); Logger.Trace("{0} set AwayStatus to {1}.", this, AwayStatus); } else if (field.Key.Group == 2 && field.Key.Field == 8) { returnField.SetValue((field.Value)); } else if (field.Key.Group == 2 && field.Key.Field == 10) // AFK { returnField.SetValue(field.Value); Logger.Trace("{0} set AFK to {1}.", this, field.Value.BoolValue); } else { Logger.Warn("GameAccount: Unknown set-field: {0}, {1}, {2} := {3}", field.Key.Program, field.Key.Group, field.Key.Field, field.Value); } break; } //We only update subscribers on fields that actually change values. if (returnField.HasValue) { operation.SetField(returnField); UpdateSubscribers(Subscribers, new List <FieldOperation> { operation.Build() }); } }
public virtual string Complete(string name, FieldOperation fop, string fieldcommand) { return(String.Format(Template, name, sFOP(fop), fieldcommand)); }
public virtual string Complete(string name, FieldOperation fop, string fieldcommand, string sdefault) { return(String.Format(Template, name, sFOP(fop), fieldcommand, String.Format("N'{0}'", sdefault.Replace("'", "''")))); }
public virtual string Complete(string name, FieldOperation fop, string fieldcommand, int idefault) { return(String.Format(Template, name, sFOP(fop), fieldcommand, idefault.ToString())); }
public void HandlePresenceUpdates(ChannelState channelState, ChannelAPI.ChannelReferenceObject channelRef) { bgs.types.EntityId entityId; entityId.hi = channelRef.m_channelData.m_channelId.High; entityId.lo = channelRef.m_channelData.m_channelId.Low; FieldKey fieldKey = new FieldKey(); fieldKey.SetProgram(BnetProgramId.BNET.GetValue()); fieldKey.SetGroup(1u); fieldKey.SetField(3u); FieldKey fieldKey2 = fieldKey; List <PresenceUpdate> list = new List <PresenceUpdate>(); using (List <FieldOperation> .Enumerator enumerator = channelState.FieldOperationList.GetEnumerator()) { while (enumerator.MoveNext()) { FieldOperation current = enumerator.get_Current(); if (current.Operation == FieldOperation.Types.OperationType.CLEAR) { this.m_presenceCache.SetCache(entityId, current.Field.Key, null); } else { this.m_presenceCache.SetCache(entityId, current.Field.Key, current.Field.Value); } PresenceUpdate presenceUpdate = default(PresenceUpdate); presenceUpdate.entityId = entityId; presenceUpdate.programId = current.Field.Key.Program; presenceUpdate.groupId = current.Field.Key.Group; presenceUpdate.fieldId = current.Field.Key.Field; presenceUpdate.index = current.Field.Key.Index; presenceUpdate.boolVal = false; presenceUpdate.intVal = 0L; presenceUpdate.stringVal = string.Empty; presenceUpdate.valCleared = false; presenceUpdate.blobVal = new byte[0]; if (current.Operation == FieldOperation.Types.OperationType.CLEAR) { presenceUpdate.valCleared = true; bool flag = fieldKey2.Program == current.Field.Key.Program; bool flag2 = fieldKey2.Group == current.Field.Key.Group; bool flag3 = fieldKey2.Field == current.Field.Key.Field; if (flag && flag2 && flag3) { BnetEntityId entityId2 = BnetEntityId.CreateFromEntityId(presenceUpdate.entityId); this.m_battleNet.Friends.RemoveFriendsActiveGameAccount(entityId2, current.Field.Key.Index); } } else if (current.Field.Value.HasBoolValue) { presenceUpdate.boolVal = current.Field.Value.BoolValue; } else if (current.Field.Value.HasIntValue) { presenceUpdate.intVal = current.Field.Value.IntValue; } else if (current.Field.Value.HasStringValue) { presenceUpdate.stringVal = current.Field.Value.StringValue; } else if (current.Field.Value.HasFourccValue) { presenceUpdate.stringVal = new BnetProgramId(current.Field.Value.FourccValue).ToString(); } else if (current.Field.Value.HasEntityidValue) { presenceUpdate.entityIdVal.hi = current.Field.Value.EntityidValue.High; presenceUpdate.entityIdVal.lo = current.Field.Value.EntityidValue.Low; bool flag4 = fieldKey2.Program == current.Field.Key.Program; bool flag5 = fieldKey2.Group == current.Field.Key.Group; bool flag6 = fieldKey2.Field == current.Field.Key.Field; if (flag4 && flag5 && flag6) { BnetEntityId entityId3 = BnetEntityId.CreateFromEntityId(presenceUpdate.entityId); this.m_battleNet.Friends.AddFriendsActiveGameAccount(entityId3, current.Field.Value.EntityidValue, current.Field.Key.Index); } } else if (current.Field.Value.HasBlobValue) { presenceUpdate.blobVal = current.Field.Value.BlobValue; } else { if (!current.Field.Value.HasMessageValue) { continue; } if (current.Field.Key.Field == 8u) { this.FetchRichPresenceResource(current.Field.Value); this.HandleRichPresenceUpdate(presenceUpdate, current.Field.Key); continue; } continue; } list.Add(presenceUpdate); } } list.Reverse(); this.m_presenceUpdates.AddRange(list); }