protected void btnLogin_Click(object sender, EventArgs e) { int CountryId = int.Parse(ddlAddCountries.SelectedValue); MinistryView.MinistryViewDataContext d = new MinistryView.MinistryViewDataContext(); ssoGUID = UserInfo.Profile.GetPropertyValue("ssoGUID"); var q = from c in d.MinistryView_UserCountryProfiles where c.GUID == ssoGUID && c.CountryId == CountryId select c; if (q.Count() > 0) { q.First().Username = tbUsername.Text; q.First().Password = AgapeEncryption.ADCEncrypt.Encrypt(tbPassword.Text); } else { var insert = new MinistryView.MinistryView_UserCountryProfile(); insert.CountryId = CountryId; insert.Username = tbUsername.Text; insert.Password = AgapeEncryption.ADCEncrypt.Encrypt(tbPassword.Text); insert.GUID = ssoGUID; d.MinistryView_UserCountryProfiles.InsertOnSubmit(insert); MyCountries.Items.Add(new ListItem(ddlAddCountries.SelectedItem.Text, "ADD" + insert.UserCountryProfileId)); } d.SubmitChanges(); MyCountries.SelectedIndex = MyCountries.Items.Count - 1; MyCountries_SelectedIndexChanged(this, null); }
protected void Page_Load(object sender, EventArgs e) { openAddCountry.ToolTip = Translate("btnAddCountryTooltip"); lblNew.Text = Translate("lblNew"); _startDate = FirstDayOfMonthFromDateTime(DateTime.Today.AddMonths(-12)); _endDate = LastDayOfMonthFromDateTime(DateTime.Today); if (!Page.IsPostBack) { //First Load Countries From Thads Search DSPU.DSPortalUsers dspus = new DSPU.DSPortalUsers(); ssoGUID = UserInfo.Profile.GetPropertyValue("ssoGUID"); var resp = dspus.GetPortalsForUser("CASAUTH", "thecatsaysmeow3", ssoGUID); //DSPortalsService.DSPortalsSoapClient dsw = new DSPortalsService.DSPortalsSoapClient(); //var resp = dsw.GetPortalsForUserJson(ssoGUID).Distinct(); var thisInstance = StaffBrokerFunctions.GetSetting("DataserverURL", PortalId); if (String.IsNullOrEmpty(thisInstance)) thisInstance = "-unknownLocation"; // MyCountries.Items.Add(new ListItem("South Africa", "https://tntdataserver.com/dataserver/rsa/dataquery/dataqueryservice.asmx")); ////MyCountries.Items.Add(new ListItem("Bulgaria Test", "https://tntdataserver.eu/dataserver/bgr/dataquery/dataqueryservice.asmx")); foreach (var p in resp.OrderByDescending(x => x.PortalUri.Contains(thisInstance)).ThenBy(y => y.PortalName)) { MyCountries.Items.Add(new ListItem(p.PortalName, p.PortalUri)); } MinistryView.MinistryViewDataContext dm = new MinistryView.MinistryViewDataContext(); var addCountries = from c in dm.MinistryView_UserCountryProfiles where c.GUID == ssoGUID select new { c.UserCountryProfileId, c.MinistryView_AdditionalCountry.CountryName }; foreach (var row in addCountries) { MyCountries.Items.Add(new ListItem(row.CountryName, "ADD" + row.UserCountryProfileId)); } //MyCountries.Items.Add(new ListItem("devtest","https://tntdataserver.eu/dataserver/devtest/dataquery/dataqueryservice.asmx")); //MyCountries.Items.Add(new ListItem("AgapeAOA","https://tntdataserver.eu/dataserver/AgapeAOA/dataquery/dataqueryservice.asmx")); //// if (MyCountries.Items.Count > 0) { MyCountries_SelectedIndexChanged(this, null); lblMessage.Visible = false; } else { lblMessage.Text = Translate("lblMessage"); string Message = "No DataServer accounts for: " + UserInfo.DisplayName + "(" + UserId.ToString() + ") " + ssoGUID + "CountryCount:" + MyCountries.Items.Count.ToString() + ";" + (resp.Count()).ToString(); DotNetNuke.Services.Log.EventLog.EventLogController objEventLog = new DotNetNuke.Services.Log.EventLog.EventLogController(); objEventLog.AddLog("Accounts", Message, PortalSettings, UserId, Services.Log.EventLog.EventLogController.EventLogType.ADMIN_ALERT); lblMessage.Visible = true; accordion.Visible = false; divBalance.Visible = false; IncExpGraph.Visible = false; } } // InitializeValues(); }
protected void MyCountries_SelectedIndexChanged(object sender, EventArgs e) { clearTables(); if (MyCountries.Items.Count == 0) return; if (MyCountries.SelectedValue.StartsWith("ADD")) { //US don't load the typical API. MinistryView.MinistryViewDataContext dm = new MinistryView.MinistryViewDataContext(); var p = from c in dm.MinistryView_UserCountryProfiles where c.UserCountryProfileId == int.Parse(MyCountries.SelectedValue.Replace("ADD", "")) select c; double? EndBal = MPD_Service.GetAccountBalance(p.First().Username, (AgapeEncryption.AgapeEncrypt.Decrypt(p.First().Password)), p.First().MinistryView_AdditionalCountry.ServiceURL, "TntBalance"); if (EndBal != null) { EndingBalance.Text = EndBal.Value.ToString("0"); } List<MPD_Service.Donation> donations = MPD_Service.getDonations(p.First().Username, (AgapeEncryption.AgapeEncrypt.Decrypt(p.First().Password)), p.First().MinistryView_AdditionalCountry.ServiceURL, "TntDonList", _startDate, _endDate); var errors = donations.Where(x => x.PeopleId < 0); donations = donations.Where(x => x.PeopleId >= 0).ToList(); foreach (var row in errors) { switch (row.PeopleId) { case -1: showError(row.DonorName, true); //Open the login window? return; case -2: showError(row.DonorName, true); return; case -3: showError(row.DonorName, false); break; default: break; } } _googleGraph = ""; var q = from c in donations group c by new { c.FiscalPeriod, c.PeopleId } into g orderby g.Key.FiscalPeriod, g.First().DonorName select new { FiscalPeriod = g.Key.FiscalPeriod, Amount = g.Sum(o => (decimal)o.Amount), Name = g.First().DonorName, MonthName = g.First().MonthName, PeopleId = g.Key.PeopleId }; // var q = from c in donations group c by c.FiscalPeriod into g select new {FiscalPeriod = g.Key, Amount = g.Sum(o=> Decimal.Parse( o.Amount)), MonthName = g.First().MonthName}; DataTable dSummary = new DataTable(); DataTable iSummary = new DataTable(); dSummary.Columns.Add("Donor"); iSummary.Columns.Add("Income"); for (int index = 0; index < 13; index++) { string monthName = GetMonth(index - 12); var monthData = q.Where(x => x.MonthName == monthName); _googleGraph += "data.addRow(['" + monthName + "', " + DecodeNumberString(monthData.Sum(x => x.Amount).ToString()) + ",,'',false,0,0]);" + Environment.NewLine; dSummary.Columns.Add(monthName); iSummary.Columns.Add(monthName); } var dnrs = (from c in donations orderby c.DonorName select new { c.PeopleId, c.DonorName }).GroupBy(x => x.PeopleId); int counter = 0; foreach (var dnr in dnrs) { _donorCodes.Add(dnr.First().PeopleId.ToString(), Server.HtmlEncode(dnr.First().DonorName)); dSummary.Rows.Add(); var DonorData = q.Where(x => x.PeopleId == dnr.Key).Distinct(); dSummary.Rows[counter]["Donor"] = dnr.First().PeopleId; foreach (var row in DonorData) { dSummary.Rows[counter][row.MonthName] = FormatNumber((double)(row.Amount)); } counter++; } dSummary.Rows.Add(); dSummary.Rows[counter]["Donor"] = "Total"; iSummary.Rows.Add(); iSummary.Rows[0]["Income"] = "Income"; for (int index = 13; index > 0; index--) { string monthName = GetMonth(index - 13); var monthData = q.Where(x => x.MonthName == monthName); dSummary.Rows[counter][monthName] = FormatNumber((double)(monthData.Sum(x => x.Amount))); iSummary.Rows[0][monthName] = FormatNumber((double)(monthData.Sum(x => x.Amount))); } gvDonationSummary.DataSource = dSummary; gvDonationSummary.DataBind(); gvIncome.DataSource = iSummary; gvIncome.DataBind(); SetColumnWidth(ref gvIncome, System.Drawing.Color.Blue, true); SetColumnWidth(ref gvDonationSummary, System.Drawing.Color.Black); lblDonationOnly.Visible = true; string data = "["; foreach (var transaction in donations) { data += @"{""AC"": """ + transaction.PeopleId + @"""," + @"""Am"": """ + (transaction.Amount) + @"""," + @"""De"": """ + Server.HtmlEncode(System.Text.RegularExpressions.Regex.Replace(transaction.DonorName, @"\r\n?|\n", " ")) + @"""," + @"""Me"": """ + Server.HtmlEncode(System.Text.RegularExpressions.Regex.Replace(transaction.Payment_Method, @"\r\n?|\n", " ")) + @"""," + @"""Dt"": """ + transaction.DonationDate.ToShortDateString() + @"""," + @"""Pe"": """ + transaction.DonationDate.Year + " - " + transaction.DonationDate.Month + @"""}," + Environment.NewLine; } data = data.TrimEnd('\r', '\n', ','); hfTransactions.Value = data + "]"; return; } if (dTnT.Url != MyCountries.SelectedValue) { dTnT.Url = MyCountries.SelectedValue; dTnT.Discover(); } string sessionId = (string)Session["TnT-" + MyCountries.SelectedItem.Text]; if (string.IsNullOrEmpty(sessionId)) { string service = dTnT.GetServiceName();//"https://tntdataserver.eu/dataserver/uk/dataquery/DataQueryService2.asmx"; string pt = getPT(service); string UserName; bool IsReg; try { sessionId = dTnT.Login(service, pt, true, out UserName, out IsReg); } catch (Exception ex) { if (ex.Message.Contains("facebook")) { Response.Redirect(DotNetNuke.Common.Globals.NavigateURL(PortalSettings.LoginTabId) + "?returnurl=" + DotNetNuke.Common.Globals.NavigateURL() + "&renew=true"); } throw; } Session.Add("TnT-" + MyCountries.SelectedItem.Text, sessionId); } try { var Profiles = from c in dTnT.GetStaffProfiles(sessionId) orderby c.Code == "" descending, c.Code ascending select c; MyProfiles.DataSource = Profiles; MyProfiles.DataTextField = "Description"; MyProfiles.DataValueField = "Code"; MyProfiles.DataBind(); } catch (Exception ex) { if (ex.Message.Contains("The session has expired.")) { Response.Redirect(DotNetNuke.Common.Globals.NavigateURL(PortalSettings.LoginTabId) + "?returnurl=" + DotNetNuke.Common.Globals.NavigateURL() + "&renew=true"); } throw; } if (MyProfiles.Items.Count > 0) MyProfiles.SelectedIndex = 0; else MyProfiles.ClearSelection(); MyProfiles.Enabled = true; MyAccounts.Enabled = true; lblDonationOnly.Visible = false; MyProfiles_SelectedIndexChanged(this, null); }
protected void btnLogin_Click(object sender, EventArgs e) { int CountryId = int.Parse(ddlAddCountries.SelectedValue); MinistryView.MinistryViewDataContext d = new MinistryView.MinistryViewDataContext(); ssoGUID = UserInfo.Profile.GetPropertyValue("ssoGUID"); var q = from c in d.MinistryView_UserCountryProfiles where c.GUID == ssoGUID && c.CountryId == CountryId select c; if (q.Count() > 0) { q.First().Username = tbUsername.Text; q.First().Password = AgapeEncryption.ADCEncrypt.Encrypt(tbPassword.Text); } else { var insert = new MinistryView.MinistryView_UserCountryProfile(); insert.CountryId = CountryId; insert.Username = tbUsername.Text; insert.Password = AgapeEncryption.ADCEncrypt.Encrypt(tbPassword.Text); insert.GUID = ssoGUID; d.MinistryView_UserCountryProfiles.InsertOnSubmit(insert); MyCountries.Items.Add(new ListItem(ddlAddCountries.SelectedItem.Text, "ADD" + insert.UserCountryProfileId)); } d.SubmitChanges(); MyCountries.SelectedIndex = MyCountries.Items.Count - 1; MyCountries_SelectedIndexChanged(this, null); }
protected void MyCountries_SelectedIndexChanged(object sender, EventArgs e) { clearTables(); if (MyCountries.Items.Count == 0) { return; } if (MyCountries.SelectedValue.StartsWith("ADD")) { //US don't load the typical API. MinistryView.MinistryViewDataContext dm = new MinistryView.MinistryViewDataContext(); var p = from c in dm.MinistryView_UserCountryProfiles where c.UserCountryProfileId == int.Parse(MyCountries.SelectedValue.Replace("ADD", "")) select c; double?EndBal = MPD_Service.GetAccountBalance(p.First().Username, (AgapeEncryption.AgapeEncrypt.Decrypt(p.First().Password)), p.First().MinistryView_AdditionalCountry.ServiceURL, "TntBalance"); if (EndBal != null) { EndingBalance.Text = EndBal.Value.ToString("0"); } List <MPD_Service.Donation> donations = MPD_Service.getDonations(p.First().Username, (AgapeEncryption.AgapeEncrypt.Decrypt(p.First().Password)), p.First().MinistryView_AdditionalCountry.ServiceURL, "TntDonList", _startDate, _endDate); var errors = donations.Where(x => x.PeopleId < 0); donations = donations.Where(x => x.PeopleId >= 0).ToList(); foreach (var row in errors) { switch (row.PeopleId) { case -1: showError(row.DonorName, true); //Open the login window? return; case -2: showError(row.DonorName, true); return; case -3: showError(row.DonorName, false); break; default: break; } } _googleGraph = ""; var q = from c in donations group c by new { c.FiscalPeriod, c.PeopleId } into g orderby g.Key.FiscalPeriod, g.First().DonorName select new { FiscalPeriod = g.Key.FiscalPeriod, Amount = g.Sum(o => (decimal)o.Amount), Name = g.First().DonorName, MonthName = g.First().MonthName, PeopleId = g.Key.PeopleId }; // var q = from c in donations group c by c.FiscalPeriod into g select new {FiscalPeriod = g.Key, Amount = g.Sum(o=> Decimal.Parse( o.Amount)), MonthName = g.First().MonthName}; DataTable dSummary = new DataTable(); DataTable iSummary = new DataTable(); dSummary.Columns.Add("Donor"); iSummary.Columns.Add("Income"); for (int index = 0; index < 13; index++) { string monthName = GetMonth(index - 12); var monthData = q.Where(x => x.MonthName == monthName); _googleGraph += "data.addRow(['" + monthName + "', " + DecodeNumberString(monthData.Sum(x => x.Amount).ToString()) + ",,'',false,0,0]);" + Environment.NewLine; dSummary.Columns.Add(monthName); iSummary.Columns.Add(monthName); } var dnrs = (from c in donations orderby c.DonorName select new { c.PeopleId, c.DonorName }).GroupBy(x => x.PeopleId); int counter = 0; foreach (var dnr in dnrs) { _donorCodes.Add(dnr.First().PeopleId.ToString(), Server.HtmlEncode(dnr.First().DonorName)); dSummary.Rows.Add(); var DonorData = q.Where(x => x.PeopleId == dnr.Key).Distinct(); dSummary.Rows[counter]["Donor"] = dnr.First().PeopleId; foreach (var row in DonorData) { dSummary.Rows[counter][row.MonthName] = FormatNumber((double)(row.Amount)); } counter++; } dSummary.Rows.Add(); dSummary.Rows[counter]["Donor"] = "Total"; iSummary.Rows.Add(); iSummary.Rows[0]["Income"] = "Income"; for (int index = 13; index > 0; index--) { string monthName = GetMonth(index - 13); var monthData = q.Where(x => x.MonthName == monthName); dSummary.Rows[counter][monthName] = FormatNumber((double)(monthData.Sum(x => x.Amount))); iSummary.Rows[0][monthName] = FormatNumber((double)(monthData.Sum(x => x.Amount))); } gvDonationSummary.DataSource = dSummary; gvDonationSummary.DataBind(); gvIncome.DataSource = iSummary; gvIncome.DataBind(); SetColumnWidth(ref gvIncome, System.Drawing.Color.Blue, true); SetColumnWidth(ref gvDonationSummary, System.Drawing.Color.Black); lblDonationOnly.Visible = true; string data = "["; foreach (var transaction in donations) { data += @"{""AC"": """ + transaction.PeopleId + @"""," + @"""Am"": """ + (transaction.Amount) + @"""," + @"""De"": """ + Server.HtmlEncode(System.Text.RegularExpressions.Regex.Replace(transaction.DonorName, @"\r\n?|\n", " ")) + @"""," + @"""Me"": """ + Server.HtmlEncode(System.Text.RegularExpressions.Regex.Replace(transaction.Payment_Method, @"\r\n?|\n", " ")) + @"""," + @"""Dt"": """ + transaction.DonationDate.ToShortDateString() + @"""," + @"""Pe"": """ + transaction.DonationDate.Year + " - " + transaction.DonationDate.Month + @"""}," + Environment.NewLine; } data = data.TrimEnd('\r', '\n', ','); hfTransactions.Value = data + "]"; return; } if (dTnT.Url != MyCountries.SelectedValue) { dTnT.Url = MyCountries.SelectedValue; dTnT.Discover(); } string sessionId = (string)Session["TnT-" + MyCountries.SelectedItem.Text]; if (string.IsNullOrEmpty(sessionId)) { string service = dTnT.GetServiceName();//"https://tntdataserver.eu/dataserver/uk/dataquery/DataQueryService2.asmx"; string pt = getPT(service); string UserName; bool IsReg; try { sessionId = dTnT.Login(service, pt, true, out UserName, out IsReg); } catch (Exception ex) { if (ex.Message.Contains("facebook")) { Response.Redirect(DotNetNuke.Common.Globals.NavigateURL(PortalSettings.LoginTabId) + "?returnurl=" + DotNetNuke.Common.Globals.NavigateURL() + "&renew=true"); } throw; } Session.Add("TnT-" + MyCountries.SelectedItem.Text, sessionId); } try { var Profiles = from c in dTnT.GetStaffProfiles(sessionId) orderby c.Code == "" descending, c.Code ascending select c; MyProfiles.DataSource = Profiles; MyProfiles.DataTextField = "Description"; MyProfiles.DataValueField = "Code"; MyProfiles.DataBind(); } catch (Exception ex) { if (ex.Message.Contains("The session has expired.")) { Response.Redirect(DotNetNuke.Common.Globals.NavigateURL(PortalSettings.LoginTabId) + "?returnurl=" + DotNetNuke.Common.Globals.NavigateURL() + "&renew=true"); } throw; } if (MyProfiles.Items.Count > 0) { MyProfiles.SelectedIndex = 0; } else { MyProfiles.ClearSelection(); } MyProfiles.Enabled = true; MyAccounts.Enabled = true; lblDonationOnly.Visible = false; MyProfiles_SelectedIndexChanged(this, null); }
protected void Page_Load(object sender, EventArgs e) { openAddCountry.ToolTip = Translate("btnAddCountryTooltip"); lblNew.Text = Translate("lblNew"); _startDate = FirstDayOfMonthFromDateTime(DateTime.Today.AddMonths(-12)); _endDate = LastDayOfMonthFromDateTime(DateTime.Today); if (!Page.IsPostBack) { //First Load Countries From Thads Search DSPU.DSPortalUsers dspus = new DSPU.DSPortalUsers(); ssoGUID = UserInfo.Profile.GetPropertyValue("ssoGUID"); var resp = dspus.GetPortalsForUser("CASAUTH", "thecatsaysmeow3", ssoGUID); //DSPortalsService.DSPortalsSoapClient dsw = new DSPortalsService.DSPortalsSoapClient(); //var resp = dsw.GetPortalsForUserJson(ssoGUID).Distinct(); var thisInstance = StaffBrokerFunctions.GetSetting("DataserverURL", PortalId); if (String.IsNullOrEmpty(thisInstance)) { thisInstance = "-unknownLocation"; } // MyCountries.Items.Add(new ListItem("South Africa", "https://tntdataserver.com/dataserver/rsa/dataquery/dataqueryservice.asmx")); ////MyCountries.Items.Add(new ListItem("Bulgaria Test", "https://tntdataserver.eu/dataserver/bgr/dataquery/dataqueryservice.asmx")); foreach (var p in resp.OrderByDescending(x => x.PortalUri.Contains(thisInstance)).ThenBy(y => y.PortalName)) { MyCountries.Items.Add(new ListItem(p.PortalName, p.PortalUri)); } MinistryView.MinistryViewDataContext dm = new MinistryView.MinistryViewDataContext(); var addCountries = from c in dm.MinistryView_UserCountryProfiles where c.GUID == ssoGUID select new { c.UserCountryProfileId, c.MinistryView_AdditionalCountry.CountryName }; foreach (var row in addCountries) { MyCountries.Items.Add(new ListItem(row.CountryName, "ADD" + row.UserCountryProfileId)); } //MyCountries.Items.Add(new ListItem("devtest","https://tntdataserver.eu/dataserver/devtest/dataquery/dataqueryservice.asmx")); //MyCountries.Items.Add(new ListItem("AgapeAOA","https://tntdataserver.eu/dataserver/AgapeAOA/dataquery/dataqueryservice.asmx")); //// if (MyCountries.Items.Count > 0) { MyCountries_SelectedIndexChanged(this, null); lblMessage.Visible = false; } else { lblMessage.Text = Translate("lblMessage"); string Message = "No DataServer accounts for: " + UserInfo.DisplayName + "(" + UserId.ToString() + ") " + ssoGUID + "CountryCount:" + MyCountries.Items.Count.ToString() + ";" + (resp.Count()).ToString(); DotNetNuke.Services.Log.EventLog.EventLogController objEventLog = new DotNetNuke.Services.Log.EventLog.EventLogController(); objEventLog.AddLog("Accounts", Message, PortalSettings, UserId, Services.Log.EventLog.EventLogController.EventLogType.ADMIN_ALERT); lblMessage.Visible = true; accordion.Visible = false; divBalance.Visible = false; IncExpGraph.Visible = false; } } // InitializeValues(); }