public Response DeleteCoach(DeleteCoachRequest request) { var coach = memberQuery.GetCoach(request.CoachId); if (coach == null) { return(Response.CreateResponse(new EntityNotFoundException("The specified coach does not exist"))); } if (coach.ClubId != request.ClubId) { return(Response.CreateResponse(new IllegalOperationException("The specified coach does not belong to this club"))); } try { coachRepository.DeleteCoach(coach); var members = memberQuery.GetMembersByEmail(request.ClubId, coach.Email); if (members.Count() == 0) { var result = identityManager.RemoveUser(coach.Email).Result; } else if (!members.Any(m => m.Membership == Membership.Coach)) { var result = identityManager.RemoveUserRole(coach.Email, Membership.Coach).Result; } return(Response.CreateSuccessResponse()); } catch (Exception ex) { return(Response.CreateResponse(ex)); } }
public ServiceResponse DeleteCoach(int id) { var response = TryExecute(() => { var coach = _coachRepository.GetCoachById(id); if (coach == null) { return(ServiceResponse.Error(new ErrorDetails(404, string.Format(Error404_CouldNotFindCoach, id)))); } _coachRepository.DeleteCoach(coach); return(ServiceResponse.Success()); }); if (!response.IsSuccess) { return(response); } var sendEventResponse = SendEvent(TrackingLogEventType.CoachDeleted, id); if (!sendEventResponse.IsSuccess) { return(sendEventResponse); } return(response); }
public ActionResult Delete(String id, FormCollection collection) { try { _repository.DeleteCoach(id); return(RedirectToAction("Index")); } catch (Exception ex) { //error msg for failed delete in XML file ViewBag.ErrorMsg = "Error deleting record. " + ex.Message; return(View(_repository.GetCoachByID(id))); } }
public ActionResult DeleteConfirmed(string id) { _repository.DeleteCoach(id); return(RedirectToAction("Index")); }
public void DeleteCoach(int coachId) { _coachRepository.DeleteCoach(coachId); }