Exemplo n.º 1
0
        public NewAuthorViewModel()
        {
            async void execute(string value)
            {
                try
                {
                    author.Name = value;
                    await Constants.BaseServiceUrl.AppendPathSegment(typeof(Author).Name).PostJsonAsync(author);

                    AuthorAdded?.Invoke(this, author);
                }
                // Se webservice retornar erro, lança uma FlurlHttpException
                catch (FlurlHttpException ex)
                {
                    // Nesse caso, pega o corpo da resposta de erro e
                    // desserializa como um DTO ErrorResponse
                    var error = await ex.GetResponseJsonAsync <ErrorResponse>();

                    // Invoca evento de requisição zoada.
                    RequestFailed?.Invoke(this, error);
                }
            }

            // Atribui valor ao comando.
            PostCommand = new Command <string>(execute);
        }
Exemplo n.º 2
0
 private void Save_Executed(object sender, ExecutedRoutedEventArgs e)
 {
     if (!ApplicationDbContext.Instance.Authors.Any(a =>
                                                    a.FirstName.ToLower() == AuthorFirstNameTextBox.Text.ToLower() &&
                                                    a.LastName.ToLower() == AuthorLastNameTextBox.Text.ToLower()))
     {
         var author = new Author {
             FirstName = AuthorFirstNameTextBox.Text, LastName = AuthorLastNameTextBox.Text, Id = Guid.NewGuid()
         };
         ApplicationDbContext.Instance.Entry(author).State = EntityState.Added;
         ApplicationDbContext.Instance.SaveChanges();
         AuthorAdded?.Invoke(this, new EntityEventArgs <Author> {
             Entity = author
         });
         this.Close();
     }
     else
     {
         AuthorExistsTextBlock.Visibility = Visibility.Visible;
     }
 }
Exemplo n.º 3
0
 void IChatServiceCallback.AuthorAdded(long userId, long roomId, long?addedBy)
 {
     _eventDispatcher.Add(() => AuthorAdded.SafeInvoke(GetUser(userId), GetRoom(roomId), addedBy == null ? null : GetUser((long)addedBy)));
 }