コード例 #1
0
 public static IEnumerable<MemberInfo> List(OrgSearchModel model, string na = "", bool usecurrenttag = false)
 {
     var orgs = model.FetchOrgs();
     var q = from m in DbUtil.Db.OrganizationMembers
             join o in orgs on m.OrganizationId equals o.OrganizationId
             select m;
     if (usecurrenttag)
     {
         var tagid = DbUtil.Db.TagCurrent().Id;
         q = from m in q
             where m.Person.Tags.Any(tt => tt.Id == tagid)
             select m;
     }
     var q2 = from m in q
              where m.Person.LastName.StartsWith(na)
              orderby m.Person.Name2
              select new MemberInfo
              {
                  Name = m.Person.Name2,
                  Id = m.PeopleId,
                  Organization = m.Organization.OrganizationName,
                  Location = m.Organization.Location,
                  MemberType = m.MemberType.Description,
              };
     return q2;
 }
コード例 #2
0
 public ActionResult Index(int id, OrgSearchModel osm)
 {
     var model = new RepairTransactionsOrgs(id);
     var orgIds = osm.FetchOrgs().Select(oo => oo.OrganizationId).ToArray();
     model.Orgs = string.Join(",", orgIds);
     model.Count = orgIds.Length;
     model.RemoveExistingLop(DbUtil.Db, id, RepairTransactionsOrgs.Op);
     return View(model);
 }
コード例 #3
0
 public IncompleteRegistrations(OrgSearchModel orgsearch, int?days)
     : base("Date", "desc", true)
 {
     if (orgsearch != null)
     {
         var q = orgsearch.FetchOrgs();
         oids = string.Join(",", q.OrderBy(mm => mm.OrganizationName).Select(mm => mm.OrganizationId));
     }
     this.days = days;
     setPageSize();
 }
コード例 #4
0
 public IncompleteRegistrations(CMSDataContext db, OrgSearchModel orgsearch, int?days) : base(db)
 {
     Init();
     if (orgsearch != null)
     {
         var q = orgsearch.FetchOrgs();
         oids = string.Join(",", q.OrderBy(mm => mm.OrganizationName).Select(mm => mm.OrganizationId));
     }
     this.days = days;
     setPageSize();
 }
コード例 #5
0
 public RepairTransactionsOrgs(OrgSearchModel m)
 {
     Id = Util.UserPeopleId ?? 0;
     var q = (from o in m.FetchOrgs()
              select new OrgInfo
              {
                  Id = o.OrganizationId,
                  Name = o.OrganizationName,
                  Count = o.MemberCount ?? 0
              }).ToList();
     Count = q.Count();
     Orgs = JsonConvert.SerializeObject(q);
 }
コード例 #6
0
 public ActionResult ApplyType(int id, OrgSearchModel m)
 {
     var t = (id == -1 ? (int?) null : id);
     if (t == 0)
         return Content("");
     var ot = DbUtil.Db.OrganizationTypes.SingleOrDefault(tt => tt.Id == id);
     if (t.HasValue || ot != null)
     {
         var q = from o in DbUtil.Db.Organizations
                 join os in m.FetchOrgs() on o.OrganizationId equals os.OrganizationId
                 select o;
         foreach (var o in q)
             o.OrganizationTypeId = t;
     }
     else
         return Content("error: missing type");
     DbUtil.Db.SubmitChanges();
     return Content("ok");
 }
コード例 #7
0
 public ActionResult Count(OrgSearchModel m)
 {
     return Content(m.FetchOrgs().Count().ToString());
 }
コード例 #8
0
 public ActionResult RepairTransactions(OrgSearchModel m)
 {
     foreach (var oid in m.FetchOrgs().Select(oo => oo.OrganizationId))
         DbUtil.Db.PopulateComputedEnrollmentTransactions(oid);
     return new EmptyResult();
 }
コード例 #9
0
 public ActionResult PasteSettings(OrgSearchModel m)
 {
     var frorg = (int) Session["OrgCopySettings"];
     var orgs = from os in m.FetchOrgs()
                join o in DbUtil.Db.Organizations on os.OrganizationId equals o.OrganizationId
                select o;
     foreach (var o in orgs)
         o.CopySettings(DbUtil.Db, frorg);
     return new EmptyResult();
 }
コード例 #10
0
 public ActionResult OrganizationStructure(bool? active, OrgSearchModel m)
 {
     var orgs = m.FetchOrgs();
     var q = from os in DbUtil.Db.ViewOrganizationStructures
             join o in orgs on os.OrgId equals o.OrganizationId
             select os;
     return View(q.OrderBy(oo => oo.Program).ThenBy(oo => oo.Division).ThenBy(oo => oo.Organization));
 }
コード例 #11
0
        public ActionResult MovePendingToMember(OrgSearchModel m)
        {
            var orgids = string.Join(",", m.FetchOrgs().Select(mm => mm.OrganizationId));
            var i = DbUtil.Db.Connection.ExecuteScalar($@"
            UPDATE dbo.OrganizationMembers
            SET Pending = NULL
            FROM dbo.OrganizationMembers om
            JOIN dbo.SplitInts('{orgids}') i ON i.Value = om.OrganizationId
            WHERE om.Pending = 1

            SELECT @@ROWCOUNT
            ");
            return Content($"changed {i} people");
        }
コード例 #12
0
 public ActionResult MakeChildrenOf(int id, OrgSearchModel m)
 {
     var t = (id == -1 ? (int?) null : id);
     if (t == 0)
         return Content("");
     var org = DbUtil.Db.LoadOrganizationById(id);
     if (t.HasValue || org != null)
     {
         var q = from o in DbUtil.Db.Organizations
                 join os in m.FetchOrgs() on o.OrganizationId equals os.OrganizationId
                 where o.OrganizationId != id
                 select o;
         foreach (var o in q)
             o.ParentOrgId = t;
     }
     else
         return Content("error: missing type");
     DbUtil.Db.SubmitChanges();
     return Content("ok");
 }
コード例 #13
0
 public ActionResult CreateMeetings(DateTime dt, bool noautoabsents, OrgSearchModel model)
 {
     var orgIds = model.FetchOrgs().Select(oo => oo.OrganizationId).ToList();
     foreach (var oid in orgIds)
     {
         var db = DbUtil.Create(Util.Host);
         Meeting.FetchOrCreateMeeting(db, oid, dt, noautoabsents);
         db.Dispose();
     }
     DbUtil.LogActivity("Creating new meetings from OrgSearch");
     return Content("done");
 }
コード例 #14
0
 public ActionResult OrgIds(OrgSearchModel m)
 {
     var orgs = m.FetchOrgs();
     return Content(string.Join(",", orgs.Select(oo => oo.OrganizationId)));
 }
コード例 #15
0
 public ActionResult SqlReport(OrgSearchModel m, string report)
 {
     try
     {
         var orgs = m.FetchOrgs();
         var oids = string.Join(",", orgs.Select(oo => oo.OrganizationId));
         ViewBag.ExcelUrl = $"/OrgSearch/SqlReportExcel/{report}";
         ViewBag.DisplayName = report.SpaceCamelCase();
         ViewBag.Results = m.SqlTable(report, oids);
         ViewBag.OrgIds = oids;
         return View();
     }
     catch (Exception ex)
     {
         return Message(ex);
     }
 }