示例#1
0
 public static List<MissionTripTotal> List(OrgSearchModel m)
 {
     var orgids = string.Join(",", m.FetchOrgs().Select(mm => mm.OrganizationId));
     var q = from t in DbUtil.Db.ViewMissionTripTotals
             join i in DbUtil.Db.SplitInts(orgids) on t.OrganizationId equals i.ValueX
             orderby t.OrganizationId, t.SortOrder
             select t;
     return q.ToList();
 }
示例#2
0
 public ActionResult AttendanceDetail(string Dt1, string Dt2, OrgSearchModel m)
 {
     var dt1 = Dt1.ToDate();
     if (!dt1.HasValue)
         dt1 = ChurchAttendanceModel.MostRecentAttendedSunday();
     var dt2 = Dt2.ToDate();
     if (!dt2.HasValue)
         dt2 = dt1.Value.AddDays(1);
     var m2 = new AttendanceDetailModel(dt1.Value, dt2, m);
     return View(m2);
 }
示例#3
0
 public AttendanceDetailModel(DateTime dt1, DateTime? dt2, OrgSearchModel model)
 {
     if (dt2.HasValue)
     {
         if (dt2.Value.TimeOfDay == TimeSpan.Zero)
             dt2 = dt2.Value.AddDays(1);
     }
     else
         dt2 = dt1.AddDays(1);
     this.dt1 = dt1;
     this.dt2 = dt2;
     Model = model;
 }
示例#4
0
 public ActionResult ApplyType(int id, OrgSearchModel m)
 {
     int? 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)
         foreach (var o in m.FetchOrgs())
             o.OrganizationTypeId = t;
     else
         return Content("error: missing type");
     DbUtil.Db.SubmitChanges();
     return Content("ok");
 }
示例#5
0
 public static EpplusResult Result(OrgSearchModel m)
 {
     var q = List(m);
     var cols = typeof(MissionTripTotal).GetProperties();
     var count = q.Count;
     var ep = new ExcelPackage();
     var ws = ep.Workbook.Worksheets.Add("Sheet1");
     ws.Cells["A2"].LoadFromCollection(q);
     var range = ws.Cells[1, 1, count + 1, cols.Length];
     var table = ws.Tables.Add(range, "Trips");
     for (var i = 0; i < cols.Length; i++)
     {
         var col = i + 1;
         var name = cols[i].Name;
         table.Columns[i].Name = name;
         var colrange = ws.Cells[1, col, count + 2, col];
     }
     ws.Cells[ws.Dimension.Address].AutoFitColumns();
     return new EpplusResult(ep, "MissionTripFunding.xlsx");
 }
示例#6
0
 public ActionResult ToggleTag(int id, int tagdiv)
 {
     var Db = DbUtil.Db;
     var organization = Db.LoadOrganizationById(id);
     if (tagdiv == 0)
         return Json(new { error = "bad tagdiv" });
     bool t = organization.ToggleTag(DbUtil.Db, tagdiv);
     Db.SubmitChanges();
     var m = new OrgSearchModel { StatusId = 0, TagDiv = tagdiv, Name = id.ToString() };
     var o = m.OrganizationList().SingleOrDefault();
     if (o == null)
         return Content("error");
     return View("Row", o);
 }
示例#7
0
 public ActionResult Results(OrgSearchModel m)
 {
     SaveToSession(m);
     return View(m);
 }
示例#8
0
 public ActionResult RenameDiv(int id, int divid, string name)
 {
     var d = DbUtil.Db.Divisions.Single(dd => dd.Id == divid);
     d.Name = name;
     DbUtil.Db.SubmitChanges();
     var m = new OrgSearchModel { ProgramId = id };
     return View("DivisionIds", m);
 }
示例#9
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));
 }
示例#10
0
 public ActionResult MainDiv(int id, int tagdiv)
 {
     var Db = DbUtil.Db;
     Db.SetMainDivision(id, tagdiv);
     var m = new OrgSearchModel { TagDiv = tagdiv, Name = id.ToString() };
     var o = m.OrganizationList().SingleOrDefault();
     if (o == null)
         return Content("error");
     return View("Row", o);
 }
示例#11
0
 public ActionResult ExportMembersExcel(OrgSearchModel m)
 {
     return new OrgsMembersExcelResult(m);
 }
示例#12
0
 public ActionResult ClassList(string org, OrgSearchModel m)
 {
     return new ClassListResult(m) { orgid = org == "curr" ? (int?)Util2.CurrentOrgId : null };
 }
示例#13
0
 public ClassListResult(OrgSearchModel m)
 {
     model = m;
 }
示例#14
0
 public RosterListResult(OrgSearchModel m)
 {
     model = m;
 }
示例#15
0
 public ActionResult MissionTripFunding(OrgSearchModel m)
 {
     return MissionTripFundingModel.Result(m);
 }
示例#16
0
        public static EpplusResult List(OrgSearchModel m)
        {
            var orgids = string.Join(",", m.FetchOrgs().Select(mm => mm.OrganizationId));

            return(Result(SenderGifts(orgids)));
        }
示例#17
0
 public ActionResult EmailAttendanceNotices(OrgSearchModel m)
 {
     m.SendNotices(this);
     return Content("ok");
 }
示例#18
0
 public ActionResult OrgLeaders(string org, OrgSearchModel m)
 {
     return new OrgLeadersResult(m) {orgid = org == "curr" ? (int?) Util2.CurrentOrgId : null};
 }
示例#19
0
        public ActionResult Index(int? div, int? progid)
        {
            Response.NoCache();
            var m = new OrgSearchModel();

            if (div.HasValue)
            {
                m.DivisionId = div;
                if (progid.HasValue)
                    m.ProgramId = progid;
                else
                    m.ProgramId = m.Division().ProgId;
                m.TagProgramId = m.ProgramId;
                m.TagDiv = div;
            }
            else if (progid.HasValue)
            {
                m.ProgramId = progid;
                m.TagProgramId = m.ProgramId;
            }
            else if (Session[STR_OrgSearch].IsNotNull())
            {
                var os = Session[STR_OrgSearch] as OrgSearchInfo;
                m.Name = os.Name;
                m.ProgramId = os.Program;
                m.DivisionId = os.Division;
                m.ScheduleId = os.Sched;
                m.StatusId = os.Status;
                m.OnlineReg = os.OnlineReg;
                m.TypeId = os.Type;
                m.CampusId = os.Campus;
            }
            return View(m);
        }
示例#20
0
 public ActionResult RecentAbsents(int? id, OrgSearchModel m)
 {
     var cn = new SqlConnection(Util.ConnectionString);
     cn.Open();
     var q = cn.Query("RecentAbsentsSP2", new {
         name = m.Name,
         prog = m.ProgramId,
         div = m.DivisionId,
         type = m.TypeId,
         campus = m.CampusId,
         sched = m.ScheduleId,
         status = m.StatusId,
         onlinereg = m.OnlineReg,
         mainfellowship = m.MainFellowship,
         parentorg = m.ParentOrg
      }, commandType: CommandType.StoredProcedure, commandTimeout: 600);
     return View(q);
 }
示例#21
0
 public ActionResult MakeNewDiv(int id, string name)
 {
     var d = new Division { Name = name, ProgId = id };
     d.ProgDivs.Add(new ProgDiv { ProgId = id });
     DbUtil.Db.Divisions.InsertOnSubmit(d);
     DbUtil.Db.SubmitChanges();
     var m = new OrgSearchModel { ProgramId = id, TagDiv = d.Id };
     return View("DivisionIds", m);
 }
示例#22
0
 public ActionResult Rollsheet(int? id, string org, string dt, int? meetingid, int? bygroup, string sgprefix, bool? altnames, string highlight, OrgSearchModel m)
 {
     var dt2 = dt.ToDate();
     return new RollsheetResult
     {
         qid = id,
         orgid = org == "curr" ? (int?)Util2.CurrentOrgId : null,
         groups = org == "curr" ? Util2.CurrentGroups : new int[] { 0 },
         meetingid = meetingid,
         bygroup = bygroup.HasValue,
         sgprefix = sgprefix,
         dt = dt2,
         altnames = altnames,
         highlightsg = highlight,
         Model = m
     };
 }
示例#23
0
 public ActionResult PasteSettings(OrgSearchModel m)
 {
     var frorg = (int)Session["OrgCopySettings"];
     foreach (var o in m.FetchOrgs())
         o.CopySettings(DbUtil.Db, frorg);
     return new EmptyResult();
 }
示例#24
0
 public ActionResult Roster(OrgSearchModel m)
 {
     return new RosterListResult(m);
 }
示例#25
0
 public ActionResult RepairTransactions(OrgSearchModel m)
 {
     foreach (var o in m.FetchOrgs())
         DbUtil.Db.PopulateComputedEnrollmentTransactions(o.OrganizationId);
     return new EmptyResult();
 }
示例#26
0
 public ActionResult ShirtSizes(string org, OrgSearchModel m)
 {
     var orgid = org == "curr" ? (int?)Util2.CurrentOrgId : null;
     var orgs = m.FetchOrgs();
     var q = from om in DbUtil.Db.OrganizationMembers
             join o in orgs on om.OrganizationId equals o.OrganizationId
             where o.OrganizationId == orgid || (orgid ?? 0) == 0
             group 1 by om.ShirtSize into g
             select new ShirtSizeInfo
             {
                 Size = g.Key,
                 Count = g.Count(),
             };
     return View(q);
 }
示例#27
0
 public ActionResult TagDivIds(int id)
 {
     var m = new OrgSearchModel { ProgramId = id };
     return View("DivisionIds", m);
 }
示例#28
0
 public OrgLeadersResult(OrgSearchModel m)
 {
     model = m;
 }
示例#29
0
 private void SaveToSession(OrgSearchModel m)
 {
     Session[STR_OrgSearch] = new OrgSearchInfo
     {
         Name = m.Name,
         Program = m.ProgramId,
         Division = m.DivisionId,
         Sched = m.ScheduleId,
         Status = m.StatusId,
         OnlineReg = m.OnlineReg,
         Type = m.TypeId,
         Campus = m.CampusId,
     };
 }
示例#30
0
 public OrgExcelResult(OrgSearchModel m)
 {
     this.m = m;
 }
示例#31
0
 public ActionResult DivisionIds(int id)
 {
     var m = new OrgSearchModel { ProgramId = id };
     return View(m);
     //return Json(OrgSearchModel.DivisionIds(id));
 }
示例#32
0
 public OrgExcelResult(OrgSearchModel m)
 {
     this.m = m;
 }