public async virtual Task <ActionResult> Index() { var allBadges = await BadgeCollection.GetAllBadgesByTypeAsync(BadgeType.Unset); var allEarnedBadges = await EarnedBadgeCollection.GetAllBadgesForUserByTypeAsync(AuthenticatedUser.EmployeeId, BadgeType.Unset); var allActivities = await ActivityCollection.GetAllActivitiesAsync(true); var corporateBadges = allBadges.Where(b => b.Type == BadgeType.Corporate); var communityBadges = allBadges.Where(b => b.Type == BadgeType.Community); var earnedCorporateBadges = allEarnedBadges.Where(b => b.Type == BadgeType.Corporate); var earnedCommunityBadges = allEarnedBadges.Where(b => b.Type == BadgeType.Community); var sortedCorporateBadges = corporateBadges.OrderByDescending(b => b.BadgePriority); var sortedCommunityBadges = communityBadges.OrderByDescending(b => b.BadgePriority); var badgeIndexViewModel = new BadgeIndexViewModel() { CorporateBadges = sortedCorporateBadges, CorporateEarnedBadges = earnedCorporateBadges, CommunityBadges = sortedCommunityBadges, CommunityEarnedBadges = earnedCommunityBadges, SubmittedActivity = SubmitActivity.CreateActivitySubmission(AuthenticatedUser.EmployeeId), AvailableUsers = await UserCollection.GetAllAvailabileUsersForCurrentUserAsync(), }; badgeIndexViewModel.AllActivities = allActivities; badgeIndexViewModel.PossibleActivities = allActivities.Select(ai => new SelectListItem() { Text = ai.Name, Value = ai.Id.ToString(CultureInfo.CurrentCulture) }); return(View(badgeIndexViewModel)); }
public async Task GetActivitySubmissionById() { var submitActivity = await SubmitActivity.GetActivitySubmissionByIdAsync(1); Assert.IsNotNull(submitActivity); Assert.AreEqual(1, submitActivity.Id); }
private ISubmitActivity CreateSubmitActivity(string newNotes, int employeeId) { var submitActivity = SubmitActivity.CreateActivitySubmission(employeeId); submitActivity.Notes = newNotes; submitActivity.ActivityId = 2; submitActivity = (ISubmitActivity)submitActivity.Save(); return(submitActivity); }
public async virtual Task <ActionResult> SubmitActivityForm() { var submittedActivity = SubmitActivity.CreateActivitySubmission(AuthenticatedUser.EmployeeId); TryUpdateModel(submittedActivity, "SubmittedActivity"); var activities = await ActivityCollection.GetAllActivitiesAsync(false); var badges = await BadgeCollection.GetAllBadgesForActivitiesAsync(activities.Where(x => x.Id == submittedActivity.ActivityId).Select(x => x.Id)); var badge = badges.Select(x => new { x.Id, x.BadgeAwardValue, x.BadgeAwardValueMax }).FirstOrDefault(); if (submittedActivity.AwardValue > badge.BadgeAwardValueMax || submittedActivity.AwardValue < badge.BadgeAwardValue) { ModelState.AddModelError("SubmittedActivity.AwardValue", String.Format("Award Value not within acceptable range. ({0} - {1})", badge.BadgeAwardValue, badge.BadgeAwardValueMax)); } else if (string.IsNullOrWhiteSpace(submittedActivity.EmployeeIds)) { ModelState.AddModelError("SubmittedActivity.EmployeeIds", ApplicationResources.NoEmployeeIdsErrorMsg); } else { //Parse the list of employee ids the client form sent us. List <int> empIds = submittedActivity.EmployeeIds.Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries) .Convert(delegate(string item, out int result) { return(int.TryParse(item.Trim(), out result)); }); bool allSaved = true; foreach (int empId in empIds) { var singleActivity = SubmitActivity.CreateActivitySubmission(empId); singleActivity.ActivityId = submittedActivity.ActivityId; singleActivity.ActivitySubmissionDate = submittedActivity.ActivitySubmissionDate; singleActivity.Notes = submittedActivity.Notes; singleActivity.AwardValue = submittedActivity.AwardValue; var singActEdit = await ActivityEdit.GetActivityEditByIdAsync(singleActivity.ActivityId); singleActivity.EntryType = singActEdit.EntryType; if (!await SaveObjectAsync(singleActivity, true)) { allSaved = false; } } if (allSaved) { return(RedirectToAction(await Mvc.Activities.Actions.Index())); } } return(await Index()); }
public async Task DeleteSubmitActivity() { var newNotes = "Test Notes"; var employeeId = 4; var submitActivity = CreateSubmitActivity(newNotes, employeeId); var id = submitActivity.Id; submitActivity.Delete(); submitActivity.Save(); await SubmitActivity.GetActivitySubmissionByIdAsync(id); Assert.Fail("Submit Activity should not return."); }
/// <summary> /// /// </summary> /// <param name="activity"></param> /// <returns></returns> public async Task <IHttpActionResult> Post([FromBody] ExternalActivitySubmissionDTO activity) { //Get the employee ID ICustomIdentityDAL customIdentityDAL = IoC.Container.Resolve <ICustomIdentityDAL>(); var identity = await customIdentityDAL.RetrieveIdentityAsync(activity.UserADName); var submitActivity = SubmitActivity.CreateActivitySubmission(identity.Id); submitActivity.Notes = activity.Notes; submitActivity.ActivityId = activity.ActivityId; submitActivity = (ISubmitActivity)submitActivity.Save(); return(Ok()); }
public async Task UpdateActivitySubmission() { var newNotes = "Test Notes"; var submitActivity = await SubmitActivity.GetActivitySubmissionByIdAsync(1); var oldNotes = submitActivity.Notes; submitActivity.Notes = newNotes; submitActivity = (ISubmitActivity)submitActivity.Save(); Assert.AreEqual(newNotes, submitActivity.Notes); //reset submitActivity.Notes = oldNotes; submitActivity.Save(); }
public async virtual Task <ActionResult> Index() { var submittedActivities = await SubmittedActivityCollection.GetSubmittedActivitiesByEmployeeIdAsync(AuthenticatedUser.EmployeeId, null, null); var activityIndexViewModel = new ActivityIndexViewModel() { SubmittedActivity = SubmitActivity.CreateActivitySubmission(AuthenticatedUser.EmployeeId), AvailableUsers = await UserCollection.GetAllAvailabileUsersForCurrentUserAsync(), }; var allActivities = await ActivityCollection.GetAllActivitiesAsync(true); activityIndexViewModel.PossibleActivities = allActivities.Select(ai => new SelectListItem() { Text = ai.Name, Value = ai.Id.ToString(CultureInfo.CurrentCulture) }); activityIndexViewModel.PreviousActivities = await SubmittedActivityCollection.GetSubmittedActivitiesByEmployeeIdAsync(AuthenticatedUser.EmployeeId, null, null); return(View(Mvc.Activities.Views.Index, activityIndexViewModel)); }
public async Task StartAsync() { while (true) { try { var fileName = FileLocation; if (System.IO.File.Exists(fileName)) { var connectionString = string.Format( "Provider=Microsoft.Jet.OLEDB.4.0; data source={0}; Extended Properties=Excel 8.0;", fileName); var administrator = await CustomPrincipal.LoadAsync("JustinW"); ApplicationContext.User = administrator; using (var adapter = new OleDbDataAdapter("SELECT * FROM [Data$]", connectionString)) { var ds = new DataSet(); adapter.Fill(ds, "ActivityData"); DataTable data = ds.Tables["ActivityData"]; foreach (DataRow row in data.Rows) { var activityId = row.Field <Double>("Activity Id"); var adName = row.Field <string>("Magenic Username"); var dateOccurred = row.Field <DateTime>("Date Occurred"); var comments = row.Field <string>("Comments"); ICslaPrincipal employee = null; try { employee = await CustomPrincipal.LoadAsync(adName); } catch (Exception ex) { Logger.Error <ADProcessor>(ex.Message, ex); } if (employee != null) { var activitySubmission = SubmitActivity.CreateActivitySubmission(((ICustomIdentity)administrator.Identity).EmployeeId); activitySubmission.ActivityId = (int)activityId; activitySubmission.EmployeeId = ((ICustomIdentity)employee.Identity).EmployeeId; activitySubmission.ActivitySubmissionDate = dateOccurred; activitySubmission.Notes = comments; await activitySubmission.SaveAsync(); } } } System.IO.File.Delete(fileName); } } catch (Exception ex) { Logger.Error <ADProcessor>(ex.Message, ex); } finally { Thread.Sleep(SleepInterval); } } }
public async Task StartAsync() { while (true) { try { var fileName = FileLocation; if (System.IO.File.Exists(fileName)) { var connectionString = string.Format( "Provider=Microsoft.Jet.OLEDB.4.0; data source={0}; Extended Properties=Excel 8.0;", fileName); using (var adapter = new OleDbDataAdapter("SELECT * FROM [Data$]", connectionString)) { var ds = new DataSet(); adapter.Fill(ds, "AnniversaryData"); DataTable data = ds.Tables["AnniversaryData"]; var activityId = ActivityId; foreach (DataRow row in data.Rows) { var adName = row.Field <string>("Magenic Username"); var years = int.Parse(row.Field <string>("Years")); var submittedActivities = await SubmittedActivityCollection.GetSubmittedActivitiesByADNameAsync(adName, activityId); if (submittedActivities.Count < years) { ICslaPrincipal employee = null; try { employee = await BusinessLogic.Security.CustomPrincipal.LoadAsync(adName); } catch (Exception ex) { Logger.Error <ADProcessor>(ex.Message, ex); } if (employee != null) { for (var i = 0; i < (years - submittedActivities.Count); i++) { var activitySubmission = SubmitActivity.CreateActivitySubmission(((ICustomIdentity)employee.Identity).EmployeeId); activitySubmission.ActivityId = activityId; activitySubmission.ActivitySubmissionDate = DateTime.UtcNow; activitySubmission.Notes = "Created by automatic feed."; await activitySubmission.SaveAsync(); } } } } } System.IO.File.Delete(fileName); } } catch (Exception ex) { Logger.Error <ADProcessor>(ex.Message, ex); } finally { Thread.Sleep(SleepInterval); } } }