/// <summary> /// Generates the weekly report email for organizations. /// </summary> /// <param name="org">Organization to generate report for.</param> /// <returns>generatesMail Message</returns> public virtual MvcMailMessage WeeklyReport(Organization org) { var model = new Models.ViewModel.Mail.orgWeeklyReport (); model.frownCount = db.Smile.Include(p => p.point).Include(o => o.point.organization).Where(o => o.point.organization.orgID == org.orgID).Where(s => s.isSmile == false).Where(d => d.DateSubmitted > DateTime.Now.Subtract(new TimeSpan(7, 0, 0, 0, 0))).Count(); model.smileCount = db.Smile.Include(p => p.point).Include(o => o.point.organization).Where(o => o.point.organization.orgID == org.orgID).Where(s => s.isSmile == true).Where(d => d.DateSubmitted > DateTime.Now.Subtract(new TimeSpan(7, 0, 0, 0, 0))).Count(); model.org = org; ViewData.Model = model; return Populate(x => { x.Subject = "Weekly Report for " + org.name; x.ViewName = "WeeklyReport"; x.To.Add(org.email); }); }
/// <summary> /// Notifies about the creation of a new organization. /// </summary> /// <param name="org">Organization to notify.</param> /// <returns>Mail message notifying of new organization.</returns> public virtual MvcMailMessage newOrg(Organization org) { var model = new Models.ViewModel.Mail.NewOrgViewModel(); model.newOrg = org; model.userName = org.name; ViewData.Model = model; //ViewBag.Data = someObject; return Populate(x => { x.Subject = org.name + ", welcome to Send a Smile!"; x.ViewName = "newOrg"; x.To.Add(org.email); }); }
/// <summary> /// Generates a daily report for an organization. /// </summary> /// <param name="org">Organization to generate report for.</param> /// <returns>Mail message with daily report.</returns> public virtual MvcMailMessage DailyReport(Organization org) { var model = new Models.ViewModel.Mail.orgDailyReport(); model.frowns = db.Smile.Include(p => p.point).Include(o => o.point.organization).Where(o => o.point.organization.orgID == org.orgID).Where(s => s.isSmile == false).Where(d => d.DateSubmitted > DateTime.Now.Subtract(new TimeSpan(1, 0, 0, 0, 0))).ToList(); model.smiles = db.Smile.Include(p => p.point).Include(o => o.point.organization).Where(o => o.point.organization.orgID == org.orgID).Where(s => s.isSmile == true).Where(d => d.DateSubmitted > DateTime.Now.Subtract(new TimeSpan(1, 0, 0, 0, 0))).ToList(); model.topPoint = db.Point.Include(s => s.smiles).Include(o => o.organization).Where(o => o.organization.orgID == org.orgID).OrderByDescending(s => s.smiles.Count()).First(); ViewData.Model = model; //ViewBag.Data = someObject; return Populate(x => { x.Subject = "Daily Report for " + org.name; x.ViewName = "DailyReport"; x.To.Add(org.email); }); }
/// <summary> /// Adds a new organization to the database. /// </summary> /// <param name="org">Organization to add.</param> public void saveNewOrg(Organization org) { db.Organization.Add(org); db.SaveChanges(); }
/// <summary> /// Initializes the repository to work with the specified organization. /// </summary> /// <param name="orgId">ID of the organization to work with.</param> public OrganizationDetailsRepository(int orgId) { this._org = db.Organization.Find(orgId); }
/// <summary> /// Updates the org with new information. /// </summary> /// <param name="org">Organization object containing information to change.</param> public void updateOrg(Organization org) { this._org.email = org.email; this._org.name = org.name; this._org.url = org.url; db.SaveChanges(); }
public void initialize(int orgId) { this._org = db.Organization.Find(orgId); }