public CollaboratorManagerTests() { user = GetNewMockUser(); expenseStory = GetNewMockPersonalExpenseStory(user.UserId); new ExpenseStoryManager(new ExpenseStoryRepository(dbFactory), unitOfWork, null, null).AddExpenseStory(expenseStory); collaboratorMgr = new CollaboratorManager(new CollaboratorRepository(dbFactory), unitOfWork); }
public DollarTrackerResponse <ExpenseStorySummary> Post(ExpenseStory story) { var response = new DollarTrackerResponse <ExpenseStorySummary>(); try { story.ExpenseStoryId = UniqueKeyGenerator.DatePrefixShortKey(); story.CreatedBy = UserClaim.UserId; story.CreatedUtcDt = DateTime.UtcNow; expenseStoryManager.AddExpenseStory(story); //todo: need to do validations--some design pattern var collaborator = new Collaborator { CollaboratorId = Guid.NewGuid(), ExpenseStoryId = story.ExpenseStoryId, UserId = UserClaim.UserId, Status = true, CreatedUtcDt = DateTime.UtcNow }; collaboratorManager.AddCollaborator(collaborator); response.Data = expenseStorySummaryBuilder.Build(story.ExpenseStoryId); response.Data.ExpenseStory = story; } catch (Exception e) { //todo: log the server error response.Success = false; response.Message = "Unknown Server error"; } return(response); }
public void AddExpenseStory(ExpenseStory story) { if (!expenseStoryRepository.Any(x => x.ExpenseStoryId == story.ExpenseStoryId)) { expenseStoryRepository.Add(story); SaveExpenseStory(); } }
protected ExpenseStory GetNewMockExpenseStory(string expenseStoryTypeId, string userId) { var expenseStory = new ExpenseStory { ExpenseStoryId = Guid.NewGuid().ToString("N").Substring(0, 20), ExpenseStoryTypeId = expenseStoryTypeId, CreatedBy = userId, StartDt = DateTime.UtcNow, EndDt = DateTime.UtcNow.AddDays(10), CreatedUtcDt = DateTime.UtcNow, Income = (float)Faker.NumberFaker.Number(10000, 100000), Budget = (float)Faker.NumberFaker.Number(1000, 10000) }; return(expenseStory); }
public ExpenseManagerTests() { user = GetNewMockUser(); new UserManager(new UserRepository(dbFactory), unitOfWork).AddUser(user); expenseStory = GetNewMockPersonalExpenseStory(user.UserId); var expenseStoryRepository = new ExpenseStoryRepository(dbFactory); new ExpenseStoryManager(expenseStoryRepository, unitOfWork, new ExpenseManager(new ExpenseRepository(dbFactory), unitOfWork), new CollaboratorManager(new CollaboratorRepository(dbFactory), unitOfWork)).AddExpenseStory(expenseStory); collaborator = GetNewMockCollaborator(user.UserId, expenseStory.ExpenseStoryId); dataContext.Collaborator.Add(collaborator); dataContext.SaveChanges(); expenseRepository = new ExpenseRepository(dbFactory); expenseManager = new ExpenseManager(expenseRepository, unitOfWork); }
public void UpdateExpenseStory(ExpenseStory story) { var existingExpenseStory = expenseStoryRepository.Get(x => x.ExpenseStoryId == story.ExpenseStoryId); if (existingExpenseStory != null) { if (story.Income.HasValue) { existingExpenseStory.Income = story.Income; } if (story.Budget.HasValue) { existingExpenseStory.Budget = story.Budget; } expenseStoryRepository.Update(story); SaveExpenseStory(); } }