Beispiel #1
0
        /// <inheritdoc />
        public Either <Error, DAL.DTO.DtoRole> CreateRole(DtoNewRole newRole)
        {
            //TODO: не стыковка API - в описании модуля создание одной роли, в методе юзер сервиса написано создание ролей, но создает все равно одну роль.
            var result = _userService.CreateRoles(newRole);

            return(result);
        }
Beispiel #2
0
        /// <summary>
        /// Создать роль.
        /// </summary>
        /// <param name="newRole"> DTO с данными для создания роли. </param>
        /// <returns> Возращает монаду создания роли. </returns>
        public static Either <Error, Role> Create(DtoNewRole newRole)
        {
            var role = new Role
            {
                Name = newRole.Name
            };

            return(Right <Error, Role>(role));
        }
Beispiel #3
0
        /// <summary>
        /// Создать роль.
        /// </summary>
        /// <param name="newRole"> DTO с данными для создания роли. </param>
        /// <returns> Возвращает монаду созданной роли. </returns>
        public Either <Error, DtoRole> CreateRoles(DtoNewRole newRole)
        {
            var result = Role.Create(newRole).Bind(
                role =>
            {
                _appContext.Roles.Add(role);
                return(_appContext.TrySaveChanges().Bind <Role>(_ => role));
            }).Bind(
                role =>
            {
                var createdRole = new DtoRole(role.Id, role.Name);
                return(Right <Error, DtoRole>(createdRole));
            });

            return(result);
        }