Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- public abstract class WPFViewModelCommon : WPFViewModelBase
- {
- // public abstract UserVM User{get; set;} // так + override в дочернем классе - работает
- private UserVM _user;
- public override UserVM User
- {
- get { return _user; }
- set { _user = value; OnPropertyChanged("User"); }
- }
- private string _textblockcontent;
- public string TextBlockContent
- {
- get { return _textblockcontent; }
- set { _textblockcontent = value; OnPropertyChanged("TextBlockContent"); }
- }
- private string _buttoncontent;
- public string ButtonContent
- {
- get { return _buttoncontent; }
- set { _buttoncontent = value; OnPropertyChanged("ButtonContent"); }
- }
- private ImageSource _avataronform;
- public ImageSource AvatarOnForm
- {
- get { return _avataronform; }
- set
- {
- _avataronform = value; OnPropertyChanged("AvatarOnForm");
- }
- }
- public abstract ICommand FinalAction { get; set; }
- protected void LoadAvatarMethod()
- {
- IFileService fileService = new ImageFileService();
- IDialogService dialogService = new WPFClient.FileService.DialogService();
- try
- {
- if (dialogService.OpenFileDialog() == true)
- {
- User.Avatar = fileService.Open(dialogService.FilePath); // падает здесь
- (fileService as ImageFileService).Dispose();
- dialogService.ShowMessage("Файл загружен");
- using (var stream = new FileStream(dialogService.FilePath, FileMode.Open))
- {
- AvatarOnForm = BitmapFrame.Create(stream, BitmapCreateOptions.None, BitmapCacheOption.OnLoad);
- OnPropertyChanged("AvatarOnForm");
- }
- }
- (dialogService as DialogService).Dispose();
- }
- catch (Exception ex)
- {
- dialogService.ShowMessage(ex.Message);
- }
- }
- }
- public class WPFViewModelRegistration : WPFViewModelCommon
- {
- public string LoadButtonContent { get; set; }
- public ICommand LoadAvatarCommand { get; set; }
- public override ICommand FinalAction { get; set; }
- public WPFViewModelRegistration()
- {
- FinalAction = new RelayCommand(arg => RegistrationMethod());
- LoadAvatarCommand = new RelayCommand(arg => LoadAvatarMethod());
- TextBlockContent = "Окно регистрации";
- ButtonContent = "Зарегистрироваться";
- LoadButtonContent = "Загрузить аватар";
- User = new UserVM();
- if (client==null)
- {
- client = new HttpClient();
- HttpClientSettings();
- }
- }
- private async void RegistrationMethod()
- {
- //post query
- if (User.Login == null||User.Login == ""||User.Password == null || User.Password == "")
- {
- System.Windows.Forms.MessageBox.Show("Неверные данные. Не введен логин или пароль!");
- return;
- }
- HttpResponseMessage testresponse = await client.GetAsync(new StringBuilder()
- .Append("api/userapi")
- .Append("?")
- .Append("login=")
- .Append(User.Login)
- .Append("&")
- .Append("password=")
- .Append(User.Password).
- ToString());
- if (testresponse.StatusCode == HttpStatusCode.NotFound)
- {
- HttpResponseMessage response = await client.PostAsync("api/userapi", new StringContent(JsonConvert.SerializeObject(User)));
- if(response.StatusCode == HttpStatusCode.OK)
- {
- System.Windows.Forms.MessageBox.Show("Поздравляю! Вы успешно зарегистрировлаись в системе");
- }
- else
- {
- System.Windows.Forms.MessageBox.Show("Ошибка сервера. Повсторите ввод данных");
- }
- }
- else if (testresponse.StatusCode == HttpStatusCode.OK)
- {
- System.Windows.Forms.MessageBox.Show("такой пользователь уже есть в системе. Введите другие данные");
- return;
- }
- else
- {
- System.Windows.Forms.MessageBox.Show("Ошибка сервера. Повсторите ввод данных");
- return;
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement