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