Exemplo n.º 1
0
        public DeleteDiaryResponse Delete([FromBody] DeleteDiaryRequest deleteRequest)
        {
            int deleteId = 0;

            if (ModelState.IsValid && int.TryParse(deleteRequest.Id, out deleteId))
            {
                ApplicationUser user = _dbContext.GetUserWithToken(deleteRequest.Token);
                if (user != null)
                {
                    IQueryable <Diary> result = _dbContext.Diaries.Where(
                        p => p.Author == user.UserName &&
                        p.Id == deleteId);
                    if (result.Count() == 1)
                    {
                        Diary toDelete = result.First();
                        _dbContext.Diaries.Remove(toDelete);
                        if (_dbContext.SaveChanges() > 0)
                        {
                            return(new DeleteDiaryResponse()
                            {
                                Status = true
                            });
                        }
                    }
                }
            }

            return(new DeleteDiaryResponse()
            {
                Status = false,
                Error = "Invalid authentication token."
            });
        }
Exemplo n.º 2
0
        public bool Delete(String token, int id)
        {
            try
            {
                HttpClient client = new HttpClient();
                client.BaseAddress = new Uri(BASE_URL);
                client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));

                DeleteDiaryRequest diaryRequest = new DeleteDiaryRequest
                {
                    Token = token,
                    Id    = id.ToString()
                };

                HttpResponseMessage response = client.PostAsync("diary/delete", new StringContent(JsonConvert.SerializeObject(diaryRequest), Encoding.UTF8, "application/json")).Result;

                return(response.IsSuccessStatusCode);
            }
            catch
            {
                return(false);
            }
        }