예제 #1
0
        /// <summary>
        /// Checks Name
        /// </summary>
        /// <param name="viewModel">Injected <see cref="AddApplicationRole"/></param>
        /// <returns>Instance of <see cref="Task{ApplicationRole}"/></returns>
        public async Task <ApplicationRole> CheckName(AddApplicationRole @viewModel)
        {
            ApplicationRole @applicationRole = await Context.ApplicationRole
                                               .AsNoTracking()
                                               .TagWith("CheckName")
                                               .FirstOrDefaultAsync(x => x.Name == @viewModel.Name);

            if (@applicationRole != null)
            {
                // Log
                string @logData = @applicationRole.GetType().Name
                                  + " with Name "
                                  + @applicationRole.Name
                                  + " was already found at "
                                  + DateTime.Now.ToShortTimeString();

                Logger.WriteGetItemFoundLog(@logData);

                throw new Exception(@applicationRole.GetType().Name
                                    + " with Name "
                                    + viewModel.Name
                                    + " already exists");
            }

            return(@applicationRole);
        }
예제 #2
0
        /// <summary>
        /// Adds Application Role
        /// </summary>
        /// <param name="viewModel">Injected <see cref="AddApplicationRole"/></param>
        /// <returns>Instance of <see cref="Task{ViewApplicationRole}"/></returns>
        public async Task <ViewApplicationRole> AddApplicationRole(AddApplicationRole @viewModel)
        {
            await CheckName(@viewModel);

            ApplicationRole @applicationRole = new()
            {
                Name             = @viewModel.Name,
                NormalizedName   = @viewModel.Name,
                ConcurrencyStamp = DateTime.Now.ToBinary().ToString(),
                ImageUri         = @viewModel.ImageUri,
            };

            await Context.ApplicationRole.AddAsync(@applicationRole);

            await Context.SaveChangesAsync();

            // Log
            string @logData = @applicationRole.GetType().Name
                              + " with Id "
                              + @applicationRole.Id
                              + " was added at "
                              + DateTime.Now.ToShortTimeString();

            Logger.WriteInsertItemLog(@logData);

            return(Mapper.Map <ViewApplicationRole>(@applicationRole));
        }
예제 #3
0
        public void CheckName()
        {
            AddApplicationRole viewModel = new AddApplicationRole()
            {
                Name     = "Role 2",
                ImageUri = "URL/Role_2_500px.png",
            };

            Exception exception = Assert.ThrowsAsync <Exception>(async() => await Service.CheckName(viewModel));

            Assert.Pass();
        }
예제 #4
0
        public async Task AddApplicationRole()
        {
            AddApplicationRole viewModel = new AddApplicationRole()
            {
                Name     = "Role 41",
                ImageUri = "URL/Role_41_500px.png",
            };

            await Service.AddApplicationRole(viewModel);

            Assert.Pass();
        }