private void Email2(IQueryable <Person> q, int queuedBy, string fromAddr, string fromName, string subject, string body) { //db.Log($"Email2 {subject}"); var from = new MailAddress(fromAddr, fromName); q = from p in q where p.EmailAddress != null where p.EmailAddress != "" where (p.SendEmailAddress1 ?? true) || (p.SendEmailAddress2 ?? false) select p; var tag = db.PopulateSpecialTag(q, DbUtil.TagTypeId_Emailer); Util.IsInRoleEmailTest = TestEmail; var queueremail = db.People.Where(pp => pp.PeopleId == queuedBy).Select(pp => pp.EmailAddress).Single(); Util.UserEmail = queueremail; db.SetCurrentOrgId(CurrentOrgId); var emailqueue = db.CreateQueue(queuedBy, from, subject, body, null, tag.Id, false); emailqueue.Transactional = Transactional; db.SendPeopleEmail(emailqueue.Id); //db.Log($"Email2 (queued) {subject}"); }
public void Email(string savedquery, int queuedBy, string fromaddr, string fromname, string subject, string body, bool transactional = false) { var from = new MailAddress(fromaddr, fromname); var qB = Db.QueryBuilderClauses.FirstOrDefault(c => c.Description == savedquery && c.SavedBy == "public"); if (qB == null) { return; } var q = Db.PeopleQuery(qB.QueryId); if (qB.ParentsOf) { q = Db.PersonQueryParents(q); } q = from p in q where p.EmailAddress != null where p.EmailAddress != "" where (p.SendEmailAddress1 ?? true) || (p.SendEmailAddress2 ?? false) select p; var tag = Db.PopulateSpecialTag(q, DbUtil.TagTypeId_Emailer); var emailqueue = Db.CreateQueue(queuedBy, from, subject, body, null, tag.Id, false); Db.SendPeopleEmail(emailqueue.Id); }
public string SqlNameCountArray(string title, string sql) { // var qb = db.PeopleQuery2(s); // if (qb == null) // return 0; var cs = db.CurrentUser.InRole("Finance") ? Util.ConnectionStringReadOnlyFinance : Util.ConnectionStringReadOnly; var cn = new SqlConnection(cs); cn.Open(); string declareqtagid = null; if (sql.Contains("@qtagid")) { var id = db.FetchLastQuery().Id; var tag = db.PopulateSpecialTag(id, DbUtil.TagTypeId_Query); declareqtagid = "DECLARE @qtagid INT = {0}\n".Fmt(tag.Id); } sql = "{0}{1}".Fmt(declareqtagid, sql); var q = cn.Query(sql); var list = q.Select(rr => new NameValuePair() { Name = rr.Name, Value = rr.Cnt }).ToList(); if (list.Count == 0) { return(@"[ ['No Data', 'Count'], ['Dummy Value 1', 1], ['Dummy Value 2', 2], ['Dummy Value 3', 3], ]"); } return(@"[ ['{0}', 'Count'], {1} ]".Fmt(title, string.Join(",\n", list))); }
private void Email2(CMSDataContext db2, IQueryable <Person> q, int queuedBy, string fromAddr, string fromName, string subject, string body) { var from = new MailAddress(fromAddr, fromName); q = from p in q where p.EmailAddress != null where p.EmailAddress != "" where (p.SendEmailAddress1 ?? true) || (p.SendEmailAddress2 ?? false) select p; var tag = db2.PopulateSpecialTag(q, DbUtil.TagTypeId_Emailer); Util.IsInRoleEmailTest = TestEmail; var queueremail = db2.People.Where(pp => pp.PeopleId == queuedBy).Select(pp => pp.EmailAddress).SingleOrDefault(); if (!queueremail.HasValue()) { throw new Exception("QueuedBy PeopleId not found in model.Email"); } Util.UserEmail = queueremail; db2.SetCurrentOrgId(CurrentOrgId); var emailqueue = db2.CreateQueue(queuedBy, from, subject, body, null, tag.Id, false); emailqueue.Transactional = Transactional; db2.SendPeopleEmail(emailqueue.Id); }
private string RunScriptSql(CMSDataContext db, string parameter, string body, DynamicParameters p) { if (!CanRunScript(body)) return "Not Authorized to run this script"; if (body.Contains("@qtagid", ignoreCase:true)) { var id = db.FetchLastQuery().Id; var tag = db.PopulateSpecialTag(id, DbUtil.TagTypeId_Query); int? qtagid = tag.Id; p.Add("@qtagid", qtagid); ViewBag.Type = "SqlReport"; } else if (body.Contains("@CurrentOrgId", ignoreCase:true)) { var oid = DbUtil.Db.CurrentOrgId0; p.Add("@CurrentOrgId", oid); if(oid > 0) { var name = DbUtil.Db.LoadOrganizationById(oid).FullName2; ViewBag.Name2 = name; ViewBag.Type = "SqlReport"; } } else if (body.Contains("@OrgIds", ignoreCase: true)) { var oid = DbUtil.Db.CurrentOrgId0; p.Add("@OrgIds", oid.ToString()); ViewBag.Type = "OrgSearchSqlReport"; if (body.Contains("--class=StartEndReport")) { p.Add("@MeetingDate1", DateTime.Now.AddDays(-90)); p.Add("@MeetingDate2", DateTime.Now); } } else ViewBag.Type = "SqlReport"; if (body.Contains("@userid", ignoreCase:true)) p.Add("@userid", Util.UserId); p.Add("@p1", parameter ?? ""); return body; }
private string RunScriptSql(CMSDataContext Db, string parameter, string body, DynamicParameters p) { if (!CanRunScript(body)) return "Not Authorized to run this script"; if (body.Contains("@qtagid")) { var id = Db.FetchLastQuery().Id; var tag = Db.PopulateSpecialTag(id, DbUtil.TagTypeId_Query); p.Add("@qtagid", tag.Id); } p.Add("@p1", parameter ?? ""); return body; }
private void Email2(CMSDataContext db2, IQueryable<Person> q, int queuedBy, string fromAddr, string fromName, string subject, string body) { var from = new MailAddress(fromAddr, fromName); q = from p in q where p.EmailAddress != null where p.EmailAddress != "" where (p.SendEmailAddress1 ?? true) || (p.SendEmailAddress2 ?? false) select p; var tag = db2.PopulateSpecialTag(q, DbUtil.TagTypeId_Emailer); Util.IsInRoleEmailTest = TestEmail; var queueremail = db2.People.Where(pp => pp.PeopleId == queuedBy).Select(pp => pp.EmailAddress).SingleOrDefault(); if(!queueremail.HasValue()) throw new Exception("QueuedBy PeopleId not found in model.Email"); Util.UserEmail = queueremail; db2.SetCurrentOrgId(CurrentOrgId); var emailqueue = db2.CreateQueue(queuedBy, from, subject, body, null, tag.Id, false); emailqueue.Transactional = Transactional; db2.SendPeopleEmail(emailqueue.Id); }