[Route("~/api/users/chrole")] //suprascrie ruta prestabilita [Route("api/[controller]")] public IActionResult Post([FromBody] UserUserRolePostModel userUserRolePostModel) //pentru creare de UserUserRole cu legatura manytomany intre User si UserRole { User curentUserLogIn = userService.GetCurentUser(HttpContext); string roleNameLoged = HttpContext.User.Claims.FirstOrDefault(claim => claim.Type == ClaimTypes.Role).Value; string curentUserRoleName = userUserRolesService.GetUserRoleNameById(userUserRolePostModel.UserId); if (roleNameLoged.Equals("UserManager")) { var anulUserRegistered = curentUserLogIn.DataRegistered; //data inregistrarii var curentMonth = DateTime.Now; //data curenta var nrLuni = curentMonth.Subtract(anulUserRegistered).Days / (365.25 / 12); //diferenta in luni dintre datele transmise if (nrLuni >= 6) { string activRoleName = userUserRolesService.GetUserRoleNameById(userUserRolePostModel.UserId); if (activRoleName.Equals("Admin")) { return(Forbid("Nu ai Rolul necesar pentru aceasta operatie !")); } if ((activRoleName.Equals("UserManager") | activRoleName.Equals("Regular")) && userUserRolePostModel.UserRoleName.Equals("Admin")) { return(Forbid("Nu ai Rolul necesar pentru aceasta operatie !")); } } else { return(Forbid("Nu ai Vechimea necesara ca UserManager pentru aceasta operatie !")); } } userUserRolesService.Create(userUserRolePostModel); return(Ok()); }
public void Post([FromBody] UserUserRolePostModel userUserRolePostModel) { userUserRoleService.Create(userUserRolePostModel); }