private static MessagePayload HyperFormatMessage(EveAI.Live.Utility.Contract contract, string IssuerName) { string type; List <string> messageLines = new List <string>(); var message = new MessagePayload(); //messageLines.Add(string.Format(Properties.Settings.Default.MessageFormatLine1, contract.DateIssued.ToString("yyyy-MM-dd hh:mm:ss"))); messageLines.Add(string.Format(Properties.Settings.Default.MessageFormatLine2, IssuerName)); messageLines.Add(string.Format(Properties.Settings.Default.MessageFormatLine3, contract.Reward.ToString())); var startStation = contract.StartStation; var endStation = contract.EndStation; string startStationName = string.Empty; string endStationName = string.Empty; if (startStation == null) { startStationName = Api.GetStation(contract.StartStationID).stationName; } else { startStationName = contract.StartStation.Name; } if (endStation == null) { endStationName = Api.GetStation(contract.EndStationID).stationName; } else { endStationName = contract.EndStation.Name; } try { messageLines.Add(string.Format(Properties.Settings.Default.MessageFormatLine4, startStationName, endStationName)); //, contract.StartStation.Name, contract.EndStation.Name)); } catch (Exception ex) { } messageLines.Add(string.Format(Properties.Settings.Default.MessageFormatLine5, contract.Volume.ToString())); var colour = string.Empty; if (contract.Status == EveAI.Live.Utility.Contract.ContractStatus.Outstanding) { colour = "#FF99C2"; } else { colour = "#A6D785"; } message.Attachments.Add(new MessagePayloadAttachment() { Text = String.Join("\n", messageLines.ToArray()), Title = string.Format(Properties.Settings.Default.MessageFormatLine1, contract.DateIssued.ToString("yyyy-MM-dd hh:mm:ss")), ThumbUrl = "http://www.r3mus.org/Images/logo.png", AuthorName = Properties.Settings.Default.BotName, Colour = colour }); return(message); }
//private static MessagePayload HyperFormatMessage(EveAI.Live.Utility.Contract contract, string IssuerName) //{ // MessagePayload message = new MessagePayload(); // message.Attachments = new List<MessagePayloadAttachment>(); // string type; // List<string> messageLines = new List<string>(); // messageLines.Add(string.Format(Properties.Settings.Default.MessageFormatLine1, contract.DateIssued.ToString("yyyy-MM-dd hh:mm:ss"))); // messageLines.Add(string.Format(Properties.Settings.Default.MessageFormatLine2, IssuerName)); // messageLines.Add(string.Format(Properties.Settings.Default.MessageFormatLine3, contract.Reward.ToString())); // var startStation = contract.StartStation; // var endStation = contract.EndStation; // string startStationName = string.Empty; // string endStationName = string.Empty; // if (startStation == null) // { // startStationName = Api.GetStation(contract.StartStationID).stationName; // } // else // { // startStationName = contract.StartStation.Name; // } // if (endStation == null) // { // endStationName = Api.GetStation(contract.EndStationID).stationName; // } // else // { // endStationName = contract.EndStation.Name; // } // try // { // messageLines.Add(string.Format(Properties.Settings.Default.MessageFormatLine4, startStationName, endStationName)); //, contract.StartStation.Name, contract.EndStation.Name)); // } // catch (Exception ex) { } // messageLines.Add(string.Format(Properties.Settings.Default.MessageFormatLine5, contract.Volume.ToString())); // //message = String.Join("\n", messageLines.ToArray()); // message.Attachments.Add(new MessagePayloadAttachment() // { // Text = String.Join("\n", messageLines.ToArray()), // TitleLink = string.Format(Properties.Settings.Default.StationURL, Api.GetStation(contract.EndStationID).), // Title = "", // ThumbUrl = string.Format(Properties.Settings.Default.StationURL, JKON.EveWho.Api.GetCharacterID(IssuerName), 64.ToString()), // }); // return message; //} private static string FormatMessage(EveAI.Live.Utility.Contract contract, string IssuerName) { string type; List <string> messageLines = new List <string>(); string message = string.Empty; messageLines.Add(string.Format(Properties.Settings.Default.MessageFormatLine1, contract.DateIssued.ToString("yyyy-MM-dd hh:mm:ss"))); messageLines.Add(string.Format(Properties.Settings.Default.MessageFormatLine2, IssuerName)); messageLines.Add(string.Format(Properties.Settings.Default.MessageFormatLine3, contract.Reward.ToString())); var startStation = contract.StartStation; var endStation = contract.EndStation; string startStationName = string.Empty; string endStationName = string.Empty; if (startStation == null) { startStationName = Api.GetStation(contract.StartStationID).stationName; } else { startStationName = contract.StartStation.Name; } if (endStation == null) { endStationName = Api.GetStation(contract.EndStationID).stationName; } else { endStationName = contract.EndStation.Name; } try { messageLines.Add(string.Format(Properties.Settings.Default.MessageFormatLine4, startStationName, endStationName)); //, contract.StartStation.Name, contract.EndStation.Name)); } catch (Exception ex) { } messageLines.Add(string.Format(Properties.Settings.Default.MessageFormatLine5, contract.Volume.ToString())); message = String.Join("\n", messageLines.ToArray()); return(message); }
public ActionResult ContractStatus() { EveApi api; List <EveAI.Live.Utility.Contract> Contracts = new List <EveAI.Live.Utility.Contract>(); Dictionary <long, EveCharacter> Names = new Dictionary <long, EveCharacter>(); List <long> IDs = new List <long>(); DateTime backDate = DateTime.Now.AddDays(-7).Date; try { api = new EveAI.Live.EveApi("Clyde en Marland's Contract Notifier", (long)Properties.Settings.Default.LogisticsCorpAPI, Properties.Settings.Default.LogisticsVCode); Contracts = api.GetCorporationContracts().ToList().Where(contract => (contract.Type == EveAI.Live.Utility.Contract.ContractType.Courier) && (contract.Status != EveAI.Live.Utility.Contract.ContractStatus.Deleted) && ((contract.DateIssued >= backDate) || (contract.Status == EveAI.Live.Utility.Contract.ContractStatus.Outstanding) || (contract.Status == EveAI.Live.Utility.Contract.ContractStatus.InProgress))).ToList(); if (!User.IsInRole("Logistics")) { try { var user = UserManager.FindById(User.Identity.GetUserId()); user.LoadApiKeys(); var apiKeys = user.ApiKeys.GroupBy(apiKey => apiKey.ApiKey).Select(apiKey => apiKey.First()).ToList(); var toons = new List <AccountCharacter>(); apiKeys.ForEach(apiKey => toons.AddRange(JKON.EveWho.EveWho.GetCharacters(apiKey.ApiKey, apiKey.VerificationCode))); Contracts = Contracts.Where(contract => toons.Any(toon => toon.CharacterID.Equals(contract.IssuerID))).ToList(); } catch (Exception ex) { ViewBag.Message(ex.Message); return(RedirectToAction("Index", "LoggedInHome")); } } IDs = Contracts.Select(contract => contract.IssuerID).ToList(); Contracts.ForEach(contract => { if (contract.StartStation == null) { var startStation = Api.GetStation(contract.StartStationID); contract.StartStation = new EveAI.SpaceStation.Station() { Name = startStation.stationName }; } if (contract.EndStation == null) { var endStation = Api.GetStation(contract.EndStationID); contract.EndStation = new EveAI.SpaceStation.Station() { Name = endStation.stationName }; } }); Contracts.Select(contract => contract.IssuerID).ToList().ForEach(id => { if (!Names.ContainsKey(id)) { Names.Add(id, JKON.EveWho.Api.GetCharacter(id)); } }); Contracts.Select(contract => contract.AcceptorID).ToList().ForEach(id => { if (!Names.ContainsKey(id)) { Names.Add(id, JKON.EveWho.Api.GetCharacter(id)); } }); if ((DateTime.Now.Month == 12) && (DateTime.Now.Day > 17) && (DateTime.Now.Day < 25)) { var id = JKON.EveWho.Api.GetCharacterID(User.Identity.Name); var toon1 = JKON.EveWho.Api.GetCharacter(id); var toon2 = JKON.EveWho.Api.GetCorpMembers(Convert.ToInt64(Properties.Settings.Default.CorpAPI), Properties.Settings.Default.VCode).Where(member => member.Name == User.Identity.Name).FirstOrDefault(); var station = new Station() { Name = toon2.Location }; Names.Add(id, toon1); Names.Add(-1, new EveCharacter() { result = new JKON.EveWho.EveCharacter.Models.result() { characterID = -1, characterName = "Hauled By Reindeer (corp)" } }); Names.Add(-2, new EveCharacter() { result = new JKON.EveWho.EveCharacter.Models.result() { characterID = -2, characterName = "Santa Claus" } }); var contract = new EveAI.Live.Utility.Contract() { StartStation = new EveAI.SpaceStation.Station() { Name = "Lapland VI - Santas Workshop", SolarSystem = new EveAI.Map.SolarSystem() { Name = "North Pole" } }, EndStation = station, DateIssued = new DateTime(2015, 12, 15), DateAccepted = new DateTime(2015, 12, 17), AcceptorID = -1, IssuerID = -2, Status = GetStatus(), Volume = 10000, Title = string.Format("Christmas Presents for {0}", toon2.Name) }; if (contract.Status == EveAI.Live.Utility.Contract.ContractStatus.Outstanding) { Contracts.Insert(0, contract); } else if (contract.Status == EveAI.Live.Utility.Contract.ContractStatus.InProgress) { var index = Contracts.Where(c => c.Status == EveAI.Live.Utility.Contract.ContractStatus.Outstanding).Count(); Contracts.Insert(index, contract); } } } catch (Exception ex) { } return(View(new LogisticsContractsViewModel() { DisplayContracts = Contracts, CharacterInfos = Names })); }
public ActionResult ContractStatus() { EveApi api; List<EveAI.Live.Utility.Contract> Contracts = new List<EveAI.Live.Utility.Contract>(); Dictionary<long, EveCharacter> Names = new Dictionary<long, EveCharacter>(); List<long> IDs = new List<long>(); DateTime backDate = DateTime.Now.AddDays(-7).Date; try { api = new EveAI.Live.EveApi("Clyde en Marland's Contract Notifier", (long)Properties.Settings.Default.LogisticsCorpAPI, Properties.Settings.Default.LogisticsVCode); Contracts = api.GetCorporationContracts().ToList().Where(contract => (contract.Type == EveAI.Live.Utility.Contract.ContractType.Courier) && (contract.Status != EveAI.Live.Utility.Contract.ContractStatus.Deleted) && ((contract.DateIssued >= backDate) || (contract.Status == EveAI.Live.Utility.Contract.ContractStatus.Outstanding) || (contract.Status == EveAI.Live.Utility.Contract.ContractStatus.InProgress))).ToList(); if(!User.IsInRole("Logistics")) { try { var user = UserManager.FindById(User.Identity.GetUserId()); user.LoadApiKeys(); var apiKeys = user.ApiKeys.GroupBy(apiKey => apiKey.ApiKey).Select(apiKey => apiKey.First()).ToList(); var toons = new List<AccountCharacter>(); apiKeys.ForEach(apiKey => toons.AddRange(JKON.EveWho.EveWho.GetCharacters(apiKey.ApiKey, apiKey.VerificationCode))); Contracts = Contracts.Where(contract => toons.Any(toon => toon.CharacterID.Equals(contract.IssuerID))).ToList(); } catch(Exception ex) { ViewBag.Message(ex.Message); return RedirectToAction("Index", "LoggedInHome"); } } IDs = Contracts.Select(contract => contract.IssuerID).ToList(); Contracts.ForEach(contract => { if(contract.StartStation == null) { var startStation = Api.GetStation(contract.StartStationID); contract.StartStation = new EveAI.SpaceStation.Station() { Name = startStation.stationName }; } if (contract.EndStation == null) { var endStation = Api.GetStation(contract.EndStationID); contract.EndStation = new EveAI.SpaceStation.Station() { Name = endStation.stationName }; } }); Contracts.Select(contract => contract.IssuerID).ToList().ForEach(id => { if (!Names.ContainsKey(id)) { Names.Add(id, JKON.EveWho.Api.GetCharacter(id)); } }); Contracts.Select(contract => contract.AcceptorID).ToList().ForEach(id => { if (!Names.ContainsKey(id)) { Names.Add(id, JKON.EveWho.Api.GetCharacter(id)); } }); if((DateTime.Now.Month == 12) && (DateTime.Now.Day > 17) && (DateTime.Now.Day < 25)) { var id = JKON.EveWho.Api.GetCharacterID(User.Identity.Name); var toon1 = JKON.EveWho.Api.GetCharacter(id); var toon2 = JKON.EveWho.Api.GetCorpMembers(Convert.ToInt64(Properties.Settings.Default.CorpAPI), Properties.Settings.Default.VCode).Where(member => member.Name == User.Identity.Name).FirstOrDefault(); var station = new Station() { Name = toon2.Location }; Names.Add(id, toon1); Names.Add(-1, new EveCharacter() { result = new JKON.EveWho.EveCharacter.Models.result() { characterID = -1, characterName = "Hauled By Reindeer (corp)" } }); Names.Add(-2, new EveCharacter() { result = new JKON.EveWho.EveCharacter.Models.result() { characterID = -2, characterName = "Santa Claus" } }); var contract = new EveAI.Live.Utility.Contract() { StartStation = new EveAI.SpaceStation.Station() { Name = "Lapland VI - Santas Workshop", SolarSystem = new EveAI.Map.SolarSystem() { Name = "North Pole" } }, EndStation = station, DateIssued = new DateTime(2015, 12, 15), DateAccepted = new DateTime(2015, 12, 17), AcceptorID = -1, IssuerID = -2, Status = GetStatus(), Volume = 10000, Title = string.Format("Christmas Presents for {0}", toon2.Name) }; if (contract.Status == EveAI.Live.Utility.Contract.ContractStatus.Outstanding) { Contracts.Insert(0, contract); } else if(contract.Status == EveAI.Live.Utility.Contract.ContractStatus.InProgress) { var index = Contracts.Where(c => c.Status == EveAI.Live.Utility.Contract.ContractStatus.Outstanding).Count(); Contracts.Insert(index, contract); } } } catch(Exception ex) { } return View(new LogisticsContractsViewModel() { DisplayContracts = Contracts, CharacterInfos = Names }); }