public async Task <IActionResult> Track([Bind("Email,OpportunityName,OrganizationName,Date,Hours")] TrackHoursModel trackHoursModel) { if (ModelState.IsValid) { ApplicationUser user = _userManager.Users.FirstOrDefault(u => u.Email == trackHoursModel.Email); if (user == null) { ViewData["Error"] = "No Email Found"; } else { VolunteerHours volunteerHours = new VolunteerHours() { User = user, OpportunityName = trackHoursModel.OpportunityName, OrganizationName = trackHoursModel.OrganizationName, DateTime = trackHoursModel.Date, Hours = trackHoursModel.Hours }; _dbContext.VolunteerHours.Add(volunteerHours); await _dbContext.SaveChangesAsync(); Message = "Hours successfully submitted! Thank you!"; return(RedirectToAction("Track")); } } return(View(trackHoursModel)); }
public void CreateOrUpdate(ApplicationDbContext context, string userId) { VolunteerHours volunteerHours = context.VolunteerHours.Find(Id); DateTime dateTime = VollyConstants.ConvertToUtc(DateTime); if (volunteerHours != null) { volunteerHours.Hours = Hours; volunteerHours.DateTime = dateTime; volunteerHours.OpportunityName = OpportunityName; volunteerHours.OrganizationName = OrganizationName; } else { VolunteerHours newVolunteerHours = new VolunteerHours() { OpportunityName = OpportunityName, OrganizationName = OrganizationName, DateTime = dateTime, Hours = Hours, UserId = userId }; context.Add(newVolunteerHours); } context.SaveChanges(); }
public async Task <IActionResult> TrackExternalAsync(TrackExternalViewModel model) { var user = await _userManager.GetUserAsync(HttpContext.User); var volunteerHours = new VolunteerHours() { OrganizationName = model.OrganizationName, OpportunityName = model.OpportunityName, User = user, Hours = model.Hours }; var startTime = model.StartTime; if (string.IsNullOrEmpty(model.StartTime)) { startTime = "12:00am"; } if (!string.IsNullOrEmpty(model.StartDate)) { volunteerHours.DateTime = DateTime.Parse($"{model.StartDate} {model.StartTime}"); } _context.Add(volunteerHours); _context.SaveChanges(); TempData["Messages"] = $"{model.Hours} hours added."; return(RedirectToAction(nameof(Index))); }
public async Task <IActionResult> TrackOrganizationAsync(TrackOrganizationViewModel model) { var user = await _userManager.GetUserAsync(HttpContext.User); var organization = _context.Organizations .Where(x => x.Id == model.Id && x.Enabled) .SingleOrDefault(); if (organization == null) { TempData["Messages"] = "Organization not found."; return(RedirectToAction(nameof(Index))); } var volunteerHours = new VolunteerHours() { OrganizationId = organization.Id, OrganizationName = organization.Name, User = user, Hours = model.Hours }; if (!string.IsNullOrEmpty(model.StartDate) && !string.IsNullOrEmpty(model.StartTime)) { volunteerHours.DateTime = DateTime.Parse($"{model.StartDate} {model.StartTime}"); } _context.Add(volunteerHours); _context.SaveChanges(); TempData["Messages"] = $"{model.Hours} hours added."; return(RedirectToAction(nameof(Index))); }
public static VolunteerHoursModel FromVolunteerHours(VolunteerHours volunteerHours) { return(new VolunteerHoursModel() { Id = volunteerHours.Id, User = volunteerHours.User.Email, UserId = volunteerHours.User.Id, DateTime = VollyConstants.ConvertFromUtc(volunteerHours.DateTime), Hours = volunteerHours.Hours, OrganizationName = volunteerHours.OrganizationName, OpportunityName = volunteerHours.OpportunityName }); }
public static VolunteerHoursCSVModel FromVolunteerHours(VolunteerHours volunteerHours) { return(new VolunteerHoursCSVModel() { Company = volunteerHours.User?.Company?.Name, CompanyCode = volunteerHours.User?.Company?.CompanyCode, User = volunteerHours.User.Email, OrganizationName = volunteerHours.OrganizationName, OpportunityName = volunteerHours.OpportunityName, DateTime = VollyConstants.ConvertFromUtc(volunteerHours.DateTime), Hours = volunteerHours.Hours }); }
public static VolunteerHoursCSVModel FromVolunteerHours(VolunteerHours volunteerHours) { var csvModel = new VolunteerHoursCSVModel() { User = volunteerHours.User.Email, OrganizationName = volunteerHours.OrganizationName, OpportunityName = volunteerHours.OpportunityName, Hours = volunteerHours.Hours }; var dateTime = volunteerHours.DateTime; if (dateTime != null) { csvModel.DateTime = dateTime; } return(csvModel); }