public async Task <IActionResult> DeleteDeliveryMan(int id) { var deliveryMan = deliveryManService.GetDeliveryManById(id); if (deliveryMan == null) { return(View("NotFound")); } var deliveryManDeliveredOrdersInfos = deliveryInfoService.GetDeliveryManOrderHistory(id); foreach (var info in deliveryManDeliveredOrdersInfos) { info.IdDeliveryMan = 0; deliveryInfoService.EditDeliveryInfo(info); } var currentLocation = currentLocationService.GetDeliveryManCurrentLocation(id); currentLocationService.DeleteDeliveryManCurrentLocation(currentLocation); var ratings = ratingService.GetDeliveryManRatings(id); foreach (var rating in ratings) { ratingService.DeleteRating(rating); } deliveryManService.DeleteDeliveryMan(id); locationService.DeleteLocation(deliveryMan.Location.Id); var user = await _userManager.FindByIdAsync(deliveryMan.IdentityId); if (user != null) { await _userManager.DeleteAsync(user); } TempData["Message"] = "Livreur supprimé !"; return(RedirectToAction("AllDeliveryMen")); }
public ActionResult <DeliveryManCurrentLocationDto> DeleteDeliveryManCurrentLocation([FromBody] CurrentLocationToDeleteDto location) { var deliveryMan = deliveryManService.GetDeliveryManById(location.DeliveryManId); if (deliveryMan == null) { return(NotFound()); } var deliveryManCurrentLocation = currentLocationService.GetDeliveryManCurrentLocation(location.DeliveryManId); if (deliveryManCurrentLocation == null) { return(NotFound()); } var deletedLocation = currentLocationService.DeleteDeliveryManCurrentLocation(deliveryManCurrentLocation); return(Ok(_mapper.Map <DeliveryManCurrentLocationDto>(deletedLocation))); }