private MessageReportResponse <ContactsStatesReportModel> ContactsStatesReportResponse(string messageId, string[] automationStates, string language, DataPage page, int utcOffset) { MessageReportResponse <ContactsStatesReportModel> response = new MessageReportResponse <ContactsStatesReportModel>(); try { Guid guid = new Guid(messageId); DataTable table = this.GetContactsStatesData(guid, automationStates, language, page); int num = page.Index * page.Size; int num2 = num + page.Size; if (num2 > (table.Rows.Count + num)) { num2 = table.Rows.Count + num; } int num3 = (table.Rows.Count < page.Size) ? table.Rows.Count : page.Size; List <ContactsStatesReportModel> list = new List <ContactsStatesReportModel>(num2 - num); for (int i = 0; i < num3; i++) { DataRow row = table.Rows[i]; DateTime dateTime = (DateTime)row["Entry"]; ContactsStatesReportModel item = new ContactsStatesReportModel { Email = (string)row["Email"], UtcEntry = dateTime, FullName = row["FullName"] as string, ItemId = Guid.NewGuid().ToString(), StateName = (string)row["StateName"] }; DateTime datetime = Util.ServerTimeToLocal(dateTime, utcOffset); item.Entry = DateUtil.ToIsoDate(datetime); list.Add(item); } response.Results = list.ToArray(); DataPage page2 = new DataPage { Size = page.Size, Index = page.Index + 1 }; int num5 = this.GetContactsStatesData(guid, automationStates, language, page2).Rows.Count + num2; response.TotalCount = num5; } catch (Exception exception) { Log.Error(exception.Message, exception, this); response.Error = true; response.ErrorMessage = EcmTexts.Localize("A serious error occurred please contact the administrator", new object[0]); } return(response); }
private Response GetMessagePerformancePerLanguageReportResponse(string messageId) { MessageReportResponse <MessageStatistics> response = new MessageReportResponse <MessageStatistics>(); try { List <MessageStatistics> messageStatistics = this.messageStatisticsService.GetMessageStatistics(new Guid(messageId)); messageStatistics.RemoveAll(s => s.Language == "0"); response.Results = messageStatistics.ToArray(); response.TotalCount = messageStatistics.Count <MessageStatistics>(); } catch (Exception exception) { Log.Error(exception.Message, exception, this); response.Error = true; response.ErrorMessage = EcmTexts.Localize("A serious error occurred please contact the administrator", new object[0]); } return(response); }
private Response GetEmailLandingPagesReportResponse(string messageId, string language, SortParameter sortParameter, DataPage page) { if (sortParameter == null) { sortParameter = new SortParameter("Value", SortDirection.Desc); } MessageReportResponse <EmailLandingPagesReportModel> response = new MessageReportResponse <EmailLandingPagesReportModel>(); try { DataTable dataTable = this.emailLandingPagesRepository.GetEmailLandingPagesData(new Guid(messageId), language, sortParameter); response.Results = this.Convert(dataTable, page).ToArray(); response.TotalCount = dataTable.Rows.Count; } catch (Exception exception) { Log.Error(exception.Message, exception, this); response.Error = true; response.ErrorMessage = EcmTexts.Localize("A serious error occurred please contact the administrator", new object[0]); } return(response); }
private Response GetBestEmailLandingPagesReportResponse(string messageId, string language, SortParameter sortParameter) { MessageReportResponse <BestEmailLandingPagesReportModel> messageReportResponse = new MessageReportResponse <BestEmailLandingPagesReportModel>(); try { DataTable dataTable = this.emailLandingPagesRepository.GetEmailLandingPagesData(new Guid(messageId), language, new SortParameter("Url", SortDirection.Asc)); List <BestEmailLandingPagesReportModel> list = new List <BestEmailLandingPagesReportModel>(this.bestPagesMappings.Count); foreach (KeyValuePair <string, string> current in this.bestPagesMappings) { BestEmailLandingPagesReportModel bestEmailLandingPagesReportModel = new BestEmailLandingPagesReportModel(); bestEmailLandingPagesReportModel.ItemId = Guid.NewGuid().ToString(); bestEmailLandingPagesReportModel.PerformanceIndicator = EcmTexts.Localize(current.Value, new object[0]); bestEmailLandingPagesReportModel.PerformanceIndicatorColumn = current.Key; if (dataTable.Rows.Count == 0) { bestEmailLandingPagesReportModel.EmailLandingPages = new EmailLandingPagesReportModel[0]; bestEmailLandingPagesReportModel.Url = "-"; } else { dataTable.DefaultView.Sort = string.Format("{0} DESC", current.Key); dataTable = dataTable.DefaultView.ToTable(); bestEmailLandingPagesReportModel.EmailLandingPages = this.Convert(dataTable, null).ToArray(); bestEmailLandingPagesReportModel.Url = (string)dataTable.Rows[0]["Url"]; } list.Add(bestEmailLandingPagesReportModel); } if (sortParameter != null) { if (sortParameter.Name == "performanceIndicator") { List <BestEmailLandingPagesReportModel> arg_1B5_0; if (sortParameter.Direction != SortDirection.Desc) { arg_1B5_0 = (from model in list orderby model.PerformanceIndicator select model).ToList <BestEmailLandingPagesReportModel>(); } else { arg_1B5_0 = (from model in list orderby model.PerformanceIndicator descending select model).ToList <BestEmailLandingPagesReportModel>(); } list = arg_1B5_0; } if (sortParameter.Name == "url") { List <BestEmailLandingPagesReportModel> arg_223_0; if (sortParameter.Direction != SortDirection.Desc) { arg_223_0 = (from model in list orderby model.Url select model).ToList <BestEmailLandingPagesReportModel>(); } else { arg_223_0 = (from model in list orderby model.Url descending select model).ToList <BestEmailLandingPagesReportModel>(); } list = arg_223_0; } } messageReportResponse.Results = list.ToArray(); messageReportResponse.TotalCount = list.Count; } catch (Exception ex) { Sitecore.Diagnostics.Log.Error(ex.Message, ex, this); messageReportResponse.Error = true; messageReportResponse.ErrorMessage = EcmTexts.Localize("A serious error occurred please contact the administrator", new object[0]); } return(messageReportResponse); }