예제 #1
0
        private HttpStatusCode GetStatusCode(Exception exception)
        {
            var statusCode = exception switch
            {
                DuplicateEntityException _ => HttpStatusCode.Conflict,
                EntityNotFoundException _ => HttpStatusCode.NotFound,
                ArgumentException _ => HttpStatusCode.BadRequest,
                _ => HttpStatusCode.InternalServerError
            };

            return(statusCode);
        }
예제 #2
0
        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);
        }
예제 #3
0
        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);
        }
예제 #4
0
 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.");
     }
 }