示例#1
0
        public IHttpActionResult CreatePlace([FromBody] PlaceBuildInfo buildInfo)
        {
            if (buildInfo == null)
            {
                return(this.BadRequest());
            }

            string            sessionId = "";
            CookieHeaderValue cookie    = Request.Headers.GetCookies("SessionId").FirstOrDefault();

            if (cookie != null)
            {
                sessionId = cookie["SessionId"].Value;
            }

            if (!authenticator.TryGetSession(sessionId, out var sessionState))
            {
                return(this.Unauthorized());
            }

            var creationInfo    = PlaceBuildInfoConverter.Convert(sessionState.UserId, buildInfo);
            var modelPlaceInfo  = repository.Create(creationInfo);
            var clientPlaceInfo = PlaceInfoConverter.Convert(modelPlaceInfo);

            var routeParams = new Dictionary <string, object>
            {
                { "placeId", clientPlaceInfo.Id }
            };

            return(this.CreatedAtRoute("GetPlaceRoute", routeParams, clientPlaceInfo));
        }
        public IHttpActionResult CreatePlace([FromBody] PlaceBuildInfo buildInfo)
        {
            if (!ModelState.IsValid)
            {
                return(this.BadRequest(ModelState));
            }
            if (buildInfo == null)
            {
                return(this.BadRequest("Body must be not null"));
            }

            string sessionId = buildInfo.SessionId;

            if (!authenticator.TryGetSession(sessionId, out var sessionState))
            {
                return(this.Unauthorized());
            }

            var creationInfo    = PlaceBuildInfoConverter.Convert(sessionState.UserId, buildInfo);
            var modelPlaceInfo  = repository.Create(creationInfo);
            var clientPlaceInfo = PlaceInfoConverter.Convert(modelPlaceInfo);

            var routeParams = new Dictionary <string, object>
            {
                { "placeId", clientPlaceInfo.Id }
            };

            return(this.CreatedAtRoute("GetPlaceRoute", routeParams, clientPlaceInfo));
        }
示例#3
0
        public long Execute()
        {
            var place = new domain.Place(input.Name, input.HighBandwidthWifi, input.UnlimitedBeverages,
                                         input.MembersOnlyArea, input.CosyRoomAmount, input.PrinterAmount, input.LaptopAmount);

            return(placeRepository.Create(place));
        }
示例#4
0
        public PlaceCreateResponse Create([FromBody] PlaceCreateRequest request)
        {
            PlaceCreateResponse response = new PlaceCreateResponse();

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

            response.Status = 1;
            return(response);
        }
        public Task NewPlace(Place place)
        {
            SelectedPlace = CreatePlaceMarker(place);

            return(placeRepository.Create(place));
        }