示例#1
0
        public async Task <IActionResult> Edit(int teamid, TrainingTeam model)
        {
            var team = await TeamManager.FindTeamByIdAsync(teamid);

            if (team == null || team.UserId != User2.Id)
            {
                return(NotFound());
            }

            var aff = await Affiliations.FindAsync(model.AffiliationId);

            if (null == aff)
            {
                StatusMessage = "Error affiliation not found.";
                return(RedirectToAction(nameof(Edit)));
            }

            if (string.IsNullOrEmpty(model.TeamName))
            {
                StatusMessage = "Error team name is empty.";
                return(RedirectToAction(nameof(Edit)));
            }

            team.Affiliation   = aff;
            team.AffiliationId = aff.AffiliationId;
            team.TeamName      = model.TeamName;
            await TeamManager.UpdateAsync(team);

            StatusMessage = "Team info updated.";
            return(RedirectToAction(nameof(Edit)));
        }
示例#2
0
        /* Deprecated */
        public Affiliation AffiliateWith(Establishment establishment)
        {
            var currentAffiliations = Affiliations.ToList();

            // affiliation may already exist
            var affiliation = currentAffiliations
                              .SingleOrDefault(a => a.Establishment.Equals(establishment));

            if (affiliation != null)
            {
                return(affiliation);
            }

            // create affiliation
            affiliation = new Affiliation
            {
                // if person does not already have a default affiliation, this is it
                IsDefault     = !currentAffiliations.Any(a => a.IsDefault),
                Establishment = establishment, // affiliate with establishment
                Person        = this,

                // for non-institutions, person should not be claiming student, faculty, etc
                IsClaimingEmployee = !establishment.IsInstitution,
            };

            // add & return affiliation
            Affiliations.Add(affiliation);
            return(affiliation);
        }
示例#3
0
        public void AffiliationsTest()
        {
            PubSubIQ     iq   = new PubSubIQ(doc, PubSubCommandType.affiliations, NODE);
            Affiliations test = iq.Command as Affiliations;

            Assert.IsNotNull(test);
        }
示例#4
0
    // Use this for initialization
    void Start () {
        _affiliation = Affiliations.NoControl;

        switch (BaseAffiliation)
        {
            case "FullControl":
                _affiliation = Affiliations.FullControl;
                break;

            case "PartialControl":
                _affiliation = Affiliations.PartialControl;
                break;
                
            case "EnemyControl":
                _affiliation = Affiliations.EnemyControl;
                break;

            default:
                _affiliation = Affiliations.NoControl;
                break;
        }

        Visible = IsVisibleToPlayer;

    }
示例#5
0
 public async Task Update(Affiliations affiliations)
 {
     using (var conn = connectionFactory.Connection)
     {
         await conn.ExecuteAsync("sp_AffiliationsSetUp_Update",
                                 affiliations, commandType : CommandType.StoredProcedure);
     }
 }
示例#6
0
        public async Task <IActionResult> Create()
        {
            if (!await TeamManager.CheckCreateAsync(User2))
            {
                return(Message("Create team", "Team count limit exceeded.", MessageType.Danger));
            }
            ViewBag.Affils = await Affiliations.ListAsync();

            return(Window());
        }
示例#7
0
        public override IEnumerator <SortOrderModel> GetEnumerator()
        {
            foreach (var src in RankCaches)
            {
                var prob = new ProblemStatisticsModel[Problems.Count];
                for (int i = 0; i < Problems.Count; i++)
                {
                    prob[i] = new ProblemStatisticsModel();
                }

                var teams = new List <TeamModel>();
                int rank = 0, last_rank = 0;
                (int point, int penalty, int lastac)last = (int.MinValue, int.MinValue, int.MinValue);
                foreach (var item in src)
                {
                    if (!Affiliations.ContainsKey(item.AffiliationId) ||
                        !Categories.ContainsKey(item.CategoryId) ||
                        !(FilteredAffiliations?.Contains(item.AffiliationId) ?? true) ||
                        !(FilteredCategories?.Contains(item.CategoryId) ?? true) ||
                        (!Categories[item.CategoryId].IsPublic && !ShowHiddenCategories))
                    {
                        continue;
                    }

                    var team = CreateTeamViewModel(
                        item,
                        Affiliations[item.AffiliationId],
                        Categories[item.CategoryId],
                        IsPublic,
                        prob);

                    rank++;
                    var now = (team.Points, team.Penalty, team.LastAc);
                    if (last != now)
                    {
                        (last_rank, last) = (rank, now);
                    }

                    team.ContestId = IsPublic ? default(int?) : ContestId;
                    team.Rank      = last_rank;
                    team.ShowRank  = last_rank == rank;
                    teams.Add(team);
                }

                if (teams.Count == 0)
                {
                    continue;
                }
                yield return(new SortOrderModel(teams, prob));
            }
        }
示例#8
0
        public async Task <IActionResult> Edit(int teamid)
        {
            var team = await TeamManager.FindTeamByIdAsync(teamid);

            if (team == null || team.UserId != User2.Id)
            {
                return(NotFound());
            }
            ViewBag.Affils = await Affiliations.ListAsync();

            ViewBag.Users = await TeamManager.ListMembersAsync(team);

            return(View(team));
        }
示例#9
0
        /// <summary>
        ///     Object hash code
        /// </summary>
        /// <returns></returns>
        public override int GetHashCode()
        {
            unchecked
            {
                var hashCode = Name != null?Name.GetHashCode() : 0;

                hashCode = (hashCode * 397) ^ (LastName != null ? LastName.GetHashCode() : 0);
                hashCode = (hashCode * 397) ^ (FirstName != null ? FirstName.GetHashCode() : 0);
                hashCode = (hashCode * 397) ^ (MidInitials != null ? MidInitials.GetHashCode() : 0);
                hashCode = (hashCode * 397) ^ (Affiliations != null ? Affiliations.GetHashCode() : 0);
                hashCode = (hashCode * 397) ^ (CVParams != null ? CVParams.GetHashCode() : 0);
                hashCode = (hashCode * 397) ^ (UserParams != null ? UserParams.GetHashCode() : 0);
                return(hashCode);
            }
        }
        private AffiliationList()
        {
            Affiliations = _readWriter.ReadFileToList(ApplicationXmlFiles.FileType.AffiliationData);

            if (Affiliations.Count <= 0)
            {
                Affiliations.Add(new Affiliation
                {
                    Name = "Player", BackgroundColor = new[] { 128, 0, 0, 255 }, ForegroundColor = new[] { 255, 0, 0, 0 }
                });
                Affiliations.Add(new Affiliation
                {
                    Name = "Enemy", BackgroundColor = new[] { 128, 255, 0, 0 }, ForegroundColor = new[] { 255, 0, 0, 0 }
                });
            }
        }
        public async Task <CustomMessage> Update(Affiliations aff)
        {
            var affiliation = await repo.GetByCode(aff.AffiliationsCode);

            if (affiliation != null)
            {
                aff.EditedBy = userRepo.GetEmpCode();
                await repo.Update(aff);

                //Audit Trail
                await auditTrailService.Save(affiliation, aff, "EDIT");

                return(CustomMessageHandler.RecordUpdated());
            }
            return(CustomMessageHandler.Error("You can't edit this code"));
        }
        public async Task <IActionResult> Update(Affiliations affiliations)
        {
            try
            {
                if (!ModelState.IsValid)
                {
                    return(Ok());
                }
                var result = await service.Update(affiliations);

                return(Ok(result));
            }
            catch (Exception ex)
            {
                return(BadRequest(CustomMessageHandler.Error(ex.Message)));
            }
        }
        public async Task <IActionResult> Insert(Affiliations affiliations)
        {
            try
            {
                if (!ModelState.IsValid)
                {
                    return(BadRequest());
                }
                affiliations.CompanyCode = User.FindFirst("CompanyCode")?.Value;

                var result = await service.Insert(affiliations);

                return(Ok(result));
            }
            catch (Exception ex)
            {
                return(BadRequest(CustomMessageHandler.Error(ex.Message)));
            }
        }
        public async Task <CustomMessage> Insert(Affiliations aff)
        {
            if (String.IsNullOrEmpty(aff.AffiliationsCode) || String.IsNullOrWhiteSpace(aff.AffiliationsCode))
            {
                return(CustomMessageHandler.Error("Code: field is required"));
            }

            if ((await repo.GetByCode(aff.AffiliationsCode)) == null)
            {
                aff.CompanyCode = compInfoRepo.GetCompanyCode();
                aff.CreatedBy   = userRepo.GetEmpCode();
                await repo.Insert(aff);

                await auditTrailService.Save(new Affiliations(), aff, "ADD");

                return(CustomMessageHandler.RecordAdded());
            }
            return(CustomMessageHandler.Error("Code is already used"));
        }
示例#15
0
        public async Task Insert(Affiliations affiliations)
        {
            using (var conn = connectionFactory.Connection)
            {
                conn.Open();
                using (var transaction = conn.BeginTransaction())
                {
                    try
                    {
                        await conn.ExecuteAsync("sp_AffiliationsSetUp_Insert",
                                                affiliations, transaction, commandType : CommandType.StoredProcedure);

                        transaction.Commit();
                    }catch
                    {
                        transaction.Rollback();
                    }
                }
            }
        }
示例#16
0
        protected override IEnumerable <SortOrderModel> GetEnumerable()
        {
            cats2 = Categories.ToDictionary(t => t.CategoryId);
            affs2 = Affiliations.ToDictionary(t => t.AffiliationId);

            var rt = RankCache
                     .Where(a => cats2.ContainsKey(a.CategoryId))
                     .GroupBy(a => cats2[a.CategoryId].SortOrder)
                     .OrderBy(g => g.Key);

            foreach (var g in rt)
            {
                var prob = new ProblemStatisticsModel[Problems.Length];
                for (int i = 0; i < Problems.Length; i++)
                {
                    prob[i] = new ProblemStatisticsModel();
                }
                yield return(new SortOrderModel(GetViewModel(IsPublic, g, prob), prob));
            }
        }
示例#17
0
        public async Task <IActionResult> Create(
            [FromForm, Required] string teamName,
            [FromForm] int affilId)
        {
            if (null == await Affiliations.FindAsync(affilId))
            {
                StatusMessage = "Error no such affiliation.";
                return(RedirectToAction(nameof(List)));
            }

            if (!await TeamManager.CheckCreateAsync(User2))
            {
                StatusMessage = "Error max team count exceeded.";
                return(RedirectToAction(nameof(List)));
            }

            var teamid = await TeamManager.CreateTeamAsync(teamName, User2, affilId);

            return(RedirectToAction(nameof(Detail), new { teamid }));
        }
示例#18
0
        public async void QueryDatabase()
        {
            var getAffiliations = await _database.RefreshAffiliations().ConfigureAwait(true);

            Affiliations.Clear();

            foreach (Affiliation affiliation in getAffiliations)
            {
                Affiliations.Add(affiliation);
            }
            Affiliations = new ObservableCollection <Affiliation>(getAffiliations);

            var getParticipants = await _database.RefreshParticipants().ConfigureAwait(true);

            Participants.Clear();

            foreach (Participant participant in getParticipants)
            {
                Participants.Add(participant);
            }
        }
        public void TestBuildAffiliations()
        {
            var affs = new Affiliations {
                Node = "princely_musings"
            };

            affs.AddAffiliation(new Affiliation {
                Node = "node1", AffiliationType = AffiliationType.Owner
            });
            affs.AddAffiliation(new Affiliation {
                Node = "node2", AffiliationType = AffiliationType.Publisher
            });
            affs.AddAffiliation(new Affiliation {
                Node = "node5", AffiliationType = AffiliationType.Outcast
            });
            affs.AddAffiliation(new Affiliation {
                Node = "node6", AffiliationType = AffiliationType.Owner
            });
            affs.AddAffiliation(new Affiliation {
                Node = "node7", AffiliationType = AffiliationType.PublishOnly
            });

            affs.ShouldBe(Resource.Get("Xmpp.PubSub.Owner.affiliations4.xml"));
        }
示例#20
0
    internal void ChangeAffiliation(Affiliations affiliation)
    {
        Affiliation = affiliation;

        Sprite[] textures = Resources.LoadAll<Sprite>("Sprites");
        string[] names = new string[textures.Length];

        for (int ii = 0; ii < names.Length; ii++)
        {
            names[ii] = textures[ii].name;
        }

        Sprite sprite = textures[Array.IndexOf(names, Affiliation.ToString())];
        var sRenderer = gameObject.GetComponent<SpriteRenderer>();
        sRenderer.sprite = sprite;

        switch (Affiliation)
        {
            case Affiliations.FullControl:
                GC.Instance.ScriptPlayer.AddControlledSystem(gameObject);

                var scriptAction = LastAction.GetComponent<ActionBehaviour>();

                break;
            case Affiliations.PartialControl:
                
                break;

            case Affiliations.EnemyControl:
                sRenderer.sprite = sprite;
                break;

            default:
                return;
        }
    }
示例#21
0
 internal  void ChangeSystemAffiliation(GameObject systemObject, Affiliations affiliation)
 {
     var scriptSystem = systemObject.GetComponent<SystemBehaviour>();
     scriptSystem.ChangeAffiliation(affiliation);
 }