Esempio n. 1
0
        public ContactsPage()
        {
            var contactStore = new SQLiteContactStore(DependencyService.Get <ISQLiteDb>());
            var pageService  = new PageService();

            ViewModel = new ContactBookViewModel(contactStore, pageService);

            InitializeComponent();
        }
        public async Task <IActionResult> ApproveAsync(
            [FromBody] ContactBookViewModel contactBookViewModel
            )
        {
            try
            {
                var login = Util.GetClaim(_httpContext,
                                          Constants.UserClaimIdentifier);

                var contactDb = await _contactMananger.GetByEmail(login);

                if (contactDb == null)
                {
                    return(BadRequest(new ResponseErrorViewModel
                    {
                        Status = Constants.Error,
                        Errors = new List <object>
                        {
                            new { Message = "Contato não localizado!" }
                        }
                    }));
                }

                // criar nova query no banco para retornar aprovado e reprovado

                // buscar contato de acordo com livro e contato
                var contactBook = await _contactMananger
                                  .GetByOwner(contactBookViewModel.LibraryBook.Id,
                                              contactDb.Id, contactBookViewModel.IdContact);

                if (contactBook == null)
                {
                    return(BadRequest(new ResponseErrorViewModel
                    {
                        Result = Constants.Error,
                        Errors = new List <object>
                        {
                            new { Message = "Contato não localizado!" }
                        }
                    }));
                }

                contactBook.Approved = contactBookViewModel.Approved;
                contactBook.Denied   = contactBookViewModel.Denied;

                _contactMananger.UpdateContactBook(contactBook);

                _uow.Commit();

                return(Ok(new ResponseViewModel
                {
                    Result = null,
                    Status = Constants.Sucess
                }));
            }
            catch (Exception ex)
            {
                // gerar log
                return(BadRequest(new ResponseErrorViewModel
                {
                    Status = Constants.Error,
                    Errors = new List <object> {
                        Util.ReturnException(ex)
                    }
                }));
            }
        }