コード例 #1
0
        public void CreateIdentifier()
        {
            var controller = new PersonsController(_context);
            CreateIdentifierViewModel model = new CreateIdentifierViewModel
            {
                PersonId = _context.Person.FirstOrDefault().Id,
                Type     = IdentifiersType.Email,
                Value    = "*****@*****.**"
            };

            var result = (ObjectResult)controller.CreateIdentifier(model);

            Assert.IsType <ApiResponse <bool> >(result.Value);
            var response = (ApiResponse <bool>)result.Value;

            Assert.Equal(((int)HttpStatusCode.OK).ToString(), response.StatusCode.ToString());
        }
コード例 #2
0
        /// <summary>
        /// Create Identifier
        /// </summary>
        /// <param name="context"></param>
        /// <param name="model"></param>
        /// <returns></returns>
        public ApiResponse <bool> CreateIdentifier(TestProjectDbContext context, CreateIdentifierViewModel model)
        {
            try
            {
                Person person = _repository.GetPersonbyId(context, model.PersonId);

                if (person == null)
                {
                    throw new ErrorException("Person Id is invalid");
                }
                var identifier = new Identifier()
                {
                    PersonId = person.Id,
                    Id       = Guid.NewGuid(),
                    Type     = model.Type,
                    Value    = model.Value
                };

                _repository.CreateIdentifier(context, identifier);
                return(ApiResponse <bool> .SuccessResult(true));
            }
            catch (Exception ex) when(ex is FailException || ex is ValidationException || ex is ArgumentException)
            {
                return(ApiResponse <bool> .ErrorResult(message : ex.Message, statusCode : HttpStatusCode.BadRequest));
            }
            catch (Exception ex) when(ex is ErrorException)
            {
                //LoggingManager.Error(ex.ToString());
                return(ApiResponse <bool> .ErrorResult(message : ex.Message));
            }
            catch (Exception ex)
            {
                //LoggingManager.Error(ex.ToString());
                return(ApiResponse <bool> .ErrorResult(message : ex.Message));
            }
        }
コード例 #3
0
        public IActionResult CreateIdentifier([FromBody] CreateIdentifierViewModel model)
        {
            var response = _personFacades.CreateIdentifier(_context, model);

            return(new ObjectResult(response));
        }