Exemplo n.º 1
0
        public async Task <ActionResult> Add()
        {
            var newOffer = new HR_Project_Database.Models.JobOffer()
            {
                JobTitle    = "",
                Description = "",
                Status      = HR_Project_Database.Models.JobOfferStatus.Inactive
            };

            context.JobOffer.Add(newOffer);
            await context.SaveChangesAsync();

            if (User.IsInRole(UserRole.HR))
            {
                var newResponsibility = new HR_Project_Database.Models.Responsibility()
                {
                    JobOfferId = newOffer.IdJobOffer,
                    UserId     = User.GetId(context)
                };

                context.Responsibility.Add(newResponsibility);
                await context.SaveChangesAsync();
            }

            return(RedirectToAction("Details", new { id = newOffer.IdJobOffer, isEditing = true }));
        }
Exemplo n.º 2
0
 public static bool CanManageJobOffer(this ClaimsPrincipal user, HR_Project_Database.Models.JobOffer jobOffer)
 {
     return(user.IsInRole(UserRole.Admin) ||
            (user.IsInRole(UserRole.HR) && jobOffer.Responsibility.Any(responsibility => responsibility.User.ExternalId == user.GetExternalId())));
 }