Ejemplo n.º 1
0
 public ActionResult Post([FromBody] CreateParty value)
 {
     try
     {
         //Check if Json is valid.
         if (!TryValidateModel(value))
         {
             //Party Model is not valid!
             return(BadRequest(new CreateParty()));
         }
         //Check if Party Date is today or in future
         else if (value.PartyDate.Date < DateTime.Today)
         {
             //Party Date is the past
             return(BadRequest("Party date can't be in the past."));
         }
         else
         {
             //Party is valid and is added to database.
             var party = new Helper(User).MapPartyToModel(value);
             _dbContext.PartyItems.Add(party);
             _dbContext.SaveChanges();
             return(Created("", party.PartyId));
         }
     }
     catch (Exception ex)
     {
         return(BadRequest(new CreateParty()));
     }
 }
Ejemplo n.º 2
0
        /// <summary>
        /// Function will check the location and map a CreatePartyModel-Object to a exsiting PartyModel-Object
        /// </summary>
        /// <param name="value">CreateParty-Object</param>
        /// <param name="party">Party-Object</param>
        public void MapPartyToModel(CreateParty value, ref Party party)
        {
            Location loc = null;

            Task.WaitAll(Task.Run(async() => loc = await GeoCoding.GetLocationByAdress(value.HouseNumber, value.StreetName, value.CityName)));
            if (loc == null)
            {
                throw new Exception("Location not found.");
            }

            party.PartyName  = value.PartyName;
            party.PartyDate  = value.PartyDate.Millisecond == 0 ? value.PartyDate.AddMilliseconds(01.123) : value.PartyDate;
            party.MusicGenre = value.MusicGenre;
            party.Location   = new Location()
            {
                CityName    = value.CityName,
                HouseNumber = value.HouseNumber,
                StreetName  = value.StreetName,
                CountryName = value.CountryName,
                Zipcode     = value.Zipcode,
                Latitude    = loc.Latitude,
                Longitude   = loc.Longitude,
            };
            party.PartyType   = value.PartyType;
            party.Description = value.Description;
            party.Price       = value.Price;
        }
Ejemplo n.º 3
0
        /// <summary>
        /// Function will check the location and map the CreateParty-Object to a new Party-Object
        /// and add the current user as host of the party.
        /// </summary>
        /// <param name="value">CreateParty-Object</param>
        /// <returns></returns>
        public Party MapPartyToModel(CreateParty value)
        {
            var party = new Party();

            MapPartyToModel(value, ref party);
            party.Host         = _user;
            party.CreationDate = DateTime.Today;
            return(party);
        }
Ejemplo n.º 4
0
        /// <summary>
        /// Schickt die neuen Informationen einer bereits erstellten Party an den Server.
        /// </summary>
        /// <param name="id">ID der zu aktualisierenden Party</param>
        /// <param name="party">Party mit neuen Werten</param>
        /// <returns>Erfolg</returns>
        public static async Task <bool> UpdatePartyByID(Party party)
        {
            bool internetVorhanden = IsInternet();
            bool erfolg            = false;
            // Umspeichern der Daten für BackEnd
            CreateParty partyZuErstellen = new CreateParty();

            partyZuErstellen.PartyName   = party.PartyName;
            partyZuErstellen.PartyDate   = party.PartyDate;
            partyZuErstellen.MusicGenre  = party.MusicGenre;
            partyZuErstellen.CountryName = "Deutschland";
            partyZuErstellen.CityName    = party.Location.CityName;
            partyZuErstellen.StreetName  = party.Location.StreetName;
            partyZuErstellen.HouseNumber = party.Location.HouseNumber;
            partyZuErstellen.Zipcode     = party.Location.ZipCode;
            partyZuErstellen.PartyType   = party.PartyType;
            partyZuErstellen.Description = party.Description;
            partyZuErstellen.Price       = party.Price;

            bool aktuellerToken = await DatenVerarbeitung.aktuellerToken();

            Token token = await DatenVerarbeitung.TokenAuslesen();

            if (internetVorhanden == true && aktuellerToken == true)
            {
                HttpClient          client      = GetClientParty();
                HttpResponseMessage httpAntwort = new HttpResponseMessage();
                client.DefaultRequestHeaders.Add("Authorization", "Bearer " + token.AccessToken);
                HttpContent content = new StringContent(JsonConvert.SerializeObject(partyZuErstellen), Encoding.UTF8, "application/json");

                try
                {
                    httpAntwort = await client.PutAsync($"Party/?id={party.PartyId}", content);

                    erfolg = httpAntwort.IsSuccessStatusCode;
                    return(erfolg);
                }

                catch (Exception)
                {
                    var message = new MessageDialog("Fehler! Bitte versuche es später erneut.");
                    await message.ShowAsync();

                    return(false);
                }
            }
            else
            {
                // Nachricht, dass Internet eingeschaltet werden soll
                var message = new MessageDialog("Fehler! Keiner Internetverbindung.");
                await message.ShowAsync();

                return(false);
            }
        }
Ejemplo n.º 5
0
        void ProcessMessage(ClientConnection client, CreateParty message)
        {
            var ma = (MobileAvatar)client.Avatar;

            if (ma.Party != null)
            {
                ma.SendLog("You are currently in party '" + ma.Party.Name + "'.");
                return;
            }

            ma.Party = new Party(message.Name, ma);
        }
Ejemplo n.º 6
0
        public ActionResult Modify(Guid?id, [FromBody] CreateParty value)
        {
            try
            {
                //Check if Party Id is valid
                if (!Validator.IsGuidValid(id.ToString()))
                {
                    //Can't parse Party ID
                    return(BadRequest("Party ID is not valid."));
                }
                else
                {
                    var party = _dbContext.PartyItems
                                .Include(p => p.Host)
                                .Include(p => p.Location)
                                .FirstOrDefault(p => p.PartyId == id);

                    if (party == null)
                    {
                        return(NotFound("Party not found."));
                    }
                    //Check if Party Host == Logged in User
                    //Only the Host of the Party can modify it!
                    else if (party.Host.UserId != User.UserId)
                    {
                        return(Unauthorized());
                    }
                    //Check if Party Date is toady or in future
                    else if (value.PartyDate.Date < DateTime.Today)
                    {
                        //Party Date is not today or in future
                        return(BadRequest("Party has to be in the future."));
                    }
                    else if (!TryValidateModel(party))
                    {
                        return(BadRequest(new CreateParty()));
                    }
                    else
                    {
                        //Party is valid.
                        new Helper(User).MapPartyToModel(value, ref party);

                        _dbContext.PartyItems.Update(party);
                        _dbContext.SaveChanges();
                        return(Ok());
                    }
                }
            }
            catch (Exception ex)
            {
                return(BadRequest());
            }
        }
Ejemplo n.º 7
0
        public async Task <Response <int> > Handle(CreateParty command)
        {
            var request = new InsertPartyRequest
            {
                Name      = command.Name,
                Location  = command.Location,
                StartTime = command.StartTime
            };

            var newPartyId = await _dataProvider.InsertParty(request);

            return(SuccessHandler.ReturnInsertSuccess(newPartyId, EntityName));
        }
Ejemplo n.º 8
0
        public void TestAddOrganizations()
        {
            var orgStructureTypeId = Guid.NewGuid().ToString();
            var orgStructureType   = new CreateOrganizationStructureType();

            orgStructureType.Id = orgStructureTypeId;
            organizationStructureTypeApplicationService.When(orgStructureType);

            var organization1 = new CreateParty();//CreateOrganization();

            organization1.PartyTypeId      = PartyTypeIds.Organization;
            organization1.PartyId          = Guid.NewGuid().ToString();
            organization1.OrganizationName = "Org_test_1" + organization1.PartyId;
            partyApplicationService.When(organization1);

            var organization2 = new CreateParty();//CreateOrganization();

            organization2.PartyTypeId      = PartyTypeIds.Organization;
            organization2.PartyId          = Guid.NewGuid().ToString();
            organization2.OrganizationName = "Org_test_2" + organization2.PartyId;
            partyApplicationService.When(organization2);

            var orgStructure_0_1    = new CreateOrganizationStructure();
            var orgStructure_0_1_Id = new OrganizationStructureId(orgStructureTypeId, "", organization1.PartyId);

            orgStructure_0_1.Id = orgStructure_0_1_Id;
            organizationStructureApplicationService.When(orgStructure_0_1);

            var orgStructure_1_2    = new CreateOrganizationStructure();
            var orgStructure_1_2_Id = new OrganizationStructureId(orgStructureTypeId, organization1.PartyId, organization2.PartyId);

            orgStructure_1_2.Id = orgStructure_1_2_Id;
            organizationStructureApplicationService.When(orgStructure_1_2);

            var roots = organizationTreeRepository.GetRoots((IEnumerable <KeyValuePair <string, object> >)null, null).ToList();

            Assert.GreaterOrEqual(roots.Count, 1);
            Console.WriteLine(roots[0].Content.PartyId);
            if (roots != null && roots.Count > 0)
            {
                Assert.GreaterOrEqual(roots[0].Children.Count(), 1);
                foreach (var c in roots[0].Children)
                {
                    Console.WriteLine(c.Content.PartyId);
                }
            }
        }
Ejemplo n.º 9
0
        public ActionResult Modify(Guid?id, [FromBody] CreateParty value)
        {
            try
            {
                //Check if Party Id is valid
                if (!Validator.IsGuidValid(id.ToString()))
                {
                    //Can't parse Party ID
                    return(BadRequest("Party ID is not valid."));
                }
                else
                {
                    var party = _dbContext.PartyItems
                                .Include(p => p.Host)
                                .Include(p => p.Location)
                                .FirstOrDefault(p => p.PartyId == id);

                    if (party == null)
                    {
                        return(NotFound("Party not found."));
                    }
                    else if (!TryValidateModel(party))
                    {
                        return(BadRequest(new CreateParty()));
                    }
                    else
                    {
                        //Party is valid.
                        new Helper(User).MapPartyToModel(value, ref party);

                        _dbContext.PartyItems.Update(party);
                        _dbContext.SaveChanges();
                        return(Ok());
                    }
                }
            }
            catch (Exception ex)
            {
                return(BadRequest());
            }
        }
 public Task <Response <int> > CreateParty(CreateParty command)
 {
     return(_appLayer.Execute(command));
 }
Ejemplo n.º 11
0
 public IHttpActionResult CreateParty(CreateParty party)
 {
     _messageDispatcher.SendCommand(party);
     return(Ok());
 }