public async Task <CompetitionUserResponse> AddParticipationRequest(Guid userId, Guid competitionId) { var competition = await _competitionRepo.Get(competitionId); competition.EnsureExists("Competition not found."); var existingParticipationRequest = await _participationRequestRepo.Get(userId, competitionId); existingParticipationRequest.EnsureDoesNotExist(); var existingParticipant = await _participantRepo.Get(userId, competitionId); existingParticipant.EnsureDoesNotExist(); var user = await _userRepo.Get(userId); user.EnsureExists("User not found."); var participationRequest = new ParticipationRequest(userId, competitionId); _participationRequestRepo.Create(participationRequest); await _participationRequestRepo.Save(); return(new CompetitionUserResponse(user)); }
public ExperiencesUser(List <Experience> experiences) { InitializeComponent(); List <int> idExp = new List <int>(); List <ParticipationRequest> participationRq = User.getInstance().ParticipationRequests; foreach (ParticipationRequest pr in participationRq) { idExp.Add(pr.IdExperience.id); } foreach (Experience exp in experiences) { if (exp.IsActive && idExp.Contains(exp.id)) { Label lbl = new Label() { HorizontalOptions = LayoutOptions.Start, VerticalOptions = LayoutOptions.CenterAndExpand, Margin = new Thickness(10), Text = exp.Name }; TapGestureRecognizer tap = new TapGestureRecognizer(); Image img = new Image { Margin = new Thickness(5, 5), HeightRequest = 75, WidthRequest = 75 }; ParticipationRequest tmp = participationRq.Find(x => x.IdExperience.id == exp.id); switch (tmp.Status) { case 0: img.Source = "sablier2"; break; case 1: img.Source = "check"; break; case 2: img.Source = "redcross"; break; case 3: img.Source = "lock"; break; case 4: img.Source = "lock"; break; default: img.Source = "test"; break; } tap.Tapped += (s, e) => Details(s, e, exp); img.GestureRecognizers.Add(tap); lbl.GestureRecognizers.Add(tap); StackLayout frame = new StackLayout() { HeightRequest = 100, Orientation = StackOrientation.Horizontal, Margin = new Thickness(2, 2), BackgroundColor = Color.FromHex("#7cc8ff"), }; frame.Children.Add(img); frame.Children.Add(lbl); ExpStack.Children.Add(frame); } } }
public ParticipationRequestOutcome(ParticipationRequest request, ParticipationState state, string gameObjectName, bool accepted) { Request = request; State = state; WinnerName = gameObjectName; RequestAccepted = accepted; }
public ActionResult Participer(ParticipationRequest PF_element) { var id_prestataire = User.Identity.GetUserId(); // dbmetier..Entry(marché).State = EntityState.Modified; Models.Participation participation = dbmetier.Participations.Where(a => a.id_prestataire_participation == id_prestataire && a.id_marché_participation == PF_element.id_marche).FirstOrDefault(); participation.budget_prestation = PF_element.budget_prestation; Profil prof = new Profil(); Participation_profil pf; foreach (Models.viewmodel.Profil_cout_chargeVM item in PF_element.listeprofil_cout) { prof = dbmetier.Profils.Where(a => a.libelle_profil == item.libelle).FirstOrDefault(); pf = new Participation_profil { id_participation_fk = participation.id_participation, id_profil_fk = prof.id_profil, cout_unit_ht = item.cout }; dbmetier.Participation_profil.Add(pf); } dbmetier.SaveChanges(); return(RedirectToAction("MarchePropose")); }
public ActionResult affecte(int id_marche) {// reepet de delais List <ParticipationRequest> listeoffre = new List <ParticipationRequest>(); ParticipationRequest pr; Marché mar = dbmetier.Marché.Where(a => a.id_marché == id_marche).FirstOrDefault(); List <Participation> listparticipation = dbmetier.Participations.Where(a => a.id_marché_participation == mar.id_marché && a.budget_prestation != null).ToList(); foreach (Participation item in listparticipation) { List <Profil_cout_chargeVM> listPCVM = new List <Profil_cout_chargeVM>(); Profil_cout_chargeVM element; prestataire prestataire = dbmetier.prestataires.Where(a => a.id_prestataire == item.id_prestataire_participation).FirstOrDefault(); List <Participation_profil> listepp = dbmetier.Participation_profil.Where(a => a.id_participation_fk == item.id_participation).ToList(); foreach (var item2 in listepp) { element = new Profil_cout_chargeVM(); element.cout = (int)item2.cout_unit_ht; element.libelle = item2.Profil.libelle_profil; listPCVM.Add(element); } pr = new ParticipationRequest { prestataire_participant = prestataire, budget_prestation = (int)item.budget_prestation, listeprofil_cout = listPCVM, }; listeoffre.Add(pr); } ViewBag.id_marche = id_marche; return(View(listeoffre)); }
private bool MoveRequestToParticipate(ParticipationRequest request) { if (participationData.isTopPriorityAndState(ParticipationState.Pending, request.Requestor)) { participationData.CurrentParticipationState = ParticipationState.Participating; } return(participationData.isTopPriorityAndState(ParticipationState.Participating, request.Requestor)); }
public CompetitionUserResponse(ParticipationRequest participationRequest) { if (participationRequest.User.Name == null) { throw new ApiError(500, "User's name is not included in request."); } UserId = participationRequest.UserId; Name = participationRequest.User.Name; }
public void NewParticipationGetsAssignedId() { var participationRequest = new ParticipationRequest(new Participation(newParticipant.Id, DefaultConversationIdDefaultUserIsIn)); HandleMessage(participationRequest); List <Participation> newParticipationsLinkedWithConversation = participationRepository.GetParticipationsByConversationId(DefaultConversationIdDefaultUserIsIn); Assert.IsTrue(newParticipationsLinkedWithConversation.All(participation => participation.Id > 0)); }
public void AddsParticipationToRepositoryIfParticipantIsValid() { var participationRequest = new ParticipationRequest(new Participation(newParticipant.Id, DefaultConversationIdDefaultUserIsIn)); HandleMessage(participationRequest); List <Participation> newParticipationsLinkedWithConversation = participationRepository.GetParticipationsByConversationId(DefaultConversationIdDefaultUserIsIn); Assert.IsTrue(newParticipationsLinkedWithConversation.Contains(participationRequest.Participation)); }
public bool LockParticipation(ParticipationRequest request) { if (participationData.isTopPriorityAndState(ParticipationState.Participating, request.CompetitorReference)) { participationData.CurrentParticipationState = ParticipationState.Retained; return(true); } return(false); }
public bool PrepareParticipation(ParticipationRequest request) { bool result = true; if ((request.RequestType == ParticipationRequest.Type.Prepare || request.RequestType == ParticipationRequest.Type.ForcedInteraction) && doesRequestPassFilters(request)) { EnterRequestIntoParticipationCompetition(request); } return(result); }
public bool StartParticipation(ParticipationRequest request) { bool result = false; if ((request.RequestType == ParticipationRequest.Type.Stop || !participationData.isTopPriorityAndState(ParticipationState.Retained, request.Requestor)) && request.RequestType == ParticipationRequest.Type.Start) { result = MoveRequestToParticipate(request); } return(result); }
private bool doesRequestPassFilters(ParticipationRequest request) { foreach (AbstractParticipationFilter value in participationFilters.Values) { if (!value.doesRequestPassFilter(request)) { return(false); } } return(true); }
private Competitor <GameObject> EnterRequestIntoParticipationCompetition(ParticipationRequest request) { Competitor <GameObject> competitor = null; if (PriorityCompetition != null) { competitor = PriorityCompetition.EnterCompetitor(request.Requestor); AddObserverAndListenersToParticipationRequestor(competitor); UpdateParticipationWhenRequestReceived(request); } return(competitor); }
public void DoNothingIfNewParticipantIsAlreadyInConversation() { var previousParticipationsLinkedWithConversation = new List <Participation>(participationRepository.GetParticipationsByConversationId(DefaultConversationIdDefaultUserIsIn)); Participation duplicateParticipation = previousParticipationsLinkedWithConversation.First(); var participationRequest = new ParticipationRequest(duplicateParticipation); HandleMessage(participationRequest); List <Participation> newParticipationsLinkedWithConversation = participationRepository.GetParticipationsByConversationId(DefaultConversationIdDefaultUserIsIn); Assert.That(previousParticipationsLinkedWithConversation, Is.EquivalentTo(newParticipationsLinkedWithConversation)); }
public IActionResult AddParticipation(ParticipationRequest request) { try { _participationService.AddParticipation(UserId, request.ActivityId); _hubNotifier.NotifyAboutNewParticipationRequest(request.ActivityId, UserId); return(Ok()); } catch (ArgumentException ex) { return(BadRequest(ex.Message)); } }
private bool StopCurrentParticipation(ParticipationRequest request) { bool flag = participationData.isTopPriorityAndState(ParticipationState.Participating, request.Requestor) || participationData.isTopPriorityAndState(ParticipationState.Retained, request.Requestor); if (flag) { Internal_UpdateParticipationWhenSomethingGotRemoved(request.CompetitorReference, "Controller_stopRequest"); Competitor <GameObject> competitor = PriorityCompetition.GetCompetitor(request.Requestor); if (competitor == null) { StopObserving(request.CompetitorReference); } } return(flag); }
public IActionResult RemoveParticipation(ParticipationRequest request) { try { _participationService.RemoveParticipation(UserId, request.ActivityId); return(Ok()); } catch (ArgumentException ex) { return(BadRequest(ex.Message)); } catch (Exception ex) { return(BadRequest(ex.Message)); } }
public async Task <IResponse> Create(ParticipationRequest request) { var part = await _context.Participations.FirstOrDefaultAsync(f => f.UserId == request.UserId && f.EventId == request.EventId); if (part != null) { return new GenericResponse { Code = (int)HttpStatusCode.BadRequest, Status = (int)StatusCode.RepeatedParticipant } } ; await using var tra = await _context.Database.BeginTransactionAsync(); try { part = new Participation { AddedIn = request.AddedIn, Contribution = request.Contribution, HasPaid = request.HasPaid, Observation = request.Observation }; await _context.Participations.AddAsync(part); await _context.SaveChangesAsync(); await tra.CommitAsync(); return(new GenericResponse { Code = (int)HttpStatusCode.OK, Status = (int)StatusCode.OkWithNoContent }); } catch (Exception e) { await tra.RollbackAsync(); Console.WriteLine(e); throw; } }
private void ParticipationRequest(object sender, EventArgs e) { ParticipationRequest pr = new ParticipationRequest { Status = 0, IdParticipant = User.getInstance().Token, Validated = 3, }; Experience tmp = new Experience(); tmp.id = this.idExp; pr.IdExperience = tmp; RestService.PostRequest <string>(pr, "participationRequest"); uselessBouton.Text = "demande d'inscription envoyée"; participationRq.IsEnabled = false; User.getInstance().ParticipationRequests.Add(pr); }
public async Task <IActionResult> Remove([FromBody] ParticipationRequest request) { try { var response = await _participationService.Remove(request); return(StatusCode(response.Code ?? 200, response)); } catch (Exception) { return(BadRequest(new GenericResponse { Code = (int)HttpStatusCode.BadRequest, Status = (int)Model.Transient.StatusCode.UnknowException, Message = "Generic error in request." })); } }
public List <ClientResponse> InviteParticipant(ParticipationRequest participationRequest) { var client = new RestClient(baseUrl + $"clients/invite"); var request = new RestRequest(Method.POST); request.AddHeader("content-type", "application/json"); request.AddJsonBody(participationRequest); var response = client.Execute(request); var reviewResponse = new List <ClientResponse>(); if (response.StatusCode.Equals(System.Net.HttpStatusCode.OK)) { //throw new TripAdvisorApiException($"Could not retrieve information from TripAdvisor. Response code: {response.StatusCode}"); reviewResponse = JsonConvert.DeserializeObject <List <ClientResponse> >(response.Content); } return(reviewResponse); }
public async Task <IResponse> Remove(ParticipationRequest request) { var part = await _context.Participations.FirstOrDefaultAsync(f => f.UserId == request.UserId && f.EventId == request.EventId); if (part == null) { return new GenericResponse { Code = (int)HttpStatusCode.BadRequest, Status = (int)StatusCode.ParticipationMissing } } ; await using var tra = await _context.Database.BeginTransactionAsync(); try { _context.Participations.Remove(part); await _context.SaveChangesAsync(); await tra.CommitAsync(); return(new GenericResponse { Code = (int)HttpStatusCode.OK, Status = (int)StatusCode.OkWithNoContent, }); } catch (Exception e) { await tra.RollbackAsync(); Console.WriteLine(e); throw; } } }
private void UpdateParticipationWhenRequestReceived(ParticipationRequest request) { if (participationData.CurrentParticipationState == ParticipationState.Participating || participationData.CurrentParticipationState == ParticipationState.Retained) { return; } PriorityCompetition.Decide(); if (PriorityCompetition.LatestResults != null && PriorityCompetition.LatestResults.Winner != null) { participationData.ParticipatingGO = PriorityCompetition.LatestResults.Winner; if (request.RequestType == ParticipationRequest.Type.Prepare) { participationData.CurrentParticipationState = ParticipationState.Pending; } else if (request.RequestType == ParticipationRequest.Type.ForcedInteraction) { participationData.CurrentParticipationState = ParticipationState.Participating; } } else { ResetParticipation(); } }
public void OnTriggerEnter(Collider collider) { GameObject gameObject = ActionSequencer.FindActionGraphObject(collider.gameObject); if (!AvatarDataHandle.TryGetPlayerHandle(base.gameObject, out var _) || !(gameObject != null) || !canInteractWithActionGraph(gameObject)) { return; } ForceInteractionAction component = gameObject.GetComponent <ForceInteractionAction>(); if (component != null) { ParticipationRequest.Type type = ParticipationRequest.Type.ForcedInteraction; ParticipationRequest request = new ParticipationRequest(type, gameObject, "PenguinInteraction"); participationController.PrepareParticipation(request); if (participationData != null && participationData.ParticipatingGO != null && participationData.ParticipatingGO.Value == gameObject) { participantReference = participationData.ParticipatingGO; currentActionGraphGameObject = gameObject; interactRequest.Set(); } } else { ParticipationRequest.Type type = ParticipationRequest.Type.Prepare; ParticipationRequest request2 = new ParticipationRequest(type, gameObject, "PenguinInteraction"); if (!isReadyForParticipation) { pendingParticipationRequest = request2; } else { participationController.PrepareParticipation(request2); } } }
public void LogRequest(ParticipationRequest request, bool accepted) { }
public override bool doesRequestPassFilter(ParticipationRequest request) { return(request.Requestor.GetComponentInChildren <PartyGameBehaviourTag>() != null); }
public bool StopParticipation(ParticipationRequest request) { return(StopCurrentParticipation(request)); }
public void ForceStopParticipation(ParticipationRequest request) { Internal_UpdateParticipationWhenSomethingGotRemoved(request.CompetitorReference, "Controller_ForceStopRequest"); }
public abstract bool doesRequestPassFilter(ParticipationRequest request);