public bool TryAddToApplied(string id) { var currentJob = this._context.JobAdds.Find(id); var currentUser = this._accessor.HttpContext.User.Identity.Name; var currentUserObject = this._context.Users.Include(x => x.UserJobAdds).FirstOrDefault(x => x.UserName == currentUser); var isAppliedYet = currentUserObject.UserJobAdds.FirstOrDefault(x => x.JobAddId == currentJob.Id); if (isAppliedYet != null) { return(false); } var usersJobAdd = new UserJobAdds { JobAdd = currentJob, JobAddId = currentJob.Id, User = currentUserObject, UserId = currentUserObject.Id }; currentUserObject.UserJobAdds.Add(usersJobAdd); currentJob.CandidatesForPosition.Add(usersJobAdd); this._context.SaveChanges(); return(true); }
public void TestDeleteFromApplied_ShouldDeleteJobAdFromUserApplied() { var userId = Guid.NewGuid().ToString(); var jobId = Guid.NewGuid().ToString(); var user = new User() { Id = userId, UserName = "******", Email = "*****@*****.**", }; var job = new JobAdd() { Id = jobId, JobTitle = "js", Description = "js", JobType = JobType.FullTime }; var userJobAd = new UserJobAdds() { UserId = userId, User = user, JobAdd = job, JobAddId = jobId }; this._context.Users.Add(user); this._context.SaveChanges(); this._context.JobAdds.Add(job); this._context.SaveChanges(); user.UserJobAdds.Add(userJobAd); job.CandidatesForPosition.Add(userJobAd); this._context.SaveChanges(); var actual = this._context.UserJobAdds.FirstOrDefault(); Assert.Equal(actual.JobAddId, userJobAd.JobAddId); Assert.Equal(actual.UserId, userJobAd.UserId); this._userService.DeleteFromApplied(jobId); var expectedNull = this._context.UserJobAdds.FirstOrDefault(); Assert.Null(expectedNull); }