Ejemplo n.º 1
0
 public PlaceRequestButton(PlaceRequest pr, Requests r)
 {
     InitializeComponent();
     this.pr  = pr;
     requests = r;
     new Thread(new ThreadStart(getPlaceAndUser)).Start();
 }
Ejemplo n.º 2
0
        public async Task <ActionResult <PlaceResponse> > PostPlace(PlaceRequest placeRequest)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            //var id = Convert.ToInt64(User.FindFirst(ClaimTypes.NameIdentifier).Value);

            var place = _mapper.Map <Place>(placeRequest);

            _context.Places.Add(place);
            await _context.SaveChangesAsync();

            var placeOwner = new PlaceOwner
            {
                PlaceID = place.ID,
                UserID  = CurrentUserId
            };

            _context.PlaceOwners.Add(placeOwner);
            await _context.SaveChangesAsync();

            place = await _context.Places
                    .Include(p => p.OpeningTimes)
                    .Include(p => p.PlaceType)
                    .Include(p => p.Owners)
                    .Include(p => p.Images)
                    .FirstOrDefaultAsync(p => p.ID == place.ID);

            var placeResponse = _mapper.Map <PlaceResponse>(place);

            return(CreatedAtAction(nameof(GetPlace), new { id = place.ID }, placeResponse));
        }
Ejemplo n.º 3
0
        public async Task ShouldDeletePlaceBeOkHavingDeletedElement()
        {
            //Recupero una Place esistente non utilizzato
            var existing = Scenario.Places.FirstOrDefault();

            if (existing == null)
            {
                Assert.Inconclusive("Place does not exists");
            }

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

            //Composizione della request
            var request = new PlaceRequest {
                PlaceId = existing.Id
            };

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

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

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

            Assert.IsTrue(
                parsed.Data.PlaceId == existing.Id);
            Assert.AreEqual(countBefore - 1, countAfter);
        }
Ejemplo n.º 4
0
        public void PlaceChess(int num)
        {
            PlaceRequest msg = new PlaceRequest();

            msg.chessNum = num;
            network.SendMessage <PlaceRequest, PlaceReply>(msg,
                                                           (reply) =>
            {
                //TODO: process
            });
        }
        public Task <IActionResult> GetPlace(PlaceRequest request)
        {
            var entity = BasicLayer.GetPlace(request.PlaceId);

            //verifico validità dell'entità
            if (entity == null)
            {
                return(Task.FromResult <IActionResult>(NotFound()));
            }

            //Serializzazione e conferma
            return(Reply(ContractUtils.GenerateContract(entity)));
        }
Ejemplo n.º 6
0
        public async Task <IActionResult> PutPlace(long id, PlaceRequest placeRequest)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            /*
             * var place = _mapper.Map<Place>(placeDTO);
             * place.PlaceType = await _context.PlaceTypes.FirstOrDefaultAsync(pt => pt.Name == placeDTO.Type);
             * place.PlaceTypeID = place.PlaceType?.ID ?? 0;
             *
             * if (place.PlaceType == null)
             * {
             *  return BadRequest();
             * }
             *
             */
            if (!IsAuthorized(id))
            {
                return(Unauthorized());
            }

            var place = await _context.Places
                        .Include(p => p.OpeningTimes)
                        .Include(p => p.PlaceType)
                        .FirstOrDefaultAsync(p => p.ID == id);

            _mapper.Map(placeRequest, place);
            _context.Entry(place).State = EntityState.Modified;

            try
            {
                await _context.SaveChangesAsync();
            }
            catch (DbUpdateConcurrencyException)
            {
                if (!PlaceExists(id))
                {
                    return(NotFound());
                }
                else
                {
                    throw;
                }
            }

            return(NoContent());
        }
Ejemplo n.º 7
0
        public async void PlaceRequest()
        {
            StringResources stx = StringResources.Load();

            PlaceRequest RequestBox = new PlaceRequest(
                ReqTarget, BindItem
                , stx.Text((ReqTarget & SHTarget.KEY) != 0 ? "KeyRequest" : "TokenRequest")
                );

            await Popups.ShowDialog(RequestBox);

            if (!RequestBox.Canceled)
            {
                OpenRequest(ReqTarget);
            }
        }
Ejemplo n.º 8
0
 public PlaceRequestFullView(PlaceRequest pr, Place p, User u, Requests r)
 {
     InitializeComponent();
     placeRequest           = pr;
     place                  = p;
     user                   = u;
     date.Content           = pr.SendDate.ToString("dd-MM-yyyy");
     newName.Content        = pr.Name;
     newCoordinates.Content = "(" + pr.Latitude + "," + pr.Longitude + ")";
     newCategory.Content    = pr.Category;
     newDescription.Text    = pr.Description;
     oldName.Content        = p.Name;
     oldCoordinates.Content = "(" + p.Latitude + "," + p.Longitude + ")";
     oldCategory.Content    = p.Category;
     oldDescription.Text    = p.Description;
     req = r;
     penaliseControl.Content = new UserPenaliseControl(user);
 }
Ejemplo n.º 9
0
        public static void loadData()
        {
            ak = ConfigurationManager.AppSettings["baidu_ak"];
            if (!int.TryParse(ConfigurationManager.AppSettings["baidu_radius"], out radius))
            {
                radius = 1000;
            }
            query = ConfigurationManager.AppSettings["baidu_query"];

            rq           = new PlaceRequest();
            rq.ak        = ak;
            rq.page_num  = 0;
            rq.page_size = 20;
            rq.radius    = radius;
            rq.scope     = BaiduAPI.ScopeType.Details;
            rq.output    = BaiduAPI.OutputType.json;
            rq.region    = "全国";
            rq.query     = query;
        }
        public async Task <IActionResult> DeletePlace([EntityId] PlaceRequest request)
        {
            //Recupero l'elemento dal business layer
            var entity = BasicLayer.GetPlace(request.PlaceId);

            //Se l'utente non hai i permessi non posso rimuovere entità con userId nullo
            if (entity == null)
            {
                return(NotFound());
            }

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

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

            //Return contract
            return(Ok(ContractUtils.GenerateContract(entity)));
        }
Ejemplo n.º 11
0
        public async Task ShouldDeletePlaceBeBadNotFoundHavingProvidedWrongId()
        {
            //Conteggio gli elementi prima della cancellazione
            var countBefore = Scenario.Places.Count;

            //Composizione della request
            var request = new PlaceRequest {
                PlaceId = RandomizationUtils.GenerateRandomString(10)
            };

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

            //Parsing della risposta
            var parsed = ParseExpectedNotFound(response);

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

            Assert.IsTrue(parsed != null &&
                          parsed.Data == null);
            Assert.AreEqual(countBefore, countAfter);
        }
Ejemplo n.º 12
0
        private void Search()
        {
            List <KeyValuePair <string, string> > parameters = new List <KeyValuePair <string, string> >();

            this.Dispatcher.Invoke(() => {
                requestListPanel.Children.Clear();
                parameters.Add(new KeyValuePair <string, string>("Page", 0 + ""));
            });

            string result = Request.Request.RequestData("/PlaceRequest/get", parameters);

            JArray arrays = Utils.Utils.StringToJsonArray(result);

            for (int i = 0; i < arrays.Count; i++)
            {
                PlaceRequest place = PlaceRequest.JsonToPlaceRequest((JObject)arrays[i]);


                this.Dispatcher.Invoke(() => {
                    PlaceRequestButton prb = new PlaceRequestButton(place, this);
                    requestListPanel.Children.Add(prb);
                });
            }
        }
Ejemplo n.º 13
0
        public async void PlaceRequest( SHTarget Target, HubScriptItem HSI )
        {
            StringResources stx = new StringResources();

            PlaceRequest RequestBox = new PlaceRequest(
                Target, HSI
                , stx.Text( ( Target & SHTarget.KEY ) != 0 ? "KeyRequest" : "TokenRequest" )
            );

            await Popups.ShowDialog( RequestBox );
            if ( !RequestBox.Canceled ) OpenRequest( Target );
        }