// kpi helper gets date of concern, user, concernid, title- think we only need id, user and event date- need a range of dates, to test public List<Concern> GetTestConcerns(User user, int number) { var Concerns = new List<Concern>(); var today = DateTime.Now.Date;// by default each concern is today- move month back by 1 for (int i = 1; i <= number; i++) { var date = DateTime.Now.AddMonths(0 - i); var Concern = new Concern(); string ConcernNumber = i.ToString(); Concern.Id = IlluminateDatabase.GenerateId<Concern>(); Concern.EventDate = date; Concern.SubjectUser = new SimpleUser(); Concern.SubjectUser.UserId = user.Id; Concern.SubjectUser.FullName = user.FirstName + " " + user.LastName; Concerns.Add(Concern); } return Concerns; }
/// <summary> /// Create a new concern for a person /// </summary> /// <param name="model"></param> /// <returns></returns> public JsonResult CreateConcern(ConcernViewModel model) { //remove Id from modelstate if tehre. ModelState.Remove("Id"); ModelState.Remove("EventDate"); ModelState.Remove("CreatedBy"); if (ModelState.IsValid) { using (var orgSession = OrgStore.OpenSession()) { var target = orgSession.Load<User>(model.SubjectUserId); var concern = new Concern { CreatedBy = OrgUser.ToSimpleUser(), EventDate = DateTime.Now, ConsolidatedCompletionDate = DateTime.Now, Comment = model.Comment, SubjectUser = target.ToSimpleUser(), Severity = model.Severity, Id = IlluminateDatabase.GenerateId<Concern>() }; orgSession.Store(concern); orgSession.SaveChanges(); return JsonSuccess(concern.ToTimelineItems(), "Concern created"); } } return JsonError("Invalid data"); }
private void CreateTestConcerns(IDocumentStore store) { using (var session = store.OpenSession()) { //for user 1 generate concerns that should cause inference var startDate = DateTime.Today.AddDays(0 - _typeConfig.PeriodDays).AddDays(1); for (var count = 0; count < _typeConfig.NumberInPeriod + 1; count++) { var concern = new Concern { EventDate = startDate, Id = IlluminateDatabase.GenerateId<Concern>(), Severity = 1, SubjectUser = _user1.ToSimpleUser() }; session.Store(concern); startDate = startDate.AddDays(1); } startDate = DateTime.Today.AddDays(0 - _typeConfig.PeriodDays).AddDays(1); //for user 2 add too few concerns to trigger inference for (var count = 0; count < _typeConfig.NumberInPeriod - 1; count++) { var concern = new Concern { EventDate = startDate, Id = IlluminateDatabase.GenerateId<Concern>(), Severity = 1, SubjectUser = _user2.ToSimpleUser() }; session.Store(concern); startDate = startDate.AddDays(1); } session.SaveChanges(); } }
private Concern GenerateAConcern(IUser user, Random rand) { var manager = user.Relationships.FirstOrDefault(r => r.RelationshipName == "LineManager"); if (manager == null) { return null; } var now = DateTime.UtcNow.Date; var date = RandomDate(rand, now.AddDays(0 - _config.DaysHistory), now); var concern = new Concern() { Comment =FormatComment( _config.ConcernConfig.PotentialComments.ElementAt(rand.Next(0, _config.ConcernConfig.PotentialComments .Count() )),user), CreatedBy = manager, Id = IlluminateDatabase.GenerateId<Concern>(), Severity = rand.Next(Concern.Min, Concern.Max), ConsolidatedCompletionDate = date, EventDate = date, SubjectUser = user.ToSimpleUser() }; return concern; }