Example #1
0
        public async Task <IActionResult> DeleteBasketItem(int userId, int basketId, int id)
        {
            if (userId != int.Parse(User.FindFirst(ClaimTypes.NameIdentifier).Value))
            {
                return(Unauthorized());
            }

            var basket = await _repo.GetBasket(basketId);

            if (!basket.BasketItems.Any(i => i.Id == id))
            {
                return(Unauthorized());
            }

            var itemFromRepo = await _repo.GetBasketItem(id);

            _repo.Delete(itemFromRepo);

            if (await _repo.SaveAll())
            {
                return(Ok());
            }

            return(BadRequest("Failed to delete the item from the busket"));
        }
 public ResponseOk DeleteItem(int id)
 {
     _shoppingListRepository.Delete(id);
     return(new ResponseOk {
         Message = "Item deleted"
     });
 }
        public void Delete(string drink)
        {
            var result = _shoppingListRepository.Delete(drink);

            if (result <= 0)
            {
                throw new EntityNotFoundException();
            }
        }
        public ObjectResult Delete(string name)
        {
            _shoppingListRepository.Delete(name);

            var objectResult = new OkObjectResult(Json("Delete Successful"));

            objectResult.StatusCode = (int)HttpStatusCode.NoContent;
            return(objectResult);
        }
Example #5
0
        public IHttpActionResult Delete(string itemName)
        {
            if (String.IsNullOrWhiteSpace(itemName))
            {
                return(BadRequest());
            }

            _repository.Delete(itemName);

            return(Ok());
        }
Example #6
0
 public async Task Delete(ShoppingList shoppingList)
 {
     await _shoppingListRepository.Delete(shoppingList);
 }
        public ActionResult Delete(int id, ShopItemModel model)
        {
            _repository.Delete(id);

            return(RedirectToAction(nameof(Index)));
        }
Example #8
0
 public void Delete(int id)
 {
     _shoppingListRepository.Delete(id);
     _shoppingListRepository.SaveChanges();
 }
 // DELETE api/<controller>/5
 public void Delete(int id)
 {
     _shoppingListRepository.Delete(id, User.Identity.GetUserId());
 }
 public void Delete(long shoppingListId)
 {
     _permissionService.Check(_userContext.UserId, Permissions.Delete, shoppingListId); // Don't allow if this user does not have delete access.
     _shoppingListRepository.Delete(shoppingListId);
     _unitOfWork.SaveChanges();
 }
        //User request to quit home
        public async Task LeaveHomeAsync(UserModel user, int newAdminId)
        {
            if (user.Position == (int)UserPosition.HasNotHome)
            {
                CustomException errors = new CustomException((int)HttpStatusCode.BadRequest);
                errors.AddError("Home Not Exist", "User is not member of a home");
                errors.Throw();
            }

            Task <InformationModel> firstNameInfo = _informationRepository.GetInformationByInformationNameAsync("FirstName");
            Task <InformationModel> lastNameInfo  = _informationRepository.GetInformationByInformationNameAsync("LastName");

            user = await _userRepository.GetByIdAsync(user.Id, true);

            HomeModel home = await _homeRepository.GetByIdAsync(user.Home.Id, true);

            UserInformationModel userFirstName = await _userInformationRepository.GetUserInformationByIdAsync(user.Id, (await firstNameInfo).Id);

            UserInformationModel userLastName = await _userInformationRepository.GetUserInformationByIdAsync(user.Id, (await lastNameInfo).Id);

            List <UserExpenseModel> userExpenses = await _userExpenseRepository.GetAllUserExpenseByUserIdAsync(user.Id);

            foreach (var ue in userExpenses)
            {
                _userExpenseRepository.Delete(ue);
            }

            if (home.Users.Count != 1)
            {
                if (user.Position == (int)UserPosition.Admin)
                {
                    UserModel newAdmin = await _userRepository.GetByIdAsync(newAdminId);

                    if (newAdmin == null || newAdmin.Home.Id != user.Home.Id)
                    {
                        CustomException errors = new CustomException((int)HttpStatusCode.BadRequest);
                        errors.AddError("Friendship Not Found", "Friendship not found for admin assignment");
                        errors.Throw();
                    }
                    newAdmin.Position = (int)UserPosition.Admin;
                    home.Admin        = newAdmin;
                }

                home.Users.Remove(user);
                user.Home     = null;
                user.Position = (int)UserPosition.HasNotHome;

                _homeRepository.Update(home);
                _userRepository.Update(user);

                //Home friends notification
                foreach (var u in home.Users)
                {
                    FriendshipModel friendship = await _friendshipRepository.GetFriendshipByIdAsync(user.Id, u.Id);

                    FCMModel fcm = new FCMModel(u.DeviceId, new Dictionary <string, object>());
                    fcm.notification.Add("title", "Evden Ayrılma");

                    if (friendship.User1.Id == user.Id)
                    {
                        if (friendship.Debt > 0)
                        {
                            fcm.notification.Add("body", String.Format("{0} {1} evden ayrılıyor. Alacağınız : {2:c}", userFirstName.Value,
                                                                       userLastName.Value,
                                                                       friendship.Debt));
                        }
                        else if (friendship.Debt == 0)
                        {
                            fcm.notification.Add("body", String.Format("{0} {1} evden ayrılıyor. Borcunuz veya alacağınız bulunmamaktadır.", userFirstName.Value,
                                                                       userLastName.Value));
                        }
                        else
                        {
                            fcm.notification.Add("body", String.Format("{0} {1} evden ayrılıyor. Borcunuz : {2:c}", userFirstName.Value,
                                                                       userLastName.Value,
                                                                       -friendship.Debt));
                        }
                    }
                    else
                    {
                        if (friendship.Debt > 0)
                        {
                            fcm.notification.Add("body", String.Format("{0} {1} evden ayrılıyor. Borcunuz : {2:c}", userFirstName.Value,
                                                                       userLastName.Value,
                                                                       friendship.Debt));
                        }
                        else if (friendship.Debt == 0)
                        {
                            fcm.notification.Add("body", String.Format("{0} {1} evden ayrılıyor. Borcunuz veya alacağınız bulunmamaktadır.", userFirstName.Value,
                                                                       userLastName.Value));
                        }
                        else
                        {
                            fcm.notification.Add("body", String.Format("{0} {1} evden ayrılıyor. Alacağınız : {2:c}", userFirstName.Value,
                                                                       userLastName.Value,
                                                                       -friendship.Debt));
                        }
                    }

                    await _fcmService.SendFCMAsync(fcm);

                    fcm = new FCMModel(u.DeviceId, type: "LeaveHome");

                    fcm.data.Add("LeaverId", user.Id);
                    await _fcmService.SendFCMAsync(fcm);

                    _friendshipRepository.Delete(friendship);
                }
            }
            else
            {
                ShoppingListModel shoppingList = await _shoppingListRepository.GetShoppingListByHomeIdAsync(user.Home.Id);

                List <NotepadModel> notepad = await _notepadRepository.GetAllNoteByHomeIdAsync(user.Home.Id);

                List <ExpenseModel> expenses = await _expenseRepository.GetAllExpensesByHomeIdAsync(user.Home.Id);

                _shoppingListRepository.Delete(shoppingList);

                foreach (var note in notepad)
                {
                    _notepadRepository.Delete(note);
                }

                foreach (var expense in expenses)
                {
                    _expenseRepository.Delete(expense);
                }

                user.Home     = null;
                user.Position = (int)UserPosition.HasNotHome;

                _userRepository.Update(user);
                _homeRepository.Delete(home);
            }
        }