void UserController_UserRegisted(object sender, UserInsertedEventArgs e) { bool wasInserted = e.WasInserted; if (wasInserted) { DismissViewController(true, null); } else { //TODO: alert error o usario repetido } Console.WriteLine(wasInserted); }
public void InsertUser(UserModel user) { Task.Factory.StartNew(InsertUserAsync); async Task InsertUserAsync() { try { userReference = userNode.GetChild(user.Uid); userReference.ObserveSingleEvent(DataEventType.Value, (snapshot) => { if (UserInserted == null) { return; } if (snapshot.Exists) { var e = new UserInsertedEventArgs(false); UserInserted(this, e); return; } else { object[] keys = { "name", "address", "phone", "mail", "uid", "status" }; object[] values = { user.Name, user.Address, user.Phone, user.Mail, user.Uid, user.UserStatus }; var data = NSDictionary.FromObjectsAndKeys(values, keys, keys.Length); userNode.KeepSynced(true); userReference.SetValue <NSDictionary>(data, (error, reference) => { if (error != null) { Console.WriteLine("error"); } }); var profileImageRef = imagesRef.GetChild($"/{user.Uid}/profile.jpg"); UIImage image = new UIImage("profile.jpg"); NSUrl photoUrl = new NSUrl(NSBundle.MainBundle.PathForResource("profile", "jpg")); var imageMetadata = new StorageMetadata { ContentType = "image/jpeg" }; profileImageRef.PutData(image.AsJPEG(), imageMetadata, (metadata, error) => { if (error != null) { Console.WriteLine("Error"); } }); var de = new UserInsertedEventArgs(true); UserInserted(this, de); } }); } catch (Exception ex) { //Evento de error Console.WriteLine(ex.Message); } } }