private async void AddUser()
	    {
	        User newUser = new User()
	        {
	            Fullname = FullName,
                Username = Username,
                Password = Password,
                Properties = Properties,
                Company = _propertyTrackerService.LoggedInUser.Company,
	        };

	        object response = null;
			object imageResponse = null;
			bool uploadedImage = false;
			using (_dialogService.Loading ("Adding user...")) {
				response = await _propertyTrackerService.AddUser (newUser);
				if(response is User && PhotoDataBytes != null && PhotoDataBytes.Length > 0) {
					imageResponse = await _propertyTrackerService.UploadUserPhoto ((response as User).Id, PhotoDataBytes);
					uploadedImage = true;
				}
			}

	        if (response is User)
	        {
				bool alertDisplayed = false;
				if(uploadedImage) {
					if(imageResponse is ErrorResult) {
						_dialogService.Alert ((imageResponse as ErrorResult).Message, "Photo Upload Failed (User Add Successful)", "OK", AddUserSuccess);
						alertDisplayed = true;
					}
					else if(imageResponse == null) {
						_dialogService.Alert ("Photo Upload Failed (User was added successfully)", "Request Failed", "OK", AddUserSuccess);
						alertDisplayed = true;
					}
				}
					
				if(alertDisplayed == false)
	            	_dialogService.Alert("User added successfully", null, "OK", AddUserSuccess);

				var message = new UsersUpdatedMessage(this) {
					User = response as User
				};
				_messenger.Publish(message);
	        }
	        else
	        {
	            var msg = response is ErrorResult ? (response as ErrorResult).Message : "Failed to add new user";
                _dialogService.Alert(msg, "Request Error", "OK", AddUserFailed);	            	            
	        }                          
	    }
		private void UserUpdated(User savedUser)
		{
			// Photo url does not change if photo is updated, it is a fixed path to photo resource for user
			savedUser.PhotoUrl = _user.PhotoUrl;
			_user = savedUser;
		  
			var message = new UsersUpdatedMessage(this) {
				User = _user
			};
			_messenger.Publish(message);

			LastPhotoDataBytes = null;
			_newPicture = false;
		}
		private void OnUsersUpdatedMessaged(UsersUpdatedMessage msg)
		{
			// Users were added/updated, refresh list
			GetUsers ();
		}
		private void OnUsersUpdatedMessaged(UsersUpdatedMessage msg)
		{
			// Need to purge image cache 
			var imageCache = Mvx.Resolve<IMvxImageCache<UIImage>> ();
			imageCache.PurgeImage (msg.User.PhotoUrl);
		}