Exemplo n.º 1
0
    // TODO: !!! Apply the following strategy to the rest of the ClientDataService methods. (Command pattern ?)
    public async Task <Result <List <NoteInfoDto> > > GetFilter(NotesFilterDto notesFilter)
    {
        var res = new Result <List <NoteInfoDto> >();

        try
        {
            HttpResponseMessage httpRes;
            httpRes = await _httpClient.PostAsJsonAsync <NotesFilterDto>($"api/notes/getfilter", notesFilter);

            if (httpRes.IsSuccessStatusCode)
            {
                res = await httpRes.Content.ReadFromJsonAsync <Result <List <NoteInfoDto> > >();
            }
            else
            {
                res.AddErrorMessage($"Error. The web server has responded with the following message: {httpRes.ReasonPhrase.ToString()}");
            }
            return(res);
        }
        catch (Exception ex)
        {
            res.AddErrorMessage(ex.Message);
            return(res);
        }
    }
Exemplo n.º 2
0
        public async Task <bool> LoadFilteredEntities(IKntService service, NotesFilterDto notesFilter, bool refreshView = true)
        {
            bool resLoad = false;

            try
            {
                // TODO: provisional, hay que buscar una solución más generalista a los estados de espera.
                Cursor.Current = Cursors.WaitCursor;

                Service = service;
                Folder  = null;

                Result <List <NoteInfoDto> > response;
                if (string.IsNullOrEmpty(notesFilter?.TextSearch.Trim()) || service == null || notesFilter == null)
                {
                    response        = new Result <List <NoteInfoDto> >();
                    response.Entity = new List <NoteInfoDto>();
                }
                else
                {
                    response = await Service.Notes.GetSearch(notesFilter);
                }

                if (response.IsValid)
                {
                    ListEntities = response.Entity;
                    NotesFilter  = notesFilter;

                    if (refreshView)
                    {
                        View.RefreshView();
                    }

                    if (ListEntities?.Count > 0)
                    {
                        SelectedEntity = ListEntities[0];
                    }
                    else
                    {
                        SelectedEntity = null;
                    }
                }
                else
                {
                    View.ShowInfo(response.Message);
                    resLoad = await Task.FromResult <bool>(false);
                }
            }
            catch (Exception ex)
            {
                View.ShowInfo(ex.Message);
                resLoad = await Task.FromResult <bool>(false);
            }
            finally
            {
                Cursor.Current = Cursors.Default;
            }

            return(resLoad);
        }
Exemplo n.º 3
0
        public async Task <bool> LoadEntities(IKntService service, FolderInfoDto folder, bool refreshView = true)
        {
            try
            {
                Service     = service;
                Folder      = folder;
                NotesFilter = null;

                Guid f;
                if (Folder == null)
                {
                    f = Guid.Empty;
                }
                else
                {
                    f = Folder.FolderId;
                }

                Result <List <NoteInfoDto> > response;
                if (folder == null)
                {
                    response = await Service.Notes.GetAllAsync();
                }
                else
                {
                    response = await Service.Notes.GetByFolderAsync(f);
                }

                if (response.IsValid)
                {
                    ListEntities = response.Entity;

                    if (refreshView)
                    {
                        View.RefreshView();
                    }

                    if (ListEntities?.Count > 0)
                    {
                        SelectedEntity = ListEntities[0];
                    }
                    else
                    {
                        SelectedEntity = null;
                    }
                }
                else
                {
                    View.ShowInfo(response.Message);
                    return(false);
                }
            }
            catch (Exception ex)
            {
                View.ShowInfo(ex.Message);
                return(false);
            }

            return(true);
        }
Exemplo n.º 4
0
        //[Authorize]
        public async Task <IActionResult> GetFilter([FromBody] NotesFilterDto notesFilter)
        {
            try
            {
                var kresApi = await _service.Notes.GetFilter(notesFilter);

                if (kresApi.IsValid)
                {
                    return(Ok(kresApi));
                }
                else
                {
                    return(BadRequest(kresApi));
                }
            }
            catch (Exception ex)
            {
                var kresApi = new Result <List <NoteInfoDto> >();
                kresApi.AddErrorMessage("Generic error: " + ex.Message);
                return(BadRequest(kresApi));
            }
        }
Exemplo n.º 5
0
 public async Task <Result <List <NoteInfoDto> > > GetFilter(NotesFilterDto notesFilter)
 {
     return(await _repository.Notes.GetFilter(notesFilter));
 }