public async Task <IActionResult> AddMemberToDivisionAsync(ClanId clanId, DivisionId divisionId, MemberId memberId) { var userId = HttpContext.GetUserId(); var clan = await _clanService.FindClanAsync(clanId); if (clan == null) { return(this.NotFound("Clan does not exist.")); } var result = await _clanService.AddMemberToDivisionAsync( clan, userId, divisionId, memberId); if (result.IsValid) { return(this.Ok("Division created.")); } result.AddToModelState(ModelState); return(this.BadRequest(new ValidationProblemDetails(ModelState))); }
public async Task <IActionResult> FetchDivisionMembersAsync(DivisionId divisionId) { var members = await _clanService.FetchDivisionMembersAsync(divisionId); if (!members.Any()) { return(this.NoContent()); } return(this.Ok(_mapper.Map <IEnumerable <MemberDto> >(members))); }
public async Task <IReadOnlyCollection <Member> > FetchDivisionMembersAsync(DivisionId divisionId) { var division = await _clanRepository.FindDivisionAsync(divisionId); if (division == null) { return(new List <Member>()); } return(division.Members.ToList()); }
protected void OnDivisionSelected(object sender, DirectEventArgs e) { if (DivisionId != null) { if (Session["DivisionId"] != null && !DivisionId.Equals(Session["DivisionId"].ToString())) { cboxRequest.Clear(); cboxRequest.EmptyText = "Select Request"; pnlTemplateGrid.Hidden = true; cntLabel.Hidden = true; pnlAddTemplateButton.Hidden = true; } Session["DivisionId"] = DivisionId; Session["DivisionName"] = cboxDivision.SelectedItem.Text; GetAndBindRequests(DivisionId); } }
public async Task <DomainValidationResult <Member> > AddMemberToDivisionAsync( Clan clan, UserId userId, DivisionId divisionId, MemberId memberId ) { if (!clan.MemberIsOwner(userId)) { return(DomainValidationResult <Member> .Failure($"The user ({userId}) isn't the clan owner.")); } clan.AddMemberToDivision(divisionId, memberId); await _clanRepository.UnitOfWork.CommitAsync(); return(new DomainValidationResult <Member>()); }
public string ConvertToSearch() { var cc = DbUtil.Db.ScratchPadCondition(); cc.Reset(); var c = cc.AddNewClause(QueryType.OrgSearchMember, CompareType.Equal, "1,True"); if (Name.HasValue()) { c.OrgName = Name; } if (ProgramId != 0) { c.Program = ProgramId.ToString(); } if (DivisionId != 0) { c.Division = DivisionId.ToString(); } if (StatusId != 0) { c.OrgStatus = StatusId.ToString(); } if (TypeId != 0) { c.OrgType2 = TypeId ?? 0; } if (CampusId != 0) { c.Campus = CampusId.ToString(); } if (ScheduleId != 0) { c.Schedule = ScheduleId.ToString(); } if (OnlineReg != 0) { c.OnlineReg = OnlineReg.ToString(); } cc.Save(DbUtil.Db); return("/Query/" + cc.Id); }
public async Task <DomainValidationResult <Division> > UpdateDivisionAsync( Clan clan, UserId userId, DivisionId divisionId, string name, string description ) { if (!clan.MemberIsOwner(userId)) { return(DomainValidationResult <Division> .Failure($"The user ({userId}) isn't the clan owner.")); } clan.UpdateDivision(divisionId, name, description); await _clanRepository.UnitOfWork.CommitAsync(); return(new DomainValidationResult <Division>()); }
private async Task <HttpResponseMessage> ExecuteAsync(ClanId clanId, DivisionId divisionId, UpdateDivisionRequest request) { return(await _httpClient.PostAsJsonAsync($"api/clans/{clanId}/divisions/{divisionId}", request)); }
public async Task <DomainValidationResult <Division> > DeleteDivisionAsync(Clan clan, UserId userId, DivisionId divisionId) { var result = new DomainValidationResult <Division>(); if (!clan.MemberIsOwner(userId)) { result.AddFailedPreconditionError($"The user ({userId}) isn't the clan owner."); } if (result.IsValid) { var division = clan.RemoveDivision(divisionId); await _clanRepository.UnitOfWork.CommitAsync(); return(division); } return(result); }
public async Task <Division?> FindDivisionAsync(DivisionId divisionId) { return(await _context.Divisions.Include(clan => clan.Members).AsExpandable().SingleOrDefaultAsync(division => division.Id == divisionId)); }
private async Task <HttpResponseMessage> ExecuteAsync(ClanId clanId, DivisionId divisionId) { return(await _httpClient.DeleteAsync($"api/clans/{clanId}/divisions/{divisionId}")); }
/* Methods */ /// <summary> /// Computes a compound ID for the specified sub-IDs. /// </summary> /// <param name="corporationId"> /// The ID of the corporation. /// </param> /// <param name="divisionId"> /// The ID of the division. /// </param> /// <returns> /// A compound ID combining the two sub-IDs. /// </returns> public static IConvertible CreateCacheKey(long corporationId, DivisionId divisionId) { return(EveCache.CreateCompoundCacheKey(corporationId, divisionId)); }
protected override void OnModelCreating(ModelBuilder modelBuilder) { modelBuilder.Entity <Clan>( builder => { builder.ToTable("Clan"); builder.Property(clan => clan.Id).HasConversion(clanId => clanId.ToGuid(), value => ClanId.FromGuid(value)).IsRequired().ValueGeneratedNever(); builder.Property(clan => clan.Name).IsRequired(); builder.Property(clan => clan.Summary).IsRequired(false); builder.Property(clan => clan.OwnerId).HasConversion(invitationId => invitationId.ToGuid(), value => UserId.FromGuid(value)).IsRequired(); builder.Ignore(clan => clan.Deleted); builder.HasMany(clan => clan.Members).WithOne().HasForeignKey(member => member.ClanId); builder.HasKey(clan => clan.Id); }); modelBuilder.Entity <Clan>( builder => { builder.ToTable("Clan"); builder.Property(clan => clan.Id).HasConversion(clanId => clanId.ToGuid(), value => ClanId.FromGuid(value)).IsRequired().ValueGeneratedNever(); builder.Property(clan => clan.Name).IsRequired(); builder.Property(clan => clan.Summary).IsRequired(false); builder.Property(clan => clan.OwnerId).HasConversion(invitationId => invitationId.ToGuid(), value => UserId.FromGuid(value)).IsRequired(); builder.HasMany(clan => clan.Members).WithOne().HasForeignKey(member => member.ClanId); builder.HasKey(clan => clan.Id); }); modelBuilder.Entity <Member>( builder => { builder.ToTable("Member"); builder.Property(member => member.Id).HasConversion(memberId => memberId.ToGuid(), value => MemberId.FromGuid(value)).IsRequired().ValueGeneratedNever(); builder.Property(member => member.UserId).HasConversion(userId => userId.ToGuid(), value => UserId.FromGuid(value)).IsRequired(); builder.Property(member => member.ClanId).HasConversion(clanId => clanId.ToGuid(), value => ClanId.FromGuid(value)).IsRequired(); builder.HasKey(member => member.Id); }); modelBuilder.Entity <Candidature>( builder => { builder.ToTable("Candidature"); builder.Property(candidature => candidature.Id) .HasConversion(candidatureId => candidatureId.ToGuid(), value => CandidatureId.FromGuid(value)) .IsRequired().ValueGeneratedNever(); builder.Property(candidature => candidature.UserId).HasConversion(userId => userId.ToGuid(), value => UserId.FromGuid(value)).IsRequired(); builder.Property(candidature => candidature.ClanId).HasConversion(clanId => clanId.ToGuid(), value => ClanId.FromGuid(value)).IsRequired(); builder.HasKey(candidature => candidature.Id); }); modelBuilder.Entity <Invitation>( builder => { builder.ToTable("Invitation"); builder.Property(invitation => invitation.Id) .HasConversion(invitationId => invitationId.ToGuid(), value => InvitationId.FromGuid(value)) .IsRequired().ValueGeneratedNever(); builder.Property(invitation => invitation.UserId).HasConversion(userId => userId.ToGuid(), value => UserId.FromGuid(value)).IsRequired(); builder.Property(invitation => invitation.ClanId).HasConversion(clanId => clanId.ToGuid(), value => ClanId.FromGuid(value)).IsRequired(); builder.HasKey(invitation => invitation.Id); }); modelBuilder.Entity <Division>( builder => { builder.ToTable("Division"); builder.Property(division => division.Id) .HasConversion(divisionId => divisionId.ToGuid(), value => DivisionId.FromGuid(value)) .IsRequired().ValueGeneratedNever(); builder.Property(division => division.Name).IsRequired(); builder.Property(division => division.Description).IsRequired(false); builder.Property(division => division.ClanId).HasConversion(clanId => clanId.ToGuid(), value => ClanId.FromGuid(value)).IsRequired(); builder.Ignore(division => division.Members); builder.HasKey(division => division.Id); }); }