Example #1
0
        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));
        }
Example #2
0
        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));
        }
Example #6
0
 private bool MoveRequestToParticipate(ParticipationRequest request)
 {
     if (participationData.isTopPriorityAndState(ParticipationState.Pending, request.Requestor))
     {
         participationData.CurrentParticipationState = ParticipationState.Participating;
     }
     return(participationData.isTopPriorityAndState(ParticipationState.Participating, request.Requestor));
 }
Example #7
0
 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));
            }
Example #10
0
 public bool LockParticipation(ParticipationRequest request)
 {
     if (participationData.isTopPriorityAndState(ParticipationState.Participating, request.CompetitorReference))
     {
         participationData.CurrentParticipationState = ParticipationState.Retained;
         return(true);
     }
     return(false);
 }
Example #11
0
    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);
    }
Example #12
0
    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);
    }
Example #13
0
 private bool doesRequestPassFilters(ParticipationRequest request)
 {
     foreach (AbstractParticipationFilter value in participationFilters.Values)
     {
         if (!value.doesRequestPassFilter(request))
         {
             return(false);
         }
     }
     return(true);
 }
Example #14
0
    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));
     }
 }
Example #17
0
    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;
            }
        }
Example #20
0
        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."
                }));
            }
        }
Example #22
0
        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;
            }
        }
    }
Example #24
0
 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);
                }
            }
        }
Example #26
0
 public void LogRequest(ParticipationRequest request, bool accepted)
 {
 }
Example #27
0
 public override bool doesRequestPassFilter(ParticipationRequest request)
 {
     return(request.Requestor.GetComponentInChildren <PartyGameBehaviourTag>() != null);
 }
Example #28
0
 public bool StopParticipation(ParticipationRequest request)
 {
     return(StopCurrentParticipation(request));
 }
Example #29
0
 public void ForceStopParticipation(ParticipationRequest request)
 {
     Internal_UpdateParticipationWhenSomethingGotRemoved(request.CompetitorReference, "Controller_ForceStopRequest");
 }
 public abstract bool doesRequestPassFilter(ParticipationRequest request);