public void Handle(CommandAddRecord command) { var metaData = _context.MetaData .OrderByDescending(m => m.Version) .First(); var action = metaData.ActionInfo .Where(a => a.ActionName == command.ActionName) .Where(a => a.ControllerName == command.ControllerName) .Where(a => ParameterBasicInfo.AreTheSame(command.ParameterInfo, a.ParameterInfo)) .First(); if (action.CallRecords == null) { action.CallRecords = new List <DetailRecord>(); } action.CallRecords.Add(new DetailRecord { CustomValues = command.CustomValues, UserName = command.UserName, TimeStamp = command.TimeStamp }); _context.SaveChanges(); }
private void SaveRecordToDatabase(QueueMessage record) { var metaData = _context.MetaData .OrderByDescending(m => m.Version) .First(); var action = metaData.ActionInfo .Where(a => a.ActionName == record.ActionName) .Where(a => a.ControllerName == record.ControllerName) .Where(a => ParameterBasicInfo.AreTheSame(record.ParameterInfo, a.ParameterInfo)) .FirstOrDefault(); if (action == null) { return; } if (action.CallRecords == null) { action.CallRecords = new List <DetailRecord>(); } action.CallRecords.Add(new DetailRecord { CustomValues = record.CustomValues, UserName = record.UserName, TimeStamp = record.TimeStamp }); _context.SaveChanges(); if (_showConsole) { Console.WriteLine("Wrote a message:" + JsonConvert.SerializeObject(record)); } }
public void Handle(CommandMapFeature command) { var meta = _context.MetaData .OrderByDescending(m => m.Version) .FirstOrDefault(); if (meta == null) { throw new Exception("Load the meta data first!"); } var actionInfo = meta .ActionInfo .Where(a => a.ControllerName == command.ControllerName) .Where(a => a.ActionName == command.ActionName) .Where(a => ParameterBasicInfo.AreTheSame(a.ParameterInfo, command.ParameterBasicInfos)) .SingleOrDefault(); if (actionInfo == null) { throw new Exception(string.Format("Action not found. Meta data need reloaded? [{0},{1},{2}]", command.ControllerName, command.ActionName, string.Join("|", command.ParameterBasicInfos.Select(p => p.ParameterTypeFullName + " " + p.ParameterName)))); } actionInfo.Feature = command.FeatureName; _context.SaveChanges(); }
public void Handle(CommandUpdateFeatures command) { var allActionInfo = _context.MetaData.SelectMany(a => a.ActionInfo); foreach (var kvp in command.FeatureMap) { var actionInfo = allActionInfo.SingleOrDefault(a => a.Id == kvp.Key); if (actionInfo != null) { actionInfo.Feature = kvp.Value; _context.SaveChanges(); } } }
public void Handle(CommandAddNewMetaDataVersion command) { var latestMeta = _context.MetaData.OrderByDescending(m => m.Version).FirstOrDefault(); var version = 1; if (latestMeta != null) { version = latestMeta.Version + 1; } var meta = new MetaData { Version = version }; UpdateMeta(meta); _context.MetaData.Add(meta); _context.SaveChanges(); }