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(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(); }
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(); }