예제 #1
0
        public async Task <ActionResult <CreatePersonView> > CreatePersonRequest(
            CancellationToken cancellationToken,
            [FromRoute] Guid houseId,
            [FromBody] CreatePersonBinding binding)
        {
            try
            {
                var house = await _houseRepository.Get(houseId, cancellationToken);

                if (house == null)
                {
                    return(NotFound($"House not found: {houseId}"));
                }

                var person = new CreatePersonRequest(Guid.NewGuid(), binding.Name, binding.Surname, binding.Login, binding.Password, house);

                await _createPersonRepository.Create(person, cancellationToken);

                return(Ok(new CreatePersonView
                {
                    Id = person.Id,
                    Name = person.Name,
                    Surname = person.Surname,
                    Login = person.Login
                }));
            }
            catch (InvalidOperationException exception)
            {
                return(Conflict(exception.Message));
            }
        }
예제 #2
0
        public async Task <string> CreatePersonAsync(string personGroupId, string personName, string personDescription)
        {
            using (HttpClient client = new HttpClient())
            {
                client.DefaultRequestHeaders.Add(_ocpApimSubscriptionKey, _subscriptionKey);
                string uri = $"{_uriBase}/persongroups/{personGroupId}/persons";
                CreatePersonRequest body = new CreatePersonRequest()
                {
                    Name     = personName,
                    UserData = personDescription
                };
                string              bodyText    = JsonConvert.SerializeObject(body);
                StringContent       httpContent = new StringContent(bodyText, Encoding.UTF8, "application/json");
                HttpResponseMessage response    = await client.PostAsync(uri, httpContent);

                if (response.IsSuccessStatusCode)
                {
                    string content = await response.Content.ReadAsStringAsync();

                    CreatePersonResponse result = JsonConvert.DeserializeObject <CreatePersonResponse>(content);
                    return(result.PersonId);
                }
                throw CreateHttpException(await response.Content.ReadAsStringAsync());
            }
        }
예제 #3
0
        public async Task <IActionResult> Create([FromBody] CreatePersonRequest request)
        {
            var result = await _dispatcher.DispatchCommandAsync(new CreatePerson(
                                                                    PersonId.NewId(), new Name(request.FirstName, request.LastName)));

            return(Ok(result));
        }
예제 #4
0
        /// <summary>
        /// Create Person.
        /// </summary>
        /// <param name="payload"></param>
        /// <returns></returns>
        public async Task <CreatePersonResponse> CreatePerson(CreatePersonRequest payload)
        {
            Contract.Requires <ArgumentNullException>(payload != null);

            using (var request = CreateMessage(HttpMethod.Post, Uri.Combine("person"), payload))
                return(await SendAsync <CreatePersonResponse>(request));
        }
예제 #5
0
        /// <summary>
        /// Add a person
        /// </summary>
        /// <returns></returns>
        public async Task <Person> Create()
        {
            var createPersonRequest = new CreatePersonRequest("John", "Doe", 1.89);
            var personResponse      = await _mediator.Send(createPersonRequest);

            return(personResponse);
        }
예제 #6
0
        public void Exec(CreatePersonRequest request)
        {
            var e = request.ToEntity();

            e.Home = _homes.ById(request.Home);
            _persons.Add(e);
            _db.SaveChanges();
        }
예제 #7
0
        public async Task <SimplePerson> CreatePersonAsync(String token, CreatePersonRequest createPersonRequest)
        {
            httpClient.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", token);
            PersonsControllerClient _personClient = new PersonsControllerClient(httpClient);
            var a = await _personClient.CreatePersonAsync(createPersonRequest);

            return(a);
        }
예제 #8
0
 public void Initialize()
 {
     this.validator = new CreatePersonRequestValidator();
     this.dto       = new CreatePersonRequest
     {
         FirstName = "afirstname",
         LastName  = "alastname"
     };
 }
 public CreatePersonRequestValidatorSpec()
 {
     this.validator = new CreatePersonRequestValidator();
     this.dto       = new CreatePersonRequest
     {
         FirstName = "afirstname",
         LastName  = "alastname"
     };
 }
        public async Task Save(CreatePersonRequest request, CancellationToken cancellationToken)
        {
            if (_context.Entry(request).State == EntityState.Detached)
            {
                _context.CreatePersonRequests.Add(request);
            }

            await _context.SaveChangesAsync(cancellationToken);
        }
예제 #11
0
        public CreatePersonResponse Post(CreatePersonRequest request)
        {
            var person = this.personsApplication.Create(Request.ToCaller(), request.FirstName, request.LastName);

            Response.SetLocation(person);
            return(new CreatePersonResponse
            {
                Person = person
            });
        }
예제 #12
0
 public async Task <ApiResponse> Post([FromBody] CreatePersonRequest dto)
 {
     //if (ModelState.IsValid)
     //{
     //    var person = _mapper.Map<Person>(dto);
     //    return new ApiResponse("Record successfully created.", await _personManager.CreateAsync(person), Status201Created);
     //}
     //else
     throw new ApiException(ModelState.AllErrors());
 }
예제 #13
0
        public ActionResult Create(CreatePersonRequest request)
        {
            if (!ModelState.IsValid)
            {
                return(View(request));
            }

            _createFeature.Exec(request);
            return(RedirectToAction("Details", "Homes", new { id = request.Home }));
        }
예제 #14
0
        public async Task <ApiResponse> Post([FromBody] CreatePersonRequest createRequest)
        {
            if (!ModelState.IsValid)
            {
                throw new ApiProblemDetailsException(ModelState);
            }

            var person = _mapper.Map <Person>(createRequest);

            return(new ApiResponse("Record successfully created.", await _personManager.CreateAsync(person), Status201Created));
        }
예제 #15
0
 private Core.Entities.Person ToDomainEntity(CreatePersonRequest request)
 {
     return(new Core.Entities.Person(
                _personRepository.GenerateNewIdentity(),
                request.FirstName,
                request.LastName,
                request.DisplayName,
                request.Email,
                SecurityUtility.HashPassword(request.Password)
                ));
 }
        public PersonModel CreatePerson([FromBody] CreatePersonRequest request)
        {
            var data = new PersonData()
            {
                Name      = request.Name,
                Gender    = SXCore.Common.Enums.Gender.Male,
                DateBirth = null,
                DateDeath = null
            };

            return(_manager.CreatePerson(data).ToSerial());
        }
예제 #17
0
 public async Task <ApiResponse> Post([FromBody] CreatePersonRequest request)
 {
     if (ModelState.IsValid)
     {
         var person = _mapper.Map <Person>(request);
         return(new ApiResponse("Record successfully created.", await _personManager.CreateAsync(person), Status201Created));
     }
     else
     {
         throw new ApiException(ModelState.AllErrors());
     }
 }
예제 #18
0
        public async Task <IActionResult> Post(CreatePersonRequest request)
        {
            var person = new Person
            {
                Name = request.Name,
                Age  = request.Age
            };

            _context.Add(person);
            await _context.SaveChangesAsync();

            return(StatusCode(201, person));
        }
        public virtual async Task <IStatusResponse> CreateAsync(
            CreatePersonRequest model, CancellationToken token = default)
        {
            model.ArgumentNullCheck(nameof(model));

            using (var scope = TransactionFactory.CreateTransaction())
            {
                var result = await service.CreateAsync(model, token);

                scope.Complete();

                return(result);
            }
        }
예제 #20
0
        public ConfirmationResponse Execute(CreatePersonRequest request)
        {
            request.ThrowExceptionIfInvalid();

            if (_personRepository.CheckIfEmailExists(request.Email))
            {
                throw new UseCaseException("Person with same email already exists.");
            }

            var domainEntity = ToDomainEntity(request);
            var identity     = _personRepository.Create(domainEntity);

            return(CreateResponse(identity, domainEntity.DisplayName));
        }
        public void Validate_ShouldReturnFalse()
        {
            // arrange
            var request = new CreatePersonRequest();

            var context = new ValidationContext(request, null, null);
            var results = new List <ValidationResult>();

            // act
            var isModelStateValid = Validator.TryValidateObject(request, context, results, true);

            // assert
            Assert.False(isModelStateValid);
        }
예제 #22
0
 public static Person ToPerson(this CreatePersonRequest personRequest)
 {
     return(new Person
     {
         PersonId = Guid.NewGuid(),
         FirstName = personRequest.FirstName,
         LastName = personRequest.LastName,
         Alias = personRequest.Alias,
         UserStatus = personRequest.UserStatus,
         UserName = personRequest.UserName,
         Email = personRequest.Email,
         ProfileName = personRequest.ProfileName
     });
 }
        /// <summary>
        /// 创建人员,添加对应人员的人体轨迹信息。
        ///
        /// 请注意:
        /// - 我们希望您的输入为 严格符合轨迹图片 要求的图片。如果您输入的图片不符合轨迹图片要求,会对最终效果产生较大负面影响。请您尽量保证一个Trace中的图片人体清晰、无遮挡、连贯;
        /// - 一个人体轨迹(Trace)可以包含1-5张人体图片。提供越多质量高的人体图片有助于提升最终识别结果;
        /// - 无论您在单个Trace中提供了多少张人体图片,我们都将生成一个对应的轨迹(Trace)信息。即,Trace仅和本次输入的图片序列相关,和图片的个数无关;
        /// - 输入的图片组中,若有部分图片输入不合法(如图片大小过大、分辨率过大、无法解码等),我们将舍弃这部分图片,确保合法图片被正确搜索。即,我们将尽可能保证请求成功,去除不合法的输入;
        /// - 构成人体轨迹单张图片大小不得超过2M,分辨率不得超过1920*1080。
        /// </summary>
        /// <param name="req"><see cref="CreatePersonRequest"/></param>
        /// <returns><see cref="CreatePersonResponse"/></returns>
        public CreatePersonResponse CreatePersonSync(CreatePersonRequest req)
        {
            JsonResponseModel <CreatePersonResponse> rsp = null;

            try
            {
                var strResp = this.InternalRequestSync(req, "CreatePerson");
                rsp = JsonConvert.DeserializeObject <JsonResponseModel <CreatePersonResponse> >(strResp);
            }
            catch (JsonSerializationException e)
            {
                throw new TencentCloudSDKException(e.Message);
            }
            return(rsp.Response);
        }
예제 #24
0
        public virtual async Task <IStatusResponse> CreateAsync(
            CreatePersonRequest model, CancellationToken token = default)
        {
            model.ArgumentNullCheck(nameof(model));

            var entity = model.CreateEntity();

            context.Set <Person>().Add(entity);

            await context.SaveChangesAsync(token);

            await eventDispatcher.DispatchAsync(new Events.CreateEvent(entity));

            return(new StatusResponse(entity.Id));
        }
        public async Task <CreatePersonResponse> CreatePerson(CreatePersonRequest cp)
        {
            string url = $"/personGroups/{personGroupId}/persons";

            var bodyText    = JsonConvert.SerializeObject(cp);
            var httpContent = new StringContent(bodyText, Encoding.UTF8, "application/json");

            HttpResponseMessage hrm = await _client.PostAsync(url, httpContent);

            string result = await hrm.Content.ReadAsStringAsync();

            var response = JsonConvert.DeserializeObject <CreatePersonResponse>(result);

            return(response);
        }
예제 #26
0
        public async Task <bool> Handle(CreatePersonRequest message, IOutputPort <ServiceResponse> outputPort)
        {
            try
            {
                var id = await _repository.Create(new Person(message.Name));

                outputPort.Handle(id != Guid.Empty ? new ServiceResponse <Guid>(id, true) :
                                  throw new Exception("Empty Guid."));

                return(true);
            }
            catch (Exception ex)
            {
                outputPort.Handle(new ServiceResponse(new[] { new Error("person", ex.Message) }));
                return(false);
            }
        }
        public async Task <IActionResult> Create([FromBody] CreatePersonRequest request,
                                                 CancellationToken cancellationToken)
        {
            var personToCreate = new Person
            {
                Name = request.Name
            };

            var result = await _peopleCosmosStore.UpsertAsync(personToCreate, cancellationToken : cancellationToken);

            var personId = result.Entity.Id;

            if (personId == null)
            {
                return(BadRequest());
            }

            return(Ok(personId));
        }
        public void Validate_ShouldReturnTrue()
        {
            // arrange
            var fixture = new Fixture();
            var request = new CreatePersonRequest
            {
                FirstName = fixture.Create <string>(),
                LastName  = fixture.Create <string>()
            };

            var context = new ValidationContext(request, null, null);
            var results = new List <ValidationResult>();

            // act
            var isModelStateValid = Validator.TryValidateObject(request, context, results, true);

            // assert
            Assert.True(isModelStateValid);
        }
        private void LoadTestData()
        {
            House house = new House(Guid.NewGuid(), "г. Оренбург, ул. Чкалова, д. 32", "*****@*****.**", "admin");

            Person person = new Person(Guid.NewGuid(), "Данил", "Кушмухаметов", "*****@*****.**", "user", house);

            CreatePersonRequest request1 = new CreatePersonRequest(Guid.NewGuid(), "Пользователь", "1", "*****@*****.**", "user", house);
            CreatePersonRequest request2 = new CreatePersonRequest(Guid.NewGuid(), "Пользователь", "2", "*****@*****.**", "user", house);

            NewsPost newsPost1 = new NewsPost(Guid.NewGuid(), "В Оренбурге завершены поиски без вести пропавшего пенсионера",
                                              "О том, что Андрей Боженков найден, сообщили в ПСО «ОренСпас» со ссылкой на родственников.\n" +
                                              "Накануне, 12 июня, мужчина сам вернулся домой. С ним все в порядке. Жизни и здоровью пенсионера ничто не угрожает." +
                                              " В причинах его ухода из дома разбираются сотрудники полиции. Проводится проверка.",
                                              null, DateTime.UtcNow, house);
            NewsPost newsPost2 = new NewsPost(Guid.NewGuid(), "В Оренбурге завершены поиски без вести пропавшего пенсионера",
                                              "О том, что Андрей Боженков найден, сообщили в ПСО «ОренСпас» со ссылкой на родственников.\n" +
                                              "Накануне, 12 июня, мужчина сам вернулся домой. С ним все в порядке. Жизни и здоровью пенсионера ничто не угрожает." +
                                              " В причинах его ухода из дома разбираются сотрудники полиции. Проводится проверка.",
                                              null, DateTime.UtcNow, house);
            NewsPost newsPost3 = new NewsPost(Guid.NewGuid(), "В Оренбурге завершены поиски без вести пропавшего пенсионера",
                                              "О том, что Андрей Боженков найден, сообщили в ПСО «ОренСпас» со ссылкой на родственников.\n" +
                                              "Накануне, 12 июня, мужчина сам вернулся домой. С ним все в порядке. Жизни и здоровью пенсионера ничто не угрожает." +
                                              " В причинах его ухода из дома разбираются сотрудники полиции. Проводится проверка.",
                                              null, DateTime.UtcNow, house);

            Meeting meeting = new Meeting(Guid.NewGuid(), "Уборка прилегающей территории", DateTime.UtcNow.AddHours(5), "Описание мероприятия", null, house);

            Voting  voting   = new Voting(Guid.NewGuid(), "Голосование 1", house);
            Variant variant1 = new Variant(Guid.NewGuid(), "Первый вариант", voting);
            Variant variant2 = new Variant(Guid.NewGuid(), "Второй вариант", voting);
            Variant variant3 = new Variant(Guid.NewGuid(), "Третий вариант", voting);

            Houses.Add(house);
            People.Add(person);
            CreatePersonRequests.AddRange(new CreatePersonRequest[] { request1, request2 });
            News.AddRange(new NewsPost[] { newsPost1, newsPost2, newsPost3 });
            Meetings.Add(meeting);
            Votings.Add(voting);
            Variants.AddRange(new Variant[] { variant1, variant2, variant3 });

            SaveChanges();
        }
예제 #30
0
        public IActionResult CreatePerson([FromBody] CreatePersonRequest request, int?setId = null)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState.ValidationState));
            }

            if (Request.Headers.ContainsKey("nameOverride"))
            {
                request.Name = Request.Headers["nameOverride"].First();
            }

            Response.Headers.Add("Test", new Microsoft.Extensions.Primitives.StringValues("test"));

            return(Ok(new CreatePersonResponse
            {
                Id = setId != null ? setId.Value : 10,
                Name = request.Name,
                Age = request.Age
            }));
        }