public async Task <IActionResult> CreatePlace(PlaceCreateRequest request)
        {
            //Creazione modello richiesto da admin
            var model = new Place
            {
                Name          = request.Name,
                Holder        = request.Holder,
                Phone         = request.Phone,
                Email         = request.Email,
                Address       = request.Address,
                City          = request.City,
                Region        = request.Region,
                PostalZipCode = request.PostalZipCode,
                Country       = request.Country
            };

            //Invocazione del service layer
            var validations = await BasicLayer.CreatePlace(model, PlatformUtils.GetIdentityUserId(User));

            if (validations.Count > 0)
            {
                return(BadRequest(validations));
            }

            //Return contract
            return(Ok(ContractUtils.GenerateContract(model)));
        }
Пример #2
0
        public async Task <ApiResult <bool> > Create(PlaceCreateRequest request)
        {
            var place = new Place()
            {
                Name             = request.Name,
                Longtitude       = request.Longtitude,
                Latitude         = request.Latitude,
                TypeObject       = request.TypeObject,
                Lable            = request.Lable,
                Phone            = request.Phone,
                Rank             = request.Rank,
                Time             = request.Time,
                City             = request.City,
                Province         = request.Province,
                Village          = request.Village,
                Nest             = request.Nest,
                Street           = request.Street,
                ApartmentNumber  = request.ApartmentNumber,
                StartDate        = request.StartDate,
                EndDate          = request.EndDate,
                ShortDescription = request.ShortDescription,
                Description      = request.Description,
            };

            _place.InsertOne(place);
            return(new ApiSuccessResult <bool>());
        }
Пример #3
0
        public PlaceCreateResponse Create([FromBody] PlaceCreateRequest request)
        {
            PlaceCreateResponse response = new PlaceCreateResponse();

            placeRepository.Create(placeConvertor.toEntity(request));

            response.Status = 1;
            return(response);
        }
        public PlaceEntity toEntity(PlaceCreateRequest request)
        {
            PlaceEntity entity = new PlaceEntity();

            entity.Name          = request.Name;
            entity.Longitude     = request.Longitude;
            entity.Latitude      = request.Latitude;
            entity.TimeMachineId = request.TimeMachineId != null ? request.TimeMachineId.Value : 0;

            return(entity);
        }
Пример #5
0
        public async Task <ActionResult> Create([FromBody] PlaceCreateRequest request)
        {
            // Thêm object
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }
            var result = await _placeService.Create(request);

            return(Ok(result));
        }
Пример #6
0
        public async Task <IActionResult> Create(PlaceCreateRequest request)
        {
            if (!ModelState.IsValid)
            {
                return(View());
            }

            var result = await _placeApiClient.CreatePlace(request);

            if (result.IsSuccessed)
            {
                return(RedirectToAction("Index", "Home"));
            }
            ModelState.AddModelError("", result.Message);
            return(View(request));
        }
Пример #7
0
        public async Task <ApiResult <bool> > CreatePlace(PlaceCreateRequest request)
        {
            var client = _httpClientFactory.CreateClient();

            client.BaseAddress = new Uri(_configuration["BaseAddress"]);

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

            var response = await client.PostAsync($"/api/places", httpContent);

            var result = await response.Content.ReadAsStringAsync();

            if (response.IsSuccessStatusCode)
            {
                return(JsonConvert.DeserializeObject <ApiSuccessResult <bool> >(result));
            }
            return(JsonConvert.DeserializeObject <ApiErrorResult <bool> >(result));
        }
Пример #8
0
        public async Task ShouldCreatePlaceBeBadRequestOnNameAndCityDuplicate()
        {
            //utente corrente
            var user = GetIdentityUser();

            //Recupero Place esistente
            var existing = Scenario.Places.FirstOrDefault();

            if (existing == null)
            {
                Assert.Inconclusive("Place is invalid");
            }

            //Conteggio gli elementi prima della creazione
            var countBefore = Scenario.Places.Count;

            //Composizione della request
            var request = new PlaceCreateRequest
            {
                Name          = existing.Name,
                City          = existing.City,
                Holder        = RandomizationUtils.GenerateRandomString(15),
                Email         = RandomizationUtils.GenerateRandomEmail(),
                Region        = RandomizationUtils.GenerateRandomString(15),
                PostalZipCode = RandomizationUtils.GenerateRandomString(15),
                Country       = RandomizationUtils.GenerateRandomString(15)
            };

            //Invoke del metodo
            var response = await Controller.CreatePlace(request);

            //Conteggio gli elementi dopo la creazione
            var countAfter = Scenario.Places.Count;

            //Parsing della risposta e assert
            var parsed = ParseExpectedBadRequest(response);

            Assert.IsTrue(parsed != null &&
                          parsed.Data.Any());

            //verifica contatori
            Assert.AreEqual(countBefore, countAfter);
        }
Пример #9
0
        public async Task ShouldCreatePlaceBeOkHavingProvidedData()
        {
            //Conteggio gli elementi prima della creazione
            var countBefore = Scenario.Places.Count;

            //Composizione della request
            var request = new PlaceCreateRequest
            {
                Name          = RandomizationUtils.GenerateRandomString(50),
                Holder        = RandomizationUtils.GenerateRandomString(15),
                Phone         = RandomizationUtils.GenerateRandomString(10),
                Email         = RandomizationUtils.GenerateRandomEmail(),
                Address       = RandomizationUtils.GenerateRandomString(15),
                City          = RandomizationUtils.GenerateRandomString(15),
                Region        = RandomizationUtils.GenerateRandomString(15),
                PostalZipCode = RandomizationUtils.GenerateRandomString(15),
                Country       = RandomizationUtils.GenerateRandomString(15),
            };

            //Invoke del metodo
            var response = await Controller.CreatePlace(request);

            //Conteggio gli elementi dopo la creazione
            var countAfter = Scenario.Places.Count;

            //Parsing della risposta e assert
            var parsed = ParseExpectedOk <PlaceContract>(response);

            Assert.IsTrue(parsed != null &&
                          countAfter == countBefore + 1 &&
                          parsed.Data.Name == request.Name &&
                          parsed.Data.Holder == request.Holder &&
                          parsed.Data.Phone == request.Phone &&
                          parsed.Data.Email == request.Email &&
                          parsed.Data.Address == request.Address &&
                          parsed.Data.City == request.City &&
                          parsed.Data.Region == request.Region &&
                          parsed.Data.PostalZipCode == request.PostalZipCode &&
                          parsed.Data.Country == request.Country);
        }