Выполнение метода прерывается на строке

Выполнение метода останавливается на определенной строке, дальше не идет (причем, выполнение подобного метода в другом классе успешно).

public partial class ChatFormViewModel : BaseViewModel, IQueryAttributable
{
    public void ApplyQueryAttributes(IDictionary<string, object> query)
    {
        Dialog = query["Dialog"] as Models.Dialog;
    }

    Command ShowProfile { get; set; }
    Timer _timer;
    Models.Dialog dialog;

    public Models.Dialog Dialog
    {
        get {
            Console.WriteLine($"dialog.title: {dialog.Title}");
            return dialog; }
        set
        {
            dialog = value;
            OnPropertyChanged();
        }
    }

    public Command SendMessage { get; private set; }



    private ObservableCollection<MessageInChat> _messages = new();
    public bool isBackButtonVisible;
    private string _newMessageText ="";


    public ObservableCollection<MessageInChat> Messages
    {
        get => _messages;
        set
        {
            if (value != _messages)
            {
                _messages = value;
                OnPropertyChanged();
            }
        }
    }

    public string NewMessageText
    {   
        get => _newMessageText;
        set
        {
            _newMessageText = value;
            OnPropertyChanged(nameof(NewMessageText));
        }
    }
  

    async Task UploadMessages() //проблема в этом методе
    {
        IsLoading = true;
        if (!server.IsHasConnection())
        {
            IsLoading = false;
            IsHasNotConnection = true;
        }
        else
        {
            IsHasNotConnection = false;
            if (!server.IsHasMessages()) 
            {
                IsHasNotData = true;
                IsLoading = false;
            }
            //else
            {
                Console.WriteLine("Upload is running1"); //есть в консоли
                IsHasNotData = false;
                Console.WriteLine("Upload is running2"); //есть в консоли
                _messages.Clear();
                Console.WriteLine("Upload is running3"); //есть в консоли
                List<Models.Message> list = server.GetDialog(dialog.DialogID); //предполагаю, что проблема в выполнении этого
                Console.WriteLine("Upload is running4"); //этой и последующих строк в консоли нет
                Console.WriteLine($"[Messages] List length: {list.Count}");
                foreach (var item in list)
                {
                    MessageInChat message = new()
                    {
                        SenderID = item.userId,
                        ID = item.messageId,
                        Message = item.message,
                        UserImage = item.imageResource,
                        MessageFrom = item.messageFrom,
                        timeSended = TimeToString(item.sendedAt),

                        GridColumnMessage = item.messageFrom ==
                            Constants.Server.MESSAGE_FROM_ANOTHER ? 1 : 0,
                        GridColumnImage = item.messageFrom ==
                            Constants.Server.MESSAGE_FROM_ANOTHER ? 0 : 1,
                        statusImage = getStatusImageResourceByMessageStatus(item.status),
                        HorizontalOption = item.messageFrom ==
                            Constants.Server.MESSAGE_FROM_ANOTHER ? "start" : "end",
                        Background = item.messageFrom == Constants.Server.MESSAGE_FROM_ANOTHER ?
                            Color.FromRgb(234, 221, 248) : Color.FromRgb(240, 235, 245),
                    };
                    _messages.Add(message);
                }

                Messages = _messages;
                IsLoading = false;
                Console.WriteLine("Upload is ended");
                Console.WriteLine($"Chats length: {_messages.Count}");
            }
        }
    }

    async Task init()
    {
        Console.WriteLine("Checker init");
        if (server.IsHasNewMessages()) await UploadMessages(); // IsHasNew Messages возвращает false


    }

    Task Init { get; set; }

    public ChatFormViewModel()
    {
        Console.WriteLine("init viewmodel");

        _timer = new Timer(new TimerCallback(async (s) => await init()),
                      null, TimeSpan.Zero, TimeSpan.FromMilliseconds(300));
        Init = UploadMessages();
    }

    ~ChatFormViewModel() => _timer.Dispose();
...}

GetDialog метод:

 public List<Models.Message> GetDialog(int dialogID)
    {
        Console.WriteLine("Method init"); //этой строки так же нет в консоли
        List<Models.Message> MsgList = new();

        MsgList.Add(new Models.Message()
        {
            userId = 0,
            messageId = 0,
            userName = "Даниил",
            imageResource = "user_no_image.png",
            message = "Lorem ipsum dolor sit amet",
            messageFrom = Constants.Server.MESSAGE_FROM_ANOTHER,
            status = Constants.Server.MESSAGE_STATUS_NOTREADED,
            sendedAt = DateTime.Now,
        });

        MsgList.Add(new Models.Message()
        {
            userId = 0,
            messageId = 0,
            userName = "Даниил",
            imageResource = "user_no_image.png",
            message = "Lorem ipsum dolor sit amet",
            messageFrom = Constants.Server.MESSAGE_FROM_CURRENT,
            status = Constants.Server.MESSAGE_STATUS_NOTREADED,
            sendedAt = DateTime.Now,
        });

        return MsgList;
}

Console:

[DOTNET] init viewmodel
[DOTNET] Checker init
[DecorView[]] pkgName:com.companyname.prodom.mobileclient old windowMode:0 new windoMode:1, isFixedSize:false
[MouseWheelSynthesizer] mMoveStepInDp: 64, mMoveStepInPixel: 192, mUpTimeDelayed: 100
[ViewRootImpl] ViewRootImpl mIsInProductivePCDisplay: false
[InputEventReceiver] dispatchInputInterval 1000000
[DOTNET] Upload is running1
[DOTNET] Upload is running2
[DOTNET] Upload is running3
[om.mobileclien] Explicit concurrent copying GC freed 8741(528KB) AllocSpace objects, 0(0B) LOS objects, 68% free, 2801KB/8945KB, paused 25us total 11.645ms
[DOTNET] dialog.title: Даниил
[HiTouch_HiTouchSensor] depended package hiTouch does n't exist!
[HiTouch_HiTouchSensor] HiTouch restricted: system app HiTouch don't exist.
[HiTouch_PressGestureDetector] onAttached, package=com.companyname.prodom.mobileclient, windowType=2, mIsHiTouchRestricted=true
[mali_winsys] EGLint new_window_surface(egl_winsys_display *, void *, EGLSurface, EGLConfig, egl_winsys_surface **, EGLBoolean) returns 0x3000
[DOTNET] Checker init
[DecorView] showOrHideHighlightView: hasFocus=false; winMode=1; isMrgNull=true
[DisplayEventDispatcher] dispatcher 0x72927983e0 ~ ignoring unknown event type 0x736f6674
[DOTNET] Checker init
[DOTNET] Checker init
Thread started: <Thread Pool> #11
[DOTNET] Checker init
[DOTNET] Checker init

Подскажите, пожалуйста, в чем может быть проблема? Спасибо


Ответы (0 шт):