public void Delete(StatisticsEntry entry) { using (var context = new MillionaireContext()) { context.Entry(entry).State = EntityState.Deleted; } }
/// <summary> /// Tworzy zestaw informacji niezbędnych do odnotowania w statystykach informacji o requeście klienta i o wysłanym do niego w odpowiedzi obiekcie multimedialnym. /// </summary> /// <param name="selectionParams">Parametry opisujące request, na podstawie których został wybrany odpowiedni obiekt multimedialny</param> /// <param name="multimediaObject">Wybrany obiekt multimedialny (który zostanie zwrócony klientowi jako odpowiedź na jego request)</param> /// <param name="clicked">Stat wpisu - przekierowanie / wyswietlenie</param> public StatisticsEntry CreateStatisticsEntry(MultimediaObjectsSelectionParams selectionParams, AdFile multimediaObject, bool clicked = false) { if (selectionParams == null || multimediaObject == null) { return(null); } var result = new StatisticsEntry(); var userId = _repositories.DeviceRepository.Devices.Single(it => it.Id == selectionParams.ID).UserId; var statistics = new Statistic { DeviceId = selectionParams.ID, UserId = userId, RequestDate = selectionParams.RequestDate, ResponseDate = DateTime.Now, SessionId = selectionParams.SessionId, Data1 = selectionParams.Data0, Data2 = selectionParams.Data1, Data3 = selectionParams.Data2, Data4 = selectionParams.Data3, MultimediaObjectId = multimediaObject.ID, RequestSource = selectionParams.RequestSource, CampaignId = multimediaObject.CmpId, RequestIP = selectionParams.RequestIP }; result.Statistics = statistics; var now = DateTime.Now; // szukamy kampanii, do których należy obiekt multimedialny var mmObject = _repositories.MultimediaObjectRepository.MultimediaObjects.Single(it => it.Id == multimediaObject.ID); var cmps = mmObject.Campaigns.Select(it => new SelectedMultimediaObjectCampaign { CampaignId = it.Id, IsActiveCampaign = it.IsActive, PriorityCode = it.Priority.Code, CampaignStartDate = it.StartDate, CampaignEndDate = it.EndDate }); var campaignsId = cmps.Select(it => it.CampaignId); // bierzemy tylko te kategorie, do których należą wybrane kampanie var categories = mmObject.Campaigns .SelectMany(it => it.Categories) .Distinct(); result.Categories = categories.Select(it => new { it.Code, it.Id }).ToDictionary(it => it.Code, it => it.Id); var cmp = mmObject.Campaigns.FirstOrDefault(); if (cmp != null) { result.Statistics.AdPoints = clicked ? cmp.ClickValue : cmp.ViewValue; } result.Statistics.Clicked = clicked; return(result); }
private void AddToDatabase(StatisticsEntry newStatistic) { using (DatabaseContext dbContext = new DatabaseContext()) { Statistics newEntity = Mapper.Map <StatisticsEntry, Statistics>(newStatistic); dbContext.Statistics.Add(newEntity); dbContext.SaveChanges(); } }
public void Write(StatisticsEntry statistics) { lock (LockObject) { try { _buffer.AppendLine(statistics.Title + " : " + statistics.Message); } catch (Exception ex) { EventLog.WriteEntry("ListLogStatisticsWriter", ex.Message + Environment.NewLine + ex, EventLogEntryType.Warning); } } }
private StatisticsEntry GetAddStatisticsEntry(string userName) { if (!statistics.ContainsKey(userName)) { StatisticsEntry entry = new StatisticsEntry(); entry.userName = userName; statistics.Add(userName, entry); return(entry); } else { return(statistics[userName]); } }
public void Update(StatisticsEntry entry) { using (var context = new MillionaireContext()) { var question = context.Questions.Where(q => q.QuestionID == entry.QuestionID) .Include(q => q.Answers).FirstOrDefault(); int i = 0; foreach (var child in question.Answers) { context.Entry(child).Entity.TimesSelected = entry.Question.Answers[i++].TimesSelected; context.Entry(child).State = EntityState.Modified; } context.SaveChanges(); } }
public void RequestParamsAreCompleteAndOK() { var repositories = CreateMocks(); ///zmienna przechowująca poprzednio pobrany obiekt AdFile previousMultimediaObject = null; ///zmienna przechowująca poprzednio wygenerowaną statystykę StatisticsEntry previousStatisticsEntry = null; ///request dla metody wyszukującej obiekt multimedialny var request = CreateRequest(); var itemCount = 4; for (var i = 0; i < itemCount; i++) { CheckMethods(repositories, ref previousMultimediaObject, ref previousStatisticsEntry, request); } }
public void Run([NotNull] string directory, [NotNull] string districtDefinitionJsonPath) { DirectoryInfo di = new DirectoryInfo(directory); var subdirs = di.GetDirectories(); List <StatisticsEntry> entries = new List <StatisticsEntry>(); foreach (var subdir in subdirs) { var files = subdir.GetFiles("*.json"); foreach (var file in files) { string json = File.ReadAllText(file.FullName); HouseCreationAndCalculationJob jcs = JsonConvert.DeserializeObject <HouseCreationAndCalculationJob>(json); var e = new StatisticsEntry(file.FullName, jcs, subdir.Name); entries.Add(e); } var database = subdir.GetFiles("*.db3").ToList(); if (database.Count != 1) { throw new LPGException("No database found"); } //string connectionString = "Data Source=" + database[0].FullName; //Simulator sim = new Simulator(connectionString); //todo: fix //foreach (StatisticsEntry entry in entries) { // var house = sim.Houses.FindByJsonReference(entry.hou); // if (house != null) { // entry.HouseholdCount = house.Households.Count; // entry.TotalPersonCount = house.Households.Sum(x => x.CalcObject?.AllPersons.Count ?? 0); // } //} } //ReadSourceData(entries, districtDefinitionJsonPath); StreamWriter sw = new StreamWriter(di.CombineName("Statistics.csv")); sw.WriteLine("Calc Definition;Name;HouseGuid;Directory;Real Persons;Real Households;Planned Persons;Planned Households;Source File"); foreach (StatisticsEntry statisticsEntry in entries) { sw.WriteLine(statisticsEntry.GetCsvLine()); } sw.Close(); }
private static StatisticsEntry[] ReadStatisticsEntryArray(PacketDataReader reader, int length = 0) { if (length == 0) { length = reader.Read <VarInt>(); } var array = new StatisticsEntry[length]; for (var i = 0; i < array.Length; i++) { array[i] = new StatisticsEntry { StatisticsName = reader.Read <string>(), Value = reader.Read <VarInt>() } } ; return(array); }
public void RequestParamIsIncomplete() { ///przypadek, kiedy w obiekcie requesta są wypełnione tylko niezbędne pola var request = new ADEngineMultimediaSelectionAlgorythm.MultimediaObjectSelection.MultimediaObjectsSelectionParams(); //request.CategoryCodes = new string[] { "MED", "MTR" }; //request.Width = 250; //request.Height = 250; //request.SessionId = Guid.NewGuid().ToString(); var repositories = CreateMocks(); ///zmienna przechowująca poprzednio pobrany obiekt AdFile previousMultimediaObject = null; ///zmienna przechowująca poprzednio wygenerowaną statystykę StatisticsEntry previousStatisticsEntry = null; var mos = new ADEngineMultimediaSelectionAlgorythm.MultimediaObjectSelection(repositories); var itemCount = 4; for (var i = 0; i < itemCount; i++) { CheckMethods(repositories, ref previousMultimediaObject, ref previousStatisticsEntry, request); } }
public void ProcessRequest(MIGClientRequest request, MIGInterfaceCommand migcmd) { //SQLiteCommand dbcmd = _dbconnection.CreateCommand(); switch (migcmd.command) { case "Global.CounterTotal": migcmd.response = JsonHelper.GetSimpleResponse(_hg.Statistics.GetTotalCounter(migcmd.GetOption(0), 3600).ToString("0.000", System.Globalization.CultureInfo.InvariantCulture)); break; case "Global.TimeRange": StatisticsEntry totalrange = _hg.Statistics.GetStartDate(); migcmd.response = "[{ StartTime : '" + ((totalrange.TimeStart.Ticks - 621355968000000000) / 10000D).ToString("0.000", System.Globalization.CultureInfo.InvariantCulture) + "', EndTime : '" + ((totalrange.TimeEnd.Ticks - 621355968000000000) / 10000D).ToString("0.000", System.Globalization.CultureInfo.InvariantCulture) + "' }]"; break; case "Database.Reset": _hg.Statistics.DatabaseReset(); break; case "Parameter.List": var pdomain = ""; var paddress = ""; var pfilter = migcmd.GetOption(0).Split(':'); if (pfilter.Length == 2) { pdomain = pfilter[0]; paddress = pfilter[1]; } migcmd.response = "["; foreach (string sp in _hg.Statistics.GetParametersList(pdomain, paddress)) { migcmd.response += " '"+ sp + "',\n"; } migcmd.response = migcmd.response.TrimEnd(',', '\n'); migcmd.response += "\n]"; break; case "Parameter.Counter": var cdomain = ""; var caddress = ""; var cfilter = migcmd.GetOption(1).Split(':'); if (cfilter.Length == 2) { cdomain = cfilter[0]; caddress = cfilter[1]; } // migcmd.response = "["; migcmd.response += "[ "; // List <StatisticsEntry> hoursaverage = new List <StatisticsEntry>(); hoursaverage = _hg.Statistics.GetHourlyCounter(cdomain, caddress, migcmd.GetOption(0), 3600);; // for (int h = 0; h < 24; h++) { StatisticsEntry firstentry = null; if (hoursaverage != null && hoursaverage.Count > 0) { firstentry = hoursaverage.Find(se => se.TimeStart.ToLocalTime().Hour == h); } // if (firstentry != null) { double sum = 0; sum = (double)(hoursaverage.FindAll(se => se.TimeStart.ToLocalTime().Hour == h).Sum(se => se.Value)); // date is normalized to the current date, time info is preserved from original data entry DateTime d = DateTime.Parse(DateTime.Now.ToString("yyyy-MM-dd") + " " + h.ToString("00") + ":00:00"); migcmd.response += "[" + ((d.Ticks - 621355968000000000) / 10000D).ToString("0.000", System.Globalization.CultureInfo.InvariantCulture) + "," + sum.ToString("0.000", System.Globalization.CultureInfo.InvariantCulture) + "],"; } else { DateTime d = DateTime.Parse(DateTime.Now.ToString("yyyy-MM-dd") + " " + h.ToString("00") + ":00:00"); migcmd.response += "[" + ((d.Ticks - 621355968000000000) / 10000D).ToString("0.000", System.Globalization.CultureInfo.InvariantCulture) + ",0.000],"; } } migcmd.response = migcmd.response.TrimEnd(','); migcmd.response += " ]"; migcmd.response += "]"; break; case "Parameter.StatsHour": var domain = ""; var address = ""; var filter = migcmd.GetOption(1).Split(':'); if (filter.Length == 2) { domain = filter[0]; address = filter[1]; } // migcmd.response = "["; // List <StatisticsEntry>[] hoursaverages = new List <StatisticsEntry> [5]; hoursaverages[0] = _hg.Statistics.GetHourlyStats(domain, address, migcmd.GetOption(0), "Min"); hoursaverages[1] = _hg.Statistics.GetHourlyStats(domain, address, migcmd.GetOption(0), "Max"); hoursaverages[2] = _hg.Statistics.GetHourlyStats(domain, address, migcmd.GetOption(0), "Avg"); hoursaverages[3] = _hg.Statistics.GetHourlyStats24(domain, address, migcmd.GetOption(0), "Avg"); if (migcmd.GetOption(0) == Properties.METER_WATTS) { hoursaverages[4] = _hg.Statistics.GetTodayDetail(domain, address, migcmd.GetOption(0), "Sum"); } else { hoursaverages[4] = _hg.Statistics.GetTodayDetail(domain, address, migcmd.GetOption(0), "Avg"); } // for (int x = 0; x < 4; x++) { migcmd.response += "[ "; for (int h = 0; h < 24; h++) { StatisticsEntry firstentry = null; if (hoursaverages[x] != null && hoursaverages[x].Count > 0) { if (migcmd.GetOption(0) == Properties.METER_WATTS) { firstentry = hoursaverages[x].Find(se => se.TimeStart.ToLocalTime().Hour == h && se.Value > 0); } else { firstentry = hoursaverages[x].Find(se => se.TimeStart.ToLocalTime().Hour == h); } } // if (firstentry != null) { double sum = 0; switch (x) { case 0: if (migcmd.GetOption(0) == Properties.METER_WATTS) { sum = (double)(hoursaverages[x].FindAll(se => se.TimeStart.ToLocalTime().Hour == h && se.Value > 0).Min(se => se.Value)); } else { sum = (double)(hoursaverages[x].FindAll(se => se.TimeStart.ToLocalTime().Hour == h).Min(se => se.Value)); } break; case 1: sum = (double)(hoursaverages[x].FindAll(se => se.TimeStart.ToLocalTime().Hour == h).Max(se => se.Value)); break; case 2: if (migcmd.GetOption(0) == Properties.METER_WATTS) { sum = (double)(hoursaverages[x].FindAll(se => se.TimeStart.ToLocalTime().Hour == h && se.Value > 0).Average(se => se.Value)); } else { sum = (double)(hoursaverages[x].FindAll(se => se.TimeStart.ToLocalTime().Hour == h).Average(se => se.Value)); } break; case 3: if (migcmd.GetOption(0) == Properties.METER_WATTS) { sum = (double)(hoursaverages[x].FindAll(se => se.TimeStart.ToLocalTime().Hour == h && se.Value > 0).Average(se => se.Value)); } else { sum = (double)(hoursaverages[x].FindAll(se => se.TimeStart.ToLocalTime().Hour == h).Average(se => se.Value)); } break; } // date is normalized to the current date, time info is preserved from original data entry DateTime d = DateTime.Parse(DateTime.Now.ToString("yyyy-MM-dd") + " " + h.ToString("00") + ":00:00"); migcmd.response += "[" + ((d.Ticks - 621355968000000000) / 10000D).ToString("0.000", System.Globalization.CultureInfo.InvariantCulture) + "," + sum.ToString("0.000", System.Globalization.CultureInfo.InvariantCulture) + "],"; } else { DateTime d = DateTime.Parse(DateTime.Now.ToString("yyyy-MM-dd") + " " + h.ToString("00") + ":00:00"); migcmd.response += "[" + ((d.Ticks - 621355968000000000) / 10000D).ToString("0.000", System.Globalization.CultureInfo.InvariantCulture) + ",0.000],"; } } migcmd.response = migcmd.response.TrimEnd(','); migcmd.response += " ],"; } // migcmd.response += "[ "; foreach (StatisticsEntry se in hoursaverages[4]) { DateTime d = DateTime.Parse(DateTime.Now.ToString("yyyy-MM-dd") + " " + se.TimeStart.ToLocalTime().ToString("HH:mm:ss.ffffff")); migcmd.response += "[" + ((d.Ticks - 621355968000000000) / 10000D).ToString("0.000", System.Globalization.CultureInfo.InvariantCulture) + "," + se.Value.ToString("0.000", System.Globalization.CultureInfo.InvariantCulture) + "],"; } migcmd.response = migcmd.response.TrimEnd(','); migcmd.response += " ]"; // migcmd.response += "]"; break; } }
public void ProcessRequest(MIGClientRequest request, MIGInterfaceCommand migCommand) { string domain = ""; string address = ""; int domainSeparator = 0; DateTime dateStart, dateEnd; switch (migCommand.Command) { case "Global.CounterTotal": var counter = homegenie.Statistics.GetTotalCounter(migCommand.GetOption(0), 3600); migCommand.Response = JsonHelper.GetSimpleResponse(counter.ToString("0.000", System.Globalization.CultureInfo.InvariantCulture)); break; case "Global.TimeRange": var totalRange = homegenie.Statistics.GetDateRange(); migCommand.Response = "[{ StartTime : '" + DateToJavascript(totalRange.TimeStart).ToString("0.000", System.Globalization.CultureInfo.InvariantCulture) + "', EndTime : '" + DateToJavascript(totalRange.TimeEnd).ToString("0.000", System.Globalization.CultureInfo.InvariantCulture) + "' }]"; break; case "Database.Reset": homegenie.Statistics.ResetDatabase(); break; case "Configuration.Get": // Just one at the moment. migCommand.Response = "[{ StatisticsUIRefreshSeconds : '" + homegenie.SystemConfiguration.HomeGenie.Statistics.StatisticsUIRefreshSeconds + "' }]"; break; case "Parameter.List": domainSeparator = migCommand.GetOption(0).LastIndexOf(":"); if (domainSeparator > 0) { domain = migCommand.GetOption(0).Substring(0, domainSeparator); address = migCommand.GetOption(0).Substring(domainSeparator + 1); } migCommand.Response = "["; foreach (string statParameter in homegenie.Statistics.GetParametersList(domain, address)) { migCommand.Response += " '"+ statParameter + "',\n"; } migCommand.Response = migCommand.Response.TrimEnd(',', '\n'); migCommand.Response += "\n]"; break; case "Parameter.Counter": domainSeparator = migCommand.GetOption(1).LastIndexOf(":"); if (domainSeparator > 0) { domain = migCommand.GetOption(1).Substring(0, domainSeparator); address = migCommand.GetOption(1).Substring(domainSeparator + 1); } // migCommand.Response = "["; migCommand.Response += "[ "; // var hoursAverage = new List <StatisticsEntry>(); dateStart = JavascriptToDate(long.Parse(migCommand.GetOption(2))); dateEnd = JavascriptToDate(long.Parse(migCommand.GetOption(3))); hoursAverage = homegenie.Statistics.GetHourlyCounter(domain, address, migCommand.GetOption(0), 3600, dateStart, dateEnd); // for (int h = 0; h < 24; h++) { StatisticsEntry firstEntry = null; if (hoursAverage != null && hoursAverage.Count > 0) { firstEntry = hoursAverage.Find(se => se.TimeStart.ToLocalTime().Hour == h); } // if (firstEntry != null) { double sum = 0; sum = (double)(hoursAverage.FindAll(se => se.TimeStart.ToLocalTime().Hour == h).Sum(se => se.Value)); // date is normalized to the current date, time info is preserved from original data entry var date = DateTime.Parse(DateTime.Now.ToString("yyyy-MM-dd") + " " + h.ToString("00") + ":00:00"); migCommand.Response += "[" + DateToJavascript(date).ToString("0.000", System.Globalization.CultureInfo.InvariantCulture) + "," + sum.ToString("0.000", System.Globalization.CultureInfo.InvariantCulture) + "],"; } else { var date = DateTime.Parse(DateTime.Now.ToString("yyyy-MM-dd") + " " + h.ToString("00") + ":00:00"); migCommand.Response += "[" + DateToJavascript(date).ToString("0.000", System.Globalization.CultureInfo.InvariantCulture) + ",0.000],"; } } migCommand.Response = migCommand.Response.TrimEnd(','); migCommand.Response += " ]"; migCommand.Response += "]"; break; case "Parameter.StatsHour": domainSeparator = migCommand.GetOption(1).LastIndexOf(":"); if (domainSeparator > 0) { domain = migCommand.GetOption(1).Substring(0, domainSeparator); address = migCommand.GetOption(1).Substring(domainSeparator + 1); } // migCommand.Response = "["; // dateStart = JavascriptToDate(long.Parse(migCommand.GetOption(2))); dateEnd = JavascriptToDate(long.Parse(migCommand.GetOption(3))); var hoursAverages = new List <StatisticsEntry> [5]; hoursAverages[0] = homegenie.Statistics.GetHourlyStats(domain, address, migCommand.GetOption(0), "Min", dateStart, dateEnd); hoursAverages[1] = homegenie.Statistics.GetHourlyStats(domain, address, migCommand.GetOption(0), "Max", dateStart, dateEnd); hoursAverages[2] = homegenie.Statistics.GetHourlyStats(domain, address, migCommand.GetOption(0), "Avg", dateStart, dateEnd); hoursAverages[3] = homegenie.Statistics.GetHourlyStatsToday(domain, address, migCommand.GetOption(0), "Avg"); if (migCommand.GetOption(0).StartsWith(Properties.METER_ANY)) { hoursAverages[4] = homegenie.Statistics.GetTodayDetail(domain, address, migCommand.GetOption(0), "Sum"); } else { hoursAverages[4] = homegenie.Statistics.GetTodayDetail(domain, address, migCommand.GetOption(0), "Avg"); } // for (int x = 0; x < 4; x++) { migCommand.Response += "[ "; for (int h = 0; h < 24; h++) { StatisticsEntry firstEntry = null; if (hoursAverages[x] != null && hoursAverages[x].Count > 0) { if (migCommand.GetOption(0).StartsWith(Properties.METER_ANY)) { firstEntry = hoursAverages[x].Find(se => se.TimeStart.ToLocalTime().Hour == h && se.Value > 0); } else { firstEntry = hoursAverages[x].Find(se => se.TimeStart.ToLocalTime().Hour == h); } } // if (firstEntry != null) { double sum = 0; switch (x) { case 0: if (migCommand.GetOption(0).StartsWith(Properties.METER_ANY)) { sum = (double)(hoursAverages[x].FindAll(se => se.TimeStart.ToLocalTime().Hour == h && se.Value > 0).Min(se => se.Value)); } else { sum = (double)(hoursAverages[x].FindAll(se => se.TimeStart.ToLocalTime().Hour == h).Min(se => se.Value)); } break; case 1: sum = (double)(hoursAverages[x].FindAll(se => se.TimeStart.ToLocalTime().Hour == h).Max(se => se.Value)); break; case 2: if (migCommand.GetOption(0).StartsWith(Properties.METER_ANY)) { sum = (double)(hoursAverages[x].FindAll(se => se.TimeStart.ToLocalTime().Hour == h && se.Value > 0).Average(se => se.Value)); } else { sum = (double)(hoursAverages[x].FindAll(se => se.TimeStart.ToLocalTime().Hour == h).Average(se => se.Value)); } break; case 3: if (migCommand.GetOption(0).StartsWith(Properties.METER_ANY)) { sum = (double)(hoursAverages[x].FindAll(se => se.TimeStart.ToLocalTime().Hour == h && se.Value > 0).Average(se => se.Value)); } else { sum = (double)(hoursAverages[x].FindAll(se => se.TimeStart.ToLocalTime().Hour == h).Average(se => se.Value)); } break; } // date is normalized to the current date, time info is preserved from original data entry var date = DateTime.Parse(DateTime.Now.ToString("yyyy-MM-dd") + " " + h.ToString("00") + ":00:00"); migCommand.Response += "[" + DateToJavascript(date).ToString("0.000", System.Globalization.CultureInfo.InvariantCulture) + "," + sum.ToString("0.000", System.Globalization.CultureInfo.InvariantCulture) + "],"; } else { var date = DateTime.Parse(DateTime.Now.ToString("yyyy-MM-dd") + " " + h.ToString("00") + ":00:00"); migCommand.Response += "[" + DateToJavascript(date).ToString("0.000", System.Globalization.CultureInfo.InvariantCulture) + ",0.000],"; } } migCommand.Response = migCommand.Response.TrimEnd(','); migCommand.Response += " ],"; } // migCommand.Response += "[ "; foreach (var entry in hoursAverages[4]) { var date = DateTime.Parse(DateTime.Now.ToString("yyyy-MM-dd") + " " + entry.TimeStart.ToLocalTime().ToString("HH:mm:ss.ffffff")); migCommand.Response += "[" + DateToJavascript(date).ToString("0.000", System.Globalization.CultureInfo.InvariantCulture) + "," + entry.Value.ToString("0.000", System.Globalization.CultureInfo.InvariantCulture) + "],"; } migCommand.Response = migCommand.Response.TrimEnd(','); migCommand.Response += " ]"; // migCommand.Response += "]"; break; case "Parameter.StatsDay": domainSeparator = migCommand.GetOption(1).LastIndexOf(":"); if (domainSeparator > 0) { domain = migCommand.GetOption(1).Substring(0, domainSeparator); address = migCommand.GetOption(1).Substring(domainSeparator + 1); } // migCommand.Response = "["; // dateStart = JavascriptToDate(long.Parse(migCommand.GetOption(2))); dateEnd = JavascriptToDate(long.Parse(migCommand.GetOption(3))); var daysAverages = new List <StatisticsEntry> [1]; daysAverages[0] = homegenie.Statistics.GetHourlyStats(domain, address, migCommand.GetOption(0), "", dateStart, dateEnd); migCommand.Response += "[ "; foreach (var entry in daysAverages[0]) { migCommand.Response += "[" + DateToJavascriptLocal(entry.TimeStart).ToString("0.000", System.Globalization.CultureInfo.InvariantCulture) + "," + entry.Value.ToString("0.000", System.Globalization.CultureInfo.InvariantCulture) + "],"; } migCommand.Response = migCommand.Response.TrimEnd(','); migCommand.Response += " ]"; // migCommand.Response += "]"; break; case "Parameter.StatDelete": migCommand.Response = "["; var dateText = migCommand.GetOption(0).Replace('.', ','); dateStart = JavascriptToDateUtc(double.Parse(dateText)); var responseDelete = homegenie.Statistics.DeleteStat(dateStart, migCommand.GetOption(1)); migCommand.Response += "[Response," + responseDelete + "]"; migCommand.Response += "]"; break; } }
private void CheckMethods(RepositorySet repositories, ref AdFile previousMultimediaObject, ref StatisticsEntry previousStatisticsEntry, ADEngineMultimediaSelectionAlgorythm.MultimediaObjectSelection.MultimediaObjectsSelectionParams request) { var now = DateTime.Now; var mos = new ADEngineMultimediaSelectionAlgorythm.MultimediaObjectSelection(repositories); List <string> validationErrors = null; ///wyszukanie i pobranie obiektu do wyświetlenia var mo1 = mos.FindMultimediaObject(request, FILESTREAM_OPTION, out validationErrors); ///pobranie wygenerowanej statystyki var se1 = mos.CreateStatisticsEntry(request, mo1); ///zapis statystyki do "bazy" //MockData.Statistics.Add(se1.Statistics); repositories = CreateMocks(); if (fetchedFiles == null) { fetchedFiles = new List <AdFile>(); } ///zapamietujemy otrzymany obiekt fetchedFiles.Add(mo1); ///czy obiekt nie jest nullem Assert.IsNotNull(mo1); Assert.IsNotNull(se1); if (mo1 != null && se1 != null) { ///czy zgadza się rozmiar //Assert.AreEqual(request.Width, mo1.Width); //Assert.AreEqual(request.Height, mo1.Height); ///czy zgadza się nośnik //Assert.AreEqual(request.Referrer, se1.Statistics.Referrer); ///czy kampanie i kategorie nie są nullem Assert.IsNotNull(se1.SelectedMultimediaObjectCampaigns); Assert.IsNotNull(se1.Categories); ///czy obiekt jest różny od poprzednio pobranego obiektu if (previousMultimediaObject != null) { Assert.AreNotEqual(mo1.ID, previousMultimediaObject.ID); } if (se1.SelectedMultimediaObjectCampaigns != null) { foreach (var c in se1.SelectedMultimediaObjectCampaigns) { Assert.IsTrue(c.IsActiveCampaign); Assert.IsTrue(c.CampaignStartDate <= now); Assert.IsTrue(c.CampaignEndDate >= now); } } if (se1.Categories != null) { //if (request.CategoryCodes.Length <= se1.Categories.Count) //{ // for (var i = 0; i < request.CategoryCodes.Length; i++) // { // Assert.IsTrue(se1.Categories.ContainsKey(request.CategoryCodes[i])); // } //} //else //{ // foreach (var c in se1.Categories) // { // Assert.IsTrue(request.CategoryCodes.ToList().Contains(c.Key)); // } //} } if (firstObject == null) { firstObject = mo1; } else { var previousStatus = previousStatisticsEntry.SelectedMultimediaObjectCampaigns.Max(x => x.PriorityCode); var currentStatus = se1.SelectedMultimediaObjectCampaigns.Max(x => x.PriorityCode); if (mo1.ID != firstObject.ID) { Assert.IsTrue(previousStatus >= currentStatus); } } previousMultimediaObject = mo1; previousStatisticsEntry = se1; } }
public HttpResponseMessage PostNewStatistic(StatisticsEntry newStatistic) { AddToDatabase(newStatistic); return(Request.CreateResponse(HttpStatusCode.Created)); }
public void ProcessRequest(MIGClientRequest request, MIGInterfaceCommand migCommand) { string domain = ""; string address = ""; string[] filterList; switch (migCommand.Command) { case "Global.CounterTotal": migCommand.Response = JsonHelper.GetSimpleResponse(homegenie.Statistics.GetTotalCounter(migCommand.GetOption(0), 3600).ToString("0.000", System.Globalization.CultureInfo.InvariantCulture)); break; case "Global.TimeRange": var totalRange = homegenie.Statistics.GetStartDate(); migCommand.Response = "[{ StartTime : '" + ((totalRange.TimeStart.Ticks - 621355968000000000) / 10000D).ToString("0.000", System.Globalization.CultureInfo.InvariantCulture) + "', EndTime : '" + ((totalRange.TimeEnd.Ticks - 621355968000000000) / 10000D).ToString("0.000", System.Globalization.CultureInfo.InvariantCulture) + "' }]"; break; case "Database.Reset": homegenie.Statistics.DatabaseReset(); break; case "Parameter.List": filterList = migCommand.GetOption(0).Split(':'); if (filterList.Length == 2) { domain = filterList[0]; address = filterList[1]; } migCommand.Response = "["; foreach (string statParameter in homegenie.Statistics.GetParametersList(domain, address)) { migCommand.Response += " '"+ statParameter + "',\n"; } migCommand.Response = migCommand.Response.TrimEnd(',', '\n'); migCommand.Response += "\n]"; break; case "Parameter.Counter": filterList = migCommand.GetOption(1).Split(':'); if (filterList.Length == 2) { domain = filterList[0]; address = filterList[1]; } // migCommand.Response = "["; migCommand.Response += "[ "; // var hoursAverage = new List <StatisticsEntry>(); hoursAverage = homegenie.Statistics.GetHourlyCounter(domain, address, migCommand.GetOption(0), 3600);; // for (int h = 0; h < 24; h++) { StatisticsEntry firstEntry = null; if (hoursAverage != null && hoursAverage.Count > 0) { firstEntry = hoursAverage.Find(se => se.TimeStart.ToLocalTime().Hour == h); } // if (firstEntry != null) { double sum = 0; sum = (double)(hoursAverage.FindAll(se => se.TimeStart.ToLocalTime().Hour == h).Sum(se => se.Value)); // date is normalized to the current date, time info is preserved from original data entry var date = DateTime.Parse(DateTime.Now.ToString("yyyy-MM-dd") + " " + h.ToString("00") + ":00:00"); migCommand.Response += "[" + ((date.Ticks - 621355968000000000) / 10000D).ToString("0.000", System.Globalization.CultureInfo.InvariantCulture) + "," + sum.ToString("0.000", System.Globalization.CultureInfo.InvariantCulture) + "],"; } else { var date = DateTime.Parse(DateTime.Now.ToString("yyyy-MM-dd") + " " + h.ToString("00") + ":00:00"); migCommand.Response += "[" + ((date.Ticks - 621355968000000000) / 10000D).ToString("0.000", System.Globalization.CultureInfo.InvariantCulture) + ",0.000],"; } } migCommand.Response = migCommand.Response.TrimEnd(','); migCommand.Response += " ]"; migCommand.Response += "]"; break; case "Parameter.StatsHour": filterList = migCommand.GetOption(1).Split(':'); if (filterList.Length == 2) { domain = filterList[0]; address = filterList[1]; } // migCommand.Response = "["; // var hoursAverages = new List <StatisticsEntry> [5]; hoursAverages[0] = homegenie.Statistics.GetHourlyStats(domain, address, migCommand.GetOption(0), "Min"); hoursAverages[1] = homegenie.Statistics.GetHourlyStats(domain, address, migCommand.GetOption(0), "Max"); hoursAverages[2] = homegenie.Statistics.GetHourlyStats(domain, address, migCommand.GetOption(0), "Avg"); hoursAverages[3] = homegenie.Statistics.GetHourlyStats24(domain, address, migCommand.GetOption(0), "Avg"); if (migCommand.GetOption(0).StartsWith(Properties.METER_ANY)) { hoursAverages[4] = homegenie.Statistics.GetTodayDetail(domain, address, migCommand.GetOption(0), "Sum"); } else { hoursAverages[4] = homegenie.Statistics.GetTodayDetail(domain, address, migCommand.GetOption(0), "Avg"); } // for (int x = 0; x < 4; x++) { migCommand.Response += "[ "; for (int h = 0; h < 24; h++) { StatisticsEntry firstEntry = null; if (hoursAverages[x] != null && hoursAverages[x].Count > 0) { if (migCommand.GetOption(0).StartsWith(Properties.METER_ANY)) { firstEntry = hoursAverages[x].Find(se => se.TimeStart.ToLocalTime().Hour == h && se.Value > 0); } else { firstEntry = hoursAverages[x].Find(se => se.TimeStart.ToLocalTime().Hour == h); } } // if (firstEntry != null) { double sum = 0; switch (x) { case 0: if (migCommand.GetOption(0).StartsWith(Properties.METER_ANY)) { sum = (double)(hoursAverages[x].FindAll(se => se.TimeStart.ToLocalTime().Hour == h && se.Value > 0).Min(se => se.Value)); } else { sum = (double)(hoursAverages[x].FindAll(se => se.TimeStart.ToLocalTime().Hour == h).Min(se => se.Value)); } break; case 1: sum = (double)(hoursAverages[x].FindAll(se => se.TimeStart.ToLocalTime().Hour == h).Max(se => se.Value)); break; case 2: if (migCommand.GetOption(0).StartsWith(Properties.METER_ANY)) { sum = (double)(hoursAverages[x].FindAll(se => se.TimeStart.ToLocalTime().Hour == h && se.Value > 0).Average(se => se.Value)); } else { sum = (double)(hoursAverages[x].FindAll(se => se.TimeStart.ToLocalTime().Hour == h).Average(se => se.Value)); } break; case 3: if (migCommand.GetOption(0).StartsWith(Properties.METER_ANY)) { sum = (double)(hoursAverages[x].FindAll(se => se.TimeStart.ToLocalTime().Hour == h && se.Value > 0).Average(se => se.Value)); } else { sum = (double)(hoursAverages[x].FindAll(se => se.TimeStart.ToLocalTime().Hour == h).Average(se => se.Value)); } break; } // date is normalized to the current date, time info is preserved from original data entry var date = DateTime.Parse(DateTime.Now.ToString("yyyy-MM-dd") + " " + h.ToString("00") + ":00:00"); migCommand.Response += "[" + ((date.Ticks - 621355968000000000) / 10000D).ToString("0.000", System.Globalization.CultureInfo.InvariantCulture) + "," + sum.ToString("0.000", System.Globalization.CultureInfo.InvariantCulture) + "],"; } else { var date = DateTime.Parse(DateTime.Now.ToString("yyyy-MM-dd") + " " + h.ToString("00") + ":00:00"); migCommand.Response += "[" + ((date.Ticks - 621355968000000000) / 10000D).ToString("0.000", System.Globalization.CultureInfo.InvariantCulture) + ",0.000],"; } } migCommand.Response = migCommand.Response.TrimEnd(','); migCommand.Response += " ],"; } // migCommand.Response += "[ "; foreach (var entry in hoursAverages[4]) { var date = DateTime.Parse(DateTime.Now.ToString("yyyy-MM-dd") + " " + entry.TimeStart.ToLocalTime().ToString("HH:mm:ss.ffffff")); migCommand.Response += "[" + ((date.Ticks - 621355968000000000) / 10000D).ToString("0.000", System.Globalization.CultureInfo.InvariantCulture) + "," + entry.Value.ToString("0.000", System.Globalization.CultureInfo.InvariantCulture) + "],"; } migCommand.Response = migCommand.Response.TrimEnd(','); migCommand.Response += " ]"; // migCommand.Response += "]"; break; } }
public void ProcessRequest(MigClientRequest request) { var migCommand = request.Command; string response = ""; string domain = ""; string address = ""; int domainSeparator = 0; DateTime dateStart, dateEnd; switch (migCommand.Command) { case "Global.CounterTotal": var counter = homegenie.Statistics.GetTotalCounter(migCommand.GetOption(0), 3600); request.ResponseData = new ResponseText(counter.ToString("0.000", System.Globalization.CultureInfo.InvariantCulture)); break; case "Global.TimeRange": var totalRange = homegenie.Statistics.GetDateRange(); request.ResponseData = "{ \"StartTime\" : \"" + Utility.DateToJavascript(totalRange.TimeStart).ToString("0.000", System.Globalization.CultureInfo.InvariantCulture) + "\", \"EndTime\" : \"" + Utility.DateToJavascript(totalRange.TimeEnd).ToString("0.000", System.Globalization.CultureInfo.InvariantCulture) + "\" }"; break; case "Database.Reset": homegenie.Statistics.ResetDatabase(); break; case "Configuration.Get": // Just one at the moment. request.ResponseData = "{ \"StatisticsUiRefreshSeconds\" : \"" + homegenie.SystemConfiguration.HomeGenie.Statistics.StatisticsUiRefreshSeconds + "\" }"; break; case "Parameter.List": domainSeparator = migCommand.GetOption(0).LastIndexOf(":"); if (domainSeparator > 0) { domain = migCommand.GetOption(0).Substring(0, domainSeparator); address = migCommand.GetOption(0).Substring(domainSeparator + 1); } response = "["; foreach (string statParameter in homegenie.Statistics.GetParametersList(domain, address)) { response += " \""+ statParameter + "\",\n"; } response = response.TrimEnd(',', '\n'); response += "\n]"; request.ResponseData = response; break; case "Parameter.Counter": domainSeparator = migCommand.GetOption(1).LastIndexOf(":"); if (domainSeparator > 0) { domain = migCommand.GetOption(1).Substring(0, domainSeparator); address = migCommand.GetOption(1).Substring(domainSeparator + 1); } // response = "["; response += "[ "; // var hoursAverage = new List <StatisticsEntry>(); dateStart = Utility.JavascriptToDate(long.Parse(migCommand.GetOption(2))); dateEnd = Utility.JavascriptToDate(long.Parse(migCommand.GetOption(3))); hoursAverage = homegenie.Statistics.GetHourlyCounter(domain, address, migCommand.GetOption(0), 3600, dateStart, dateEnd); // for (int h = 0; h < 24; h++) { StatisticsEntry firstEntry = null; if (hoursAverage != null && hoursAverage.Count > 0) { firstEntry = hoursAverage.Find(se => se.TimeStart.ToLocalTime().Hour == h); } // if (firstEntry != null) { double sum = 0; sum = (double)(hoursAverage.FindAll(se => se.TimeStart.ToLocalTime().Hour == h).Sum(se => se.Value)); // date is normalized to the current date, time info is preserved from original data entry var date = DateTime.Parse(DateTime.Now.ToString("yyyy-MM-dd") + " " + h.ToString("00") + ":00:00"); response += "[" + Utility.DateToJavascript(date).ToString("0.000", System.Globalization.CultureInfo.InvariantCulture) + "," + sum.ToString("0.000", System.Globalization.CultureInfo.InvariantCulture) + "],"; } else { var date = DateTime.Parse(DateTime.Now.ToString("yyyy-MM-dd") + " " + h.ToString("00") + ":00:00"); response += "[" + Utility.DateToJavascript(date).ToString("0.000", System.Globalization.CultureInfo.InvariantCulture) + ",0.000],"; } } response = response.TrimEnd(','); response += " ]"; response += "]"; request.ResponseData = response; break; case "Parameter.StatsHour": domainSeparator = migCommand.GetOption(1).LastIndexOf(":"); if (domainSeparator > 0) { domain = migCommand.GetOption(1).Substring(0, domainSeparator); address = migCommand.GetOption(1).Substring(domainSeparator + 1); } // response = "["; // dateStart = Utility.JavascriptToDate(long.Parse(migCommand.GetOption(2))); dateEnd = Utility.JavascriptToDate(long.Parse(migCommand.GetOption(3))); var hoursAverages = new List <StatisticsEntry> [5]; hoursAverages[0] = homegenie.Statistics.GetHourlyStats(domain, address, migCommand.GetOption(0), "Min", dateStart, dateEnd); hoursAverages[1] = homegenie.Statistics.GetHourlyStats(domain, address, migCommand.GetOption(0), "Max", dateStart, dateEnd); hoursAverages[2] = homegenie.Statistics.GetHourlyStats(domain, address, migCommand.GetOption(0), "Avg", dateStart, dateEnd); hoursAverages[3] = homegenie.Statistics.GetHourlyStatsToday(domain, address, migCommand.GetOption(0), "Avg"); if (migCommand.GetOption(0).StartsWith(Properties.MeterAny)) { hoursAverages[4] = homegenie.Statistics.GetTodayDetail(domain, address, migCommand.GetOption(0), "Sum"); } else { hoursAverages[4] = homegenie.Statistics.GetTodayDetail(domain, address, migCommand.GetOption(0), "Avg"); } // for (int x = 0; x < 4; x++) { response += "[ "; for (int h = 0; h < 24; h++) { StatisticsEntry firstEntry = null; if (hoursAverages[x] != null && hoursAverages[x].Count > 0) { if (migCommand.GetOption(0).StartsWith(Properties.MeterAny)) { firstEntry = hoursAverages[x].Find(se => se.TimeStart.ToLocalTime().Hour == h && se.Value > 0); } else { firstEntry = hoursAverages[x].Find(se => se.TimeStart.ToLocalTime().Hour == h); } } // if (firstEntry != null) { double sum = 0; switch (x) { case 0: if (migCommand.GetOption(0).StartsWith(Properties.MeterAny)) { sum = (double)(hoursAverages[x].FindAll(se => se.TimeStart.ToLocalTime().Hour == h && se.Value > 0).Min(se => se.Value)); } else { sum = (double)(hoursAverages[x].FindAll(se => se.TimeStart.ToLocalTime().Hour == h).Min(se => se.Value)); } break; case 1: sum = (double)(hoursAverages[x].FindAll(se => se.TimeStart.ToLocalTime().Hour == h).Max(se => se.Value)); break; case 2: if (migCommand.GetOption(0).StartsWith(Properties.MeterAny)) { sum = (double)(hoursAverages[x].FindAll(se => se.TimeStart.ToLocalTime().Hour == h && se.Value > 0).Average(se => se.Value)); } else { sum = (double)(hoursAverages[x].FindAll(se => se.TimeStart.ToLocalTime().Hour == h).Average(se => se.Value)); } break; case 3: if (migCommand.GetOption(0).StartsWith(Properties.MeterAny)) { sum = (double)(hoursAverages[x].FindAll(se => se.TimeStart.ToLocalTime().Hour == h && se.Value > 0).Average(se => se.Value)); } else { sum = (double)(hoursAverages[x].FindAll(se => se.TimeStart.ToLocalTime().Hour == h).Average(se => se.Value)); } break; } // date is normalized to the current date, time info is preserved from original data entry var date = DateTime.Parse(DateTime.Now.ToString("yyyy-MM-dd") + " " + h.ToString("00") + ":00:00"); response += "[" + Utility.DateToJavascript(date).ToString("0.000", System.Globalization.CultureInfo.InvariantCulture) + "," + sum.ToString("0.000", System.Globalization.CultureInfo.InvariantCulture) + "],"; } else { var date = DateTime.Parse(DateTime.Now.ToString("yyyy-MM-dd") + " " + h.ToString("00") + ":00:00"); response += "[" + Utility.DateToJavascript(date).ToString("0.000", System.Globalization.CultureInfo.InvariantCulture) + ",0.000],"; } } response = response.TrimEnd(','); response += " ],"; } // response += "[ "; foreach (var entry in hoursAverages[4]) { var date = DateTime.Parse(DateTime.Now.ToString("yyyy-MM-dd") + " " + entry.TimeStart.ToLocalTime().ToString("HH:mm:ss.ffffff")); response += "[" + Utility.DateToJavascript(date).ToString("0.000", System.Globalization.CultureInfo.InvariantCulture) + "," + entry.Value.ToString("0.000", System.Globalization.CultureInfo.InvariantCulture) + "],"; } response = response.TrimEnd(','); response += " ]"; // response += "]"; request.ResponseData = response; break; case "Parameter.StatsDay": domainSeparator = migCommand.GetOption(1).LastIndexOf(":"); if (domainSeparator > 0) { domain = migCommand.GetOption(1).Substring(0, domainSeparator); address = migCommand.GetOption(1).Substring(domainSeparator + 1); } // response = "["; // dateStart = Utility.JavascriptToDate(long.Parse(migCommand.GetOption(2))); dateEnd = Utility.JavascriptToDate(long.Parse(migCommand.GetOption(3))); var daysAverages = new List <StatisticsEntry> [1]; daysAverages[0] = homegenie.Statistics.GetHourlyStats(domain, address, migCommand.GetOption(0), "", dateStart, dateEnd); response += "[ "; foreach (var entry in daysAverages[0]) { response += "[" + Utility.DateToJavascriptLocal(entry.TimeStart).ToString("0.000", System.Globalization.CultureInfo.InvariantCulture) + "," + entry.Value.ToString("0.000", System.Globalization.CultureInfo.InvariantCulture) + "],"; } response = response.TrimEnd(','); response += " ]"; // response += "]"; request.ResponseData = response; break; case "Parameter.StatsMultiple": response = "["; // dateStart = Utility.JavascriptToDate(long.Parse(migCommand.GetOption(2))); dateEnd = Utility.JavascriptToDate(long.Parse(migCommand.GetOption(3))); var daysMultiples = new List <StatisticsEntry> [1]; daysMultiples[0] = homegenie.Statistics.GetHourlyStats(domain, address, migCommand.GetOption(0), "All", dateStart, dateEnd); response += "[ "; var moduleName = ""; foreach (var entry in daysMultiples[0]) { if (entry.CustomData == "") { entry.CustomData = entry.Domain + ":" + entry.Address; } if (moduleName != entry.CustomData) { if (moduleName != "") { response = response.TrimEnd(','); response += " ],[ "; } response += "[\"" + entry.CustomData + "\"] ],[ "; moduleName = entry.CustomData; } response += "[" + Utility.DateToJavascriptLocal(entry.TimeStart).ToString("0.000", System.Globalization.CultureInfo.InvariantCulture) + "," + entry.Value.ToString("0.000", System.Globalization.CultureInfo.InvariantCulture) + "],"; } response = response.TrimEnd(','); response += " ]"; /*response += "[ "; * var moduleName = ""; * foreach (var entry in daysMultiples[0]) * { * if (entry.CustomData == "") * entry.CustomData = entry.Domain + ":" + entry.Address; * if(moduleName != entry.CustomData) * { * if(moduleName != "") * { * response = response.TrimEnd(','); * response += " ] ],[ "; * } * response += "[ \""+entry.CustomData + "\" ],[ "; * moduleName = entry.CustomData; * } * response += "[" + DateToJavascriptLocal(entry.TimeStart).ToString("0.000", System.Globalization.CultureInfo.InvariantCulture) + "," + entry.Value.ToString("0.000", System.Globalization.CultureInfo.InvariantCulture) + "],"; * } * response = response.TrimEnd(','); * response += " ]"; * if(moduleName != "") * response += " ]";*/ // response += "]"; request.ResponseData = response; break; case "Parameter.StatRemove": var dateText = migCommand.GetOption(0).Replace('.', ','); dateStart = Utility.JavascriptToDateUtc(double.Parse(dateText)); homegenie.Statistics.DeleteData(dateStart, migCommand.GetOption(1)); request.ResponseData = new ResponseText("OK"); break; } }
/// <summary> /// Zapisuje w statystykach informacje o requeście klienta i o wysłanym do niego w odpowiedzi obiekcie multimedialnym. /// </summary> /// <param name="selectionParams">Parametry opisujące request, na podstawie których został wybrany odpowiedni obiekt multimedialny</param> /// <param name="multimediaObject">Wybrany obiekt multimedialny (który zostanie zwrócony klientowi jako odpowiedź na jego request)</param> /// <param name="statisticsEntry">Wpis statystyk</param> public void SaveStatisticsEntry(MultimediaObjectsSelectionParams selectionParams, AdFile multimediaObject, StatisticsEntry statisticsEntry) { if (selectionParams == null || multimediaObject == null) { return; } if (statisticsEntry == null) { throw new Exception("Nie udało się zapisać do statystyk informacji o requeście, ponieważ nie powiodło się generowanie takiego obiektu."); } try { var host = _repositories.UserRepository.Users.First(it => it.Devices.Any(dev => dev.Id == selectionParams.ID)); var cmpid = multimediaObject.CmpId; var campUp = _repositories.CampaignRepository.Campaigns.First(it => it.Id == cmpid); var cmpUserId = campUp.UserId; var user = _repositories.UserRepository.Users.First(it => it.Id == cmpUserId); if (user.Role.RoleType != "Admin") { campUp.AdPoints -= statisticsEntry.Statistics.Clicked ? campUp.ClickValue : campUp.ViewValue; _repositories.CampaignRepository.SaveCampaign(campUp, true); } host.AdPoints += (statisticsEntry.Statistics.Clicked ? campUp.ClickValue : campUp.ViewValue) * host.Role.Commission * (decimal)0.01; _repositories.UserRepository.Save(host); } catch (Exception) { throw new Exception("Nie udało się wykonć zmian AdPoints'ów"); } var response = _repositories.StatisticsRepository.Save(statisticsEntry); if (response.Accepted) { return; } var fullMessage = new List <string>(); if (response.Errors != null && response.Errors.Count > 0) { fullMessage.AddRange(response.Errors.Select(e => e.Message)); } var thrownError = "Nie udało się zapisać do statystyk informacji o requeście. Nie można przesłać obiektu multimedialnego."; if (fullMessage.Count <= 0) { throw new Exception(thrownError); } thrownError += (Environment.NewLine + Environment.NewLine) + string.Join(Environment.NewLine, fullMessage); fullMessage.Clear(); throw new Exception(thrownError); }
public void UpdateStatics(StatisticsEntry staticsEntry) { switch (staticsEntry) { case StatisticsEntry.MessageSent: if (LblMessagSent.InvokeRequired) { Invoke(new MethodInvoker(delegate { LblMessagSent.Text = ClientStatistics.MessagesSent.ToString(); })); } else { LblMessagSent.Text = ClientStatistics.MessagesSent.ToString(); } break; case StatisticsEntry.MessageReceied: if (LblMessagSent.InvokeRequired) { Invoke(new MethodInvoker(delegate { LblMessagReceived.Text = ClientStatistics.MessagesReceived.ToString(); })); } else { LblMessagReceived.Text = ClientStatistics.MessagesReceived.ToString(); } break; case StatisticsEntry.MessagePrivateSent: if (LblMessagSent.InvokeRequired) { Invoke(new MethodInvoker(delegate { LblPrivateMessagSent.Text = ClientStatistics.MessagesPrivateSent.ToString(); })); } else { LblPrivateMessagSent.Text = ClientStatistics.MessagesPrivateSent.ToString(); } break; case StatisticsEntry.MessagePrivateReceived: if (LblMessagSent.InvokeRequired) { Invoke(new MethodInvoker(delegate { LblPrivateMessagReceived.Text = ClientStatistics.MessagesPrivateReceived.ToString(); })); } else { LblPrivateMessagReceived.Text = ClientStatistics.MessagesPrivateReceived.ToString(); } break; case StatisticsEntry.ImagesSent: if (LblImageSent.InvokeRequired) { Invoke(new MethodInvoker(delegate { LblImageSent.Text = ClientStatistics.ImagesSent.ToString(); })); } else { LblImageSent.Text = ClientStatistics.ImagesSent.ToString(); } break; case StatisticsEntry.ImagesReceived: if (LblImageReceived.InvokeRequired) { Invoke(new MethodInvoker(delegate { LblImageReceived.Text = ClientStatistics.ImagesReceived.ToString(); })); } else { LblImageReceived.Text = ClientStatistics.ImagesReceived.ToString(); } break; case StatisticsEntry.ImagesPrivateSent: if (LblPrivateImageSent.InvokeRequired) { Invoke(new MethodInvoker(delegate { LblPrivateImageSent.Text = ClientStatistics.ImagesPrivateSent.ToString(); })); } else { LblPrivateImageSent.Text = ClientStatistics.ImagesPrivateSent.ToString(); } break; case StatisticsEntry.ImagesPrivateReceived: if (LblPrivateImageReceived.InvokeRequired) { Invoke(new MethodInvoker(delegate { LblPrivateImageReceived.Text = ClientStatistics.ImagesPrivateReceived.ToString(); })); } else { LblPrivateImageReceived.Text = ClientStatistics.ImagesPrivateReceived.ToString(); } break; case StatisticsEntry.ServerMessage: if (LblServerMessages.InvokeRequired) { Invoke(new MethodInvoker(delegate { LblServerMessages.Text = ClientStatistics.ServerMessage.ToString(); })); } else { LblServerMessages.Text = ClientStatistics.ServerMessage.ToString(); } break; } if (LblMessagSent.InvokeRequired) { Invoke(new MethodInvoker(delegate { LblTotalMessagSent.Text = (ClientStatistics.MessagesSent + ClientStatistics.MessagesPrivateSent).ToString(); LblTotalMessagReceived.Text = (ClientStatistics.MessagesReceived + ClientStatistics.MessagesPrivateReceived).ToString(); LblTotalImagesSent.Text = (ClientStatistics.ImagesPrivateSent + ClientStatistics.ImagesSent).ToString(); LblTotalImagesReceived.Text = (ClientStatistics.ImagesPrivateReceived + ClientStatistics.ImagesReceived).ToString(); })); } else { LblTotalMessagSent.Text = (ClientStatistics.MessagesSent + ClientStatistics.MessagesPrivateSent).ToString(); LblTotalMessagReceived.Text = (ClientStatistics.MessagesReceived + ClientStatistics.MessagesPrivateReceived).ToString(); LblTotalImagesSent.Text = (ClientStatistics.ImagesPrivateSent + ClientStatistics.ImagesSent).ToString(); LblTotalImagesReceived.Text = (ClientStatistics.ImagesPrivateReceived + ClientStatistics.ImagesReceived).ToString(); } }
public void UpdateStatics(StatisticsEntry staticsEntry) { switch (staticsEntry) { case StatisticsEntry.MessageSent: if (LblMessagSent.InvokeRequired) { Invoke(new MethodInvoker(delegate { LblMessagSent.Text = ClientStatistics.MessagesSent.ToString(); })); } else { LblMessagSent.Text = ClientStatistics.MessagesSent.ToString(); } break; case StatisticsEntry.MessageReceied: if (LblMessagSent.InvokeRequired) { Invoke(new MethodInvoker(delegate { LblMessagReceived.Text = ClientStatistics.MessagesReceived.ToString(); })); } else { LblMessagReceived.Text = ClientStatistics.MessagesReceived.ToString(); } break; case StatisticsEntry.MessagePrivateSent: if (LblMessagSent.InvokeRequired) { Invoke(new MethodInvoker(delegate { LblPrivateMessagSent.Text = ClientStatistics.MessagesPrivateSent.ToString(); })); } else { LblPrivateMessagSent.Text = ClientStatistics.MessagesPrivateSent.ToString(); } break; case StatisticsEntry.MessagePrivateReceived: if (LblMessagSent.InvokeRequired) { Invoke(new MethodInvoker(delegate { LblPrivateMessagReceived.Text = ClientStatistics.MessagesPrivateReceived.ToString(); })); } else { LblPrivateMessagReceived.Text = ClientStatistics.MessagesPrivateReceived.ToString(); } break; case StatisticsEntry.ImagesSent: if (LblImageSent.InvokeRequired) { Invoke(new MethodInvoker(delegate { LblImageSent.Text = ClientStatistics.ImagesSent.ToString(); })); } else { LblImageSent.Text = ClientStatistics.ImagesSent.ToString(); } break; case StatisticsEntry.ImagesReceived: if (LblImageReceived.InvokeRequired) { Invoke(new MethodInvoker(delegate { LblImageReceived.Text = ClientStatistics.ImagesReceived.ToString(); })); } else { LblImageReceived.Text = ClientStatistics.ImagesReceived.ToString(); } break; case StatisticsEntry.ImagesPrivateSent: if (LblPrivateImageSent.InvokeRequired) { Invoke(new MethodInvoker(delegate { LblPrivateImageSent.Text = ClientStatistics.ImagesPrivateSent.ToString(); })); } else { LblPrivateImageSent.Text = ClientStatistics.ImagesPrivateSent.ToString(); } break; case StatisticsEntry.ImagesPrivateReceived: if (LblPrivateImageReceived.InvokeRequired) { Invoke(new MethodInvoker(delegate { LblPrivateImageReceived.Text = ClientStatistics.ImagesPrivateReceived.ToString(); })); } else { LblPrivateImageReceived.Text = ClientStatistics.ImagesPrivateReceived.ToString(); } break; case StatisticsEntry.ServerMessage: if (LblServerMessages.InvokeRequired) { Invoke(new MethodInvoker(delegate { LblServerMessages.Text = ClientStatistics.ServerMessage.ToString(); })); } else { LblServerMessages.Text = ClientStatistics.ServerMessage.ToString(); } break; } if (LblMessagSent.InvokeRequired) { Invoke(new MethodInvoker(delegate { LblTotalMessagSent.Text = (ClientStatistics.MessagesSent + ClientStatistics.MessagesPrivateSent).ToString(); LblTotalMessagReceived.Text = (ClientStatistics.MessagesReceived + ClientStatistics.MessagesPrivateReceived).ToString(); LblTotalImagesSent.Text = (ClientStatistics.ImagesPrivateSent + ClientStatistics.ImagesSent).ToString(); LblTotalImagesReceived.Text = (ClientStatistics.ImagesPrivateReceived + ClientStatistics.ImagesReceived).ToString(); })); } else { LblTotalMessagSent.Text = (ClientStatistics.MessagesSent + ClientStatistics.MessagesPrivateSent).ToString(); LblTotalMessagReceived.Text = (ClientStatistics.MessagesReceived + ClientStatistics.MessagesPrivateReceived).ToString(); LblTotalImagesSent.Text = (ClientStatistics.ImagesPrivateSent + ClientStatistics.ImagesSent).ToString(); LblTotalImagesReceived.Text = (ClientStatistics.ImagesPrivateReceived + ClientStatistics.ImagesReceived).ToString(); } }