private HttpStatusCode GetStatusCode(Exception exception) { var statusCode = exception switch { DuplicateEntityException _ => HttpStatusCode.Conflict, EntityNotFoundException _ => HttpStatusCode.NotFound, ArgumentException _ => HttpStatusCode.BadRequest, _ => HttpStatusCode.InternalServerError }; return(statusCode); }
public void CreateUser_UserWithDuplicatedEmail_DuplicateEntityException() { User user = new User { Email = "*****@*****.**", FirstName = "First", SecondName = "Second" }; const string Password = "******"; IUserManager userManager = new UserManager(); userManager.CreateUser(user, Password); DuplicateEntityException expectedException = Assert.Throws <DuplicateEntityException>( () => userManager.CreateUser(user, Password)); Assert.AreEqual("User with email:'*****@*****.**' already exists in data base.", expectedException.Message); }
public void UpdateUser_DuplicateEmail_DuplicateEntityException() { User user = new User { Email = "*****@*****.**", FirstName = "Sample first name", IsDeleted = false, SecondName = "Sample second name" }; UserManager userManager = new UserManager(); userManager.CreateUser(user, "password"); user.Email = "*****@*****.**"; user.UserId = userManager.CreateUser(user, "password"); user.Email = "*****@*****.**"; DuplicateEntityException expectedException = Assert.Throws <DuplicateEntityException>( () => userManager.UpdateUser(user)); Assert.AreEqual(string.Format("User with email:'{0}' already exists in data base.", user.Email), expectedException.Message); }
protected void SetDuplicateErrorsToModelState(ModelStateDictionary modelState, DuplicateEntityException exception) { foreach (var businessKey in exception.BusinessKeys) { modelState.AddModelError("model." + businessKey, "Die Entität muss im System eindeutig sein."); } }