Пример #1
0
        public async Task <IActionResult> UpsertRole([FromBody] UpsertRoleCmd request)
        {
            try
            {
                var result = await _service.UpsertRole(request);

                return(Ok(result));
            }
            catch (BusinessLogicException ex)
            {
                return(BadRequest(new Response
                {
                    Status = false,
                    Message = ex.Message
                }));
            }
            catch (Exception e)
            {
                return(BadRequest(new Response
                {
                    Status = false,
                    Message = ErrorMessages.UnkownError
                              //e.Message
                }));
            }
        }
Пример #2
0
        public async Task <Response> UpsertRole(UpsertRoleCmd request)
        {
            /////
            var existItem = await _roleManager.FindByNameAsync(request.Name);

            if (existItem != null)
            {
                throw new BusinessLogicException(".این رکورد از قبل موجود می باشد");
            }
            /////
            if (!string.IsNullOrEmpty(request.Id))
            {
                var role = await _roleManager.FindByIdAsync(request.Id);

                if (role == null)
                {
                    throw new BusinessLogicException("خطای ناشناخته ای رخ داده است");
                }
                role.Name = request.Name;
                var result = await _roleManager.UpdateAsync(role);

                if (!result.Succeeded)
                {
                    throw new BusinessLogicException("ویرایش با شکست مواجه گردید");
                }
            }
            else
            {
                var role         = new ApplicationRole();
                var existingRole = await _roleManager.FindByNameAsync(request.Name);

                if (existingRole != null)
                {
                    throw new BusinessLogicException("این رول از قبل ثبت گردیده است");
                }

                role.Id   = Guid.NewGuid().ToString();
                role.Name = request.Name;

                var result = await _roleManager.CreateAsync(role);

                if (!result.Succeeded)
                {
                    throw new BusinessLogicException("خطایی صورت گرفته است");
                }
            }
            return(new Response
            {
                Status = true,
                Message = "success"
            });
        }