public void ConvertLog(IEncounterLog herosLog, SharedValues sharedValues) { herosLog.Name = sharedValues.Target; herosLog.EncounterDate = sharedValues.LogStart.ToLocalTime(); herosLog.EncounterResult = sharedValues.Success ? "Success" : "Fail"; var time = TimeSpan.FromSeconds(sharedValues.FightDuration); herosLog.EncounterTime = new TimeSpan(time.Days, time.Hours, time.Minutes, time.Seconds); foreach (var sharedValuesPlayerValue in sharedValues.PlayerValues) { var characterStats = new CharacterStatistics() { Name = sharedValuesPlayerValue.Character, DisplayName = sharedValuesPlayerValue.Account.Substring(1), BossDps = Math.Round(sharedValuesPlayerValue.DPSBoss), BossDamage = sharedValuesPlayerValue.TotalBoss, AllDps = Math.Round(sharedValuesPlayerValue.DPSAll), AllDamage = sharedValuesPlayerValue.TotalAll, Down = sharedValuesPlayerValue.Down.ToString(), Role = sharedValuesPlayerValue.Profession, }; if (sharedValuesPlayerValue.Dead && sharedValuesPlayerValue.FightDurationPlayer < sharedValues.FightDuration) { var percent = (sharedValuesPlayerValue.FightDurationPlayer / sharedValues.FightDuration * 100).ToString("0"); var timeOfDead = TimeSpan.FromSeconds(sharedValuesPlayerValue.FightDurationPlayer); characterStats.Dead = $"{timeOfDead.Minutes}m {timeOfDead.Seconds}s ({percent}% alive)"; } AddSkills(sharedValuesPlayerValue.Skills, characterStats); herosLog.CharacterStatistics.Add(characterStats); } herosLog.BossDps = Math.Round(sharedValues.PlayerValues.Sum(i => i.TotalBoss) / sharedValues.FightDuration); herosLog.AllDps = Math.Round(sharedValues.PlayerValues.Sum(i => i.TotalAll) / sharedValues.FightDuration); }
public void Upload(IEncounterLog log) { var restClient = new RestClient("https://www.dps.report"); var restRequest = new RestRequest("/uploadContent?json=1"); restRequest.Method = Method.POST; restRequest.AddFile("file", log.EvtcPath); var restResponse = restClient.Execute(restRequest); if (restResponse.ResponseStatus == ResponseStatus.Completed && restResponse.StatusCode == HttpStatusCode.OK) { log.ReportUploadComplete = true; dynamic json = SimpleJson.DeserializeObject(restResponse.Content); log.ReportUrl = json["permalink"].ToString(); _messageBus.SendMessage(new UploadedEncounterMessage(log)); } else { log.ReportUploadComplete = false; _messageBus.SendMessage(new LogMessage($"{restResponse.StatusCode} - {restResponse.Content}")); } }
public void Upload(IEncounterLog log) { var restClient = new RestClient("https://www.gw2raidar.com"); var restRequest = new RestRequest("/api/upload.json"); restRequest.Method = Method.POST; restRequest.AddFile("file", log.EvtcPath); restRequest.AddParameter("username", Settings.Default.RaidarUser); restRequest.AddParameter("password", Settings.Default.RaidarPassword.Unprotect()); var restResponse = restClient.Execute(restRequest); if (restResponse.ResponseStatus == ResponseStatus.Completed && restResponse.StatusCode == HttpStatusCode.OK) { log.RaidarUploadComplete = true; _messageBus.SendMessage(new UploadedReportMessage(log)); } else { log.RaidarUploadComplete = false; _messageBus.SendMessage(new LogMessage($"{restResponse.StatusCode} - {restResponse.Content}")); } }
public UploadedEncounterMessage(IEncounterLog encounterLog) { EncounterLog = encounterLog; }
public UpdatedEncounterMessage(IEncounterLog encounterLog) { EncounterLog = encounterLog; }
public NewEncounterMessage(IEncounterLog encounterLog) { EncounterLog = encounterLog; }
public void CreateRaidHerosFile(IEncounterLog encounterLog) { _encounterLog = encounterLog; _logfileParser.ParseLogfile(encounterLog.Name, encounterLog.EvtcPath, GetOutputDir(_directoryName), _directoryName); }
public UploadedReportMessage(IEncounterLog encounterLog) { EncounterLog = encounterLog; }
public void Upload(IEncounterLog log) { DiscClient.client.SendMessageAsync(DiscClient.channel, null, false, embed); }
public void AddReport(IEncounterLog log) { embed.AddField(log.Name, log.ReportUrl, false); }