예제 #1
0
        public async Task NewShout(ShoutDto shout)
        {
            try
            {
                using (var client = NewHttpClient())
                {
                    var response = await PostAsJsonAsync(client, "api/shouts", shout);

                    response.EnsureSuccessStatusCode();
                }
            }
            catch (Exception)
            {
                return;
            }
        }
예제 #2
0
        public IHttpActionResult PostShout(ShoutDto shoutDto)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            Shout shout = new Shout()
            {
                ID              = shoutDto.ID,
                Cost            = shoutDto.Cost,
                PurchaseTimeUtc = DateTime.UtcNow,

                ShoutGroup = db.ShoutGroups.FirstOrDefault(sg => sg.ID == shoutDto.ShoutGroupID),
                ShoutUser  = db.ShoutUsers.FirstOrDefault(su => su.ID == shoutDto.ShoutUserID)
            };

            //Verify the user is in the group?

            db.Shouts.Add(shout);

            try
            {
                db.SaveChanges();
            }
            catch (DbUpdateException)
            {
                if (ShoutExists(shout.ID))
                {
                    return(Conflict());
                }
                else
                {
                    throw;
                }
            }

            return(CreatedAtRoute("DefaultApi", new { id = shoutDto.ID }, shoutDto));
        }
        public override void OnNavigatingTo(NavigationParameters parameters)
        {
            m_Shout = (ShoutDto)parameters["model"];
            RaisePropertyChanged(nameof(GroupID));
            RaisePropertyChanged(nameof(ID));
            RaisePropertyChanged(nameof(ShoutTitle));
            RaisePropertyChanged(nameof(Cost));

            m_ShoutGroup = (ShoutGroupDto)parameters["group"];
            RaisePropertyChanged(nameof(TrackCost));

            foreach (var u in m_ShoutGroup.Users)
            {
                UsersForShout.Add(u);
            }

            if (m_Shout.ShoutUserID != Guid.Empty)
            {
                SelectedIndex = UsersForShout.IndexOf(UsersForShout.FirstOrDefault(x => x.ID == m_Shout.ShoutUserID));
            }

            RaisePropertyChanged("UserName");
        }