diff --git a/api/Controllers/EventLocsVisitedController.cs b/api/Controllers/EventLocsVisitedController.cs index 236b6c3f..2f810294 100644 --- a/api/Controllers/EventLocsVisitedController.cs +++ b/api/Controllers/EventLocsVisitedController.cs @@ -66,21 +66,14 @@ namespace api.Controllers [HttpPost("add")] public async Task AddEventLoc(EventLocVisitedAdd EventLocVisitedData) { - - List uTeam = await context.Teams.Include(t=>t.Membros).ToListAsync(); EventLoc Loc = await context.EventLocs.FirstOrDefaultAsync(a=>a.Id == EventLocVisitedData.EventLocID); + var userT = await context.Users.FirstOrDefaultAsync(u=>u.QRcode==EventLocVisitedData.USerQR); - Team TeamToEdit = new Team(); + if(userT.team == null){ + return StatusCode(403); + } - uTeam.ForEach(delegate (Team t){ - if(t.EventId == Loc.EventId){ - t.Membros.ForEach(delegate (User u){ - if(u.QRcode == EventLocVisitedData.USerQR){ - TeamToEdit = t; - } - }); - } - }); + Team TeamToEdit = userT.team; TeamToEdit.Pontos += EventLocVisitedData.pontos; diff --git a/api/Controllers/TeamsController.cs b/api/Controllers/TeamsController.cs index 5734f578..408d99cd 100644 --- a/api/Controllers/TeamsController.cs +++ b/api/Controllers/TeamsController.cs @@ -68,21 +68,24 @@ namespace api.Controllers User tCap = await context.Users.FirstOrDefaultAsync(u=>u.QRcode == TeamAddDetails.capQR); - List memb = new List(); + if(tCap.team == null){ + Team tAdd = new Team{EventId = TeamAddDetails.EventId, Nome = TeamAddDetails.Nome, Cap = tCap, NMembros = 1, Pontos = 0}; - memb.Add(tCap); + tCap.team = tAdd; - Team tAdd = new Team{EventId = TeamAddDetails.EventId, Nome = TeamAddDetails.Nome, Cap = tCap, Membros = memb, NMembros = 1, Pontos = 0}; + await context.Teams.AddAsync(tAdd); + context.Users.Update(tCap); - await context.Teams.AddAsync(tAdd); - - var result = context.SaveChanges(); - - if (result == 1) - { - return StatusCode(201); - } - return BadRequest(); + var result = context.SaveChanges(); + + if (result >= 1) + { + return StatusCode(201); + } + return BadRequest(); + }else{ + return BadRequest(); + } } @@ -94,35 +97,22 @@ namespace api.Controllers User newMember = await context.Users.FirstOrDefaultAsync(u=>u.QRcode == MemberToAdd.newQR); - Team tEdit = await context.Teams.Include(t=>t.Membros).FirstOrDefaultAsync(t=>t.Id == MemberToAdd.id); + Team tEdit = await context.Teams.FirstOrDefaultAsync(t=>t.Id == MemberToAdd.id); - List allTeams = await context.Teams.Include(t=>t.Membros).Include(t=>t.Cap).ToListAsync(); - - var valido = true; - - allTeams.ForEach(delegate(Team t){ - if(newMember == t.Cap){ - valido = false; - } - t.Membros.ForEach(delegate(User m){ - if(newMember == m){ - valido = false; - } - }); - }); - - if(valido){ + if(newMember.team == null){ tEdit.NMembros++; - tEdit.Membros.Add(newMember); + newMember.team = tEdit; - context.Update(tEdit); + context.Teams.Update(tEdit); + context.Users.Update(newMember); var result = context.SaveChanges(); - - return StatusCode(201); - } - return StatusCode(403); + return StatusCode(201); + + }else{ + return StatusCode(403); + } } @@ -140,7 +130,7 @@ namespace api.Controllers tEdit.Nome = NameChange.nome; } - context.Update(tEdit); + context.Teams.Update(tEdit); var result = context.SaveChanges(); @@ -159,7 +149,9 @@ namespace api.Controllers User cap = await context.Users.FirstOrDefaultAsync(u=>u.QRcode == DeleteData.UserQR); if(cap == tEdit.Cap){ - context.Remove(tEdit); + context.Teams.Remove(tEdit); + cap.team = null; + context.Users.Update(cap); var result = context.SaveChanges(); return StatusCode(201); }else{ @@ -175,20 +167,25 @@ namespace api.Controllers User rmMember = await context.Users.FirstOrDefaultAsync(u=>u.QRcode == MemberToRemove.UserToRemoveQR); - Team tEdit = await context.Teams.Include(t=>t.Membros).Include(t=>t.Cap).FirstOrDefaultAsync(t=>t.Id == MemberToRemove.TeamID); + Team tEdit = await context.Teams.Include(t=>t.Cap).FirstOrDefaultAsync(t=>t.Id == MemberToRemove.TeamID); if(rmMember == tEdit.Cap){ return StatusCode(403); } - tEdit.NMembros--; - tEdit.Membros.Remove(rmMember); + if(rmMember.team == tEdit){ + tEdit.NMembros--; + rmMember.team = null; - context.Update(tEdit); + context.Teams.Update(tEdit); + context.Users.Update(rmMember); - var result = context.SaveChanges(); - - return StatusCode(201); + var result = context.SaveChanges(); + + return StatusCode(201); + }else{ + return StatusCode(403); + } } } diff --git a/api/Data/ITeamsRepository.cs b/api/Data/ITeamsRepository.cs index 12ba68ec..ac5a220d 100644 --- a/api/Data/ITeamsRepository.cs +++ b/api/Data/ITeamsRepository.cs @@ -10,7 +10,7 @@ namespace api.Data Task> GetTeams(); Task> GetEventTeam(int id); - Task> GetUserTeam(String QR); + Task GetUserTeam(String QR); } diff --git a/api/Data/TeamsReposiroty.cs b/api/Data/TeamsReposiroty.cs index 5ed69b06..0a0e3544 100644 --- a/api/Data/TeamsReposiroty.cs +++ b/api/Data/TeamsReposiroty.cs @@ -18,7 +18,7 @@ namespace api.Data public async Task> GetEventTeam(int id) { - List allTeams = await _context.Teams.Include(a=>a.Cap).Include(a=>a.Membros).ToListAsync(); + List allTeams = await _context.Teams.Include(a=>a.Cap).ToListAsync(); List rTeam = new List(); allTeams.ForEach(delegate(Team t){ if(t.EventId == id){ @@ -29,24 +29,16 @@ namespace api.Data return rTeam; } - public async Task> GetUserTeam(String QR) + public async Task GetUserTeam(String QR) { - List allTeams = await _context.Teams.Include(a=>a.Cap).Include(a=>a.Membros).ToListAsync(); - List rTeam = new List(); - allTeams.ForEach(delegate(Team t){ - foreach (User u in t.Membros){ - if(u.QRcode == QR){ - rTeam.Add(t); - } - } - }); + var rTeam = (await _context.Users.FirstAsync(u=>u.QRcode == QR)).team; return rTeam; } public async Task> GetTeams() { - var rTeams = await _context.Teams.Include(a=>a.Cap).Include(a=>a.Membros).ToListAsync(); + var rTeams = await _context.Teams.Include(a=>a.Cap).ToListAsync(); return rTeams; } diff --git a/api/Migrations/20190307182012_teamsV1.Designer.cs b/api/Migrations/20190307182012_teamsV1.Designer.cs deleted file mode 100644 index 9d4890f1..00000000 --- a/api/Migrations/20190307182012_teamsV1.Designer.cs +++ /dev/null @@ -1,450 +0,0 @@ -// -using System; -using Microsoft.EntityFrameworkCore; -using Microsoft.EntityFrameworkCore.Infrastructure; -using Microsoft.EntityFrameworkCore.Migrations; -using Microsoft.EntityFrameworkCore.Storage.ValueConversion; -using api.Data; - -namespace api.Migrations -{ - [DbContext(typeof(DataContext))] - [Migration("20190307182012_teamsV1")] - partial class teamsV1 - { - protected override void BuildTargetModel(ModelBuilder modelBuilder) - { -#pragma warning disable 612, 618 - modelBuilder - .HasAnnotation("ProductVersion", "2.2.0-rtm-35687") - .HasAnnotation("Relational:MaxIdentifierLength", 64); - - modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityRoleClaim", b => - { - b.Property("Id") - .ValueGeneratedOnAdd(); - - b.Property("ClaimType"); - - b.Property("ClaimValue"); - - b.Property("RoleId"); - - b.HasKey("Id"); - - b.HasIndex("RoleId"); - - b.ToTable("AspNetRoleClaims"); - }); - - modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserClaim", b => - { - b.Property("Id") - .ValueGeneratedOnAdd(); - - b.Property("ClaimType"); - - b.Property("ClaimValue"); - - b.Property("UserId"); - - b.HasKey("Id"); - - b.HasIndex("UserId"); - - b.ToTable("AspNetUserClaims"); - }); - - modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserLogin", b => - { - b.Property("LoginProvider"); - - b.Property("ProviderKey"); - - b.Property("ProviderDisplayName"); - - b.Property("UserId"); - - b.HasKey("LoginProvider", "ProviderKey"); - - b.HasIndex("UserId"); - - b.ToTable("AspNetUserLogins"); - }); - - modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserToken", b => - { - b.Property("UserId"); - - b.Property("LoginProvider"); - - b.Property("Name"); - - b.Property("Value"); - - b.HasKey("UserId", "LoginProvider", "Name"); - - b.ToTable("AspNetUserTokens"); - }); - - modelBuilder.Entity("api.Models.Event", b => - { - b.Property("Id") - .ValueGeneratedOnAdd(); - - b.Property("Desc"); - - b.Property("Nome"); - - b.HasKey("Id"); - - b.ToTable("Events"); - }); - - modelBuilder.Entity("api.Models.EventLoc", b => - { - b.Property("Id") - .ValueGeneratedOnAdd(); - - b.Property("Desc"); - - b.Property("EventId"); - - b.Property("ImgId"); - - b.Property("Lat"); - - b.Property("Long"); - - b.Property("Nome"); - - b.HasKey("Id"); - - b.HasIndex("ImgId"); - - b.ToTable("EventLocs"); - }); - - modelBuilder.Entity("api.Models.EventLocVisited", b => - { - b.Property("Id") - .ValueGeneratedOnAdd(); - - b.Property("LocationId"); - - b.Property("TeamId"); - - b.Property("timestamp"); - - b.HasKey("Id"); - - b.HasIndex("LocationId"); - - b.HasIndex("TeamId"); - - b.ToTable("EventLocsVisited"); - }); - - modelBuilder.Entity("api.Models.Log", b => - { - b.Property("Id") - .ValueGeneratedOnAdd(); - - b.Property("UserId"); - - b.Property("UserId1"); - - b.Property("amount"); - - b.Property("available"); - - b.Property("logType"); - - b.Property("productId"); - - b.Property("transactionId"); - - b.HasKey("Id"); - - b.HasIndex("UserId"); - - b.HasIndex("UserId1"); - - b.HasIndex("productId"); - - b.ToTable("Logs"); - }); - - modelBuilder.Entity("api.Models.Photo", b => - { - b.Property("Id") - .ValueGeneratedOnAdd(); - - b.Property("DateAdded"); - - b.Property("Description"); - - b.Property("IsMain"); - - b.Property("Url"); - - b.Property("UserId"); - - b.HasKey("Id"); - - b.HasIndex("UserId"); - - b.ToTable("Photos"); - }); - - modelBuilder.Entity("api.Models.Product", b => - { - b.Property("Id") - .ValueGeneratedOnAdd(); - - b.Property("basePrice"); - - b.Property("name"); - - b.Property("revenue"); - - b.Property("sold"); - - b.HasKey("Id"); - - b.ToTable("Products"); - }); - - modelBuilder.Entity("api.Models.Role", b => - { - b.Property("Id") - .ValueGeneratedOnAdd(); - - b.Property("ConcurrencyStamp") - .IsConcurrencyToken(); - - b.Property("Name") - .HasMaxLength(256); - - b.Property("NormalizedName") - .HasMaxLength(256); - - b.HasKey("Id"); - - b.HasIndex("NormalizedName") - .IsUnique() - .HasName("RoleNameIndex"); - - b.ToTable("AspNetRoles"); - }); - - modelBuilder.Entity("api.Models.Team", b => - { - b.Property("Id") - .ValueGeneratedOnAdd(); - - b.Property("CapId"); - - b.Property("EventId"); - - b.Property("NMembros"); - - b.Property("Nome"); - - b.Property("Pontos"); - - b.HasKey("Id"); - - b.HasIndex("CapId"); - - b.ToTable("Teams"); - }); - - modelBuilder.Entity("api.Models.User", b => - { - b.Property("Id") - .ValueGeneratedOnAdd(); - - b.Property("AccessFailedCount"); - - b.Property("ConcurrencyStamp") - .IsConcurrencyToken(); - - b.Property("Email") - .HasMaxLength(256); - - b.Property("EmailConfirmed"); - - b.Property("LockoutEnabled"); - - b.Property("LockoutEnd"); - - b.Property("NormalizedEmail") - .HasMaxLength(256); - - b.Property("NormalizedUserName") - .HasMaxLength(256); - - b.Property("PasswordHash"); - - b.Property("PhoneNumber"); - - b.Property("PhoneNumberConfirmed"); - - b.Property("QRcode"); - - b.Property("SecurityStamp"); - - b.Property("TwoFactorEnabled"); - - b.Property("UserName") - .HasMaxLength(256); - - b.Property("drinks"); - - b.Property("food"); - - b.Property("teamId"); - - b.HasKey("Id"); - - b.HasIndex("NormalizedEmail") - .HasName("EmailIndex"); - - b.HasIndex("NormalizedUserName") - .IsUnique() - .HasName("UserNameIndex"); - - b.HasIndex("teamId"); - - b.ToTable("AspNetUsers"); - }); - - modelBuilder.Entity("api.Models.UserRole", b => - { - b.Property("UserId"); - - b.Property("RoleId"); - - b.HasKey("UserId", "RoleId"); - - b.HasIndex("RoleId"); - - b.ToTable("AspNetUserRoles"); - }); - - modelBuilder.Entity("api.Models.Value", b => - { - b.Property("id") - .ValueGeneratedOnAdd(); - - b.Property("Name"); - - b.HasKey("id"); - - b.ToTable("Values"); - }); - - modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityRoleClaim", b => - { - b.HasOne("api.Models.Role") - .WithMany() - .HasForeignKey("RoleId") - .OnDelete(DeleteBehavior.Cascade); - }); - - modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserClaim", b => - { - b.HasOne("api.Models.User") - .WithMany() - .HasForeignKey("UserId") - .OnDelete(DeleteBehavior.Cascade); - }); - - modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserLogin", b => - { - b.HasOne("api.Models.User") - .WithMany() - .HasForeignKey("UserId") - .OnDelete(DeleteBehavior.Cascade); - }); - - modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserToken", b => - { - b.HasOne("api.Models.User") - .WithMany() - .HasForeignKey("UserId") - .OnDelete(DeleteBehavior.Cascade); - }); - - modelBuilder.Entity("api.Models.EventLoc", b => - { - b.HasOne("api.Models.Photo", "Img") - .WithMany() - .HasForeignKey("ImgId"); - }); - - modelBuilder.Entity("api.Models.EventLocVisited", b => - { - b.HasOne("api.Models.EventLoc", "Location") - .WithMany() - .HasForeignKey("LocationId"); - - b.HasOne("api.Models.Team", "Team") - .WithMany() - .HasForeignKey("TeamId"); - }); - - modelBuilder.Entity("api.Models.Log", b => - { - b.HasOne("api.Models.User") - .WithMany("logsFebrada") - .HasForeignKey("UserId"); - - b.HasOne("api.Models.User") - .WithMany("logsFestarola") - .HasForeignKey("UserId1"); - - b.HasOne("api.Models.Product", "product") - .WithMany() - .HasForeignKey("productId"); - }); - - modelBuilder.Entity("api.Models.Photo", b => - { - b.HasOne("api.Models.User", "User") - .WithMany("Photos") - .HasForeignKey("UserId") - .OnDelete(DeleteBehavior.Cascade); - }); - - modelBuilder.Entity("api.Models.Team", b => - { - b.HasOne("api.Models.User", "Cap") - .WithMany() - .HasForeignKey("CapId"); - }); - - modelBuilder.Entity("api.Models.User", b => - { - b.HasOne("api.Models.Team", "team") - .WithMany("Membros") - .HasForeignKey("teamId"); - }); - - modelBuilder.Entity("api.Models.UserRole", b => - { - b.HasOne("api.Models.Role", "Role") - .WithMany("UserRoles") - .HasForeignKey("RoleId") - .OnDelete(DeleteBehavior.Cascade); - - b.HasOne("api.Models.User", "User") - .WithMany("UserRoles") - .HasForeignKey("UserId") - .OnDelete(DeleteBehavior.Cascade); - }); -#pragma warning restore 612, 618 - } - } -} diff --git a/api/Migrations/20190307182012_teamsV1.cs b/api/Migrations/20190307182012_teamsV1.cs deleted file mode 100644 index 2ef87021..00000000 --- a/api/Migrations/20190307182012_teamsV1.cs +++ /dev/null @@ -1,496 +0,0 @@ -using System; -using Microsoft.EntityFrameworkCore.Metadata; -using Microsoft.EntityFrameworkCore.Migrations; - -namespace api.Migrations -{ - public partial class teamsV1 : Migration - { - protected override void Up(MigrationBuilder migrationBuilder) - { - migrationBuilder.CreateTable( - name: "AspNetRoles", - columns: table => new - { - Id = table.Column(nullable: false) - .Annotation("MySql:ValueGenerationStrategy", MySqlValueGenerationStrategy.IdentityColumn), - Name = table.Column(maxLength: 256, nullable: true), - NormalizedName = table.Column(maxLength: 256, nullable: true), - ConcurrencyStamp = table.Column(nullable: true) - }, - constraints: table => - { - table.PrimaryKey("PK_AspNetRoles", x => x.Id); - }); - - migrationBuilder.CreateTable( - name: "Events", - columns: table => new - { - Id = table.Column(nullable: false) - .Annotation("MySql:ValueGenerationStrategy", MySqlValueGenerationStrategy.IdentityColumn), - Nome = table.Column(nullable: true), - Desc = table.Column(nullable: true) - }, - constraints: table => - { - table.PrimaryKey("PK_Events", x => x.Id); - }); - - migrationBuilder.CreateTable( - name: "Products", - columns: table => new - { - Id = table.Column(nullable: false) - .Annotation("MySql:ValueGenerationStrategy", MySqlValueGenerationStrategy.IdentityColumn), - name = table.Column(nullable: true), - basePrice = table.Column(nullable: false), - sold = table.Column(nullable: false), - revenue = table.Column(nullable: false) - }, - constraints: table => - { - table.PrimaryKey("PK_Products", x => x.Id); - }); - - migrationBuilder.CreateTable( - name: "Values", - columns: table => new - { - id = table.Column(nullable: false) - .Annotation("MySql:ValueGenerationStrategy", MySqlValueGenerationStrategy.IdentityColumn), - Name = table.Column(nullable: true) - }, - constraints: table => - { - table.PrimaryKey("PK_Values", x => x.id); - }); - - migrationBuilder.CreateTable( - name: "AspNetRoleClaims", - columns: table => new - { - Id = table.Column(nullable: false) - .Annotation("MySql:ValueGenerationStrategy", MySqlValueGenerationStrategy.IdentityColumn), - RoleId = table.Column(nullable: false), - ClaimType = table.Column(nullable: true), - ClaimValue = table.Column(nullable: true) - }, - constraints: table => - { - table.PrimaryKey("PK_AspNetRoleClaims", x => x.Id); - table.ForeignKey( - name: "FK_AspNetRoleClaims_AspNetRoles_RoleId", - column: x => x.RoleId, - principalTable: "AspNetRoles", - principalColumn: "Id", - onDelete: ReferentialAction.Cascade); - }); - - migrationBuilder.CreateTable( - name: "AspNetUserRoles", - columns: table => new - { - UserId = table.Column(nullable: false), - RoleId = table.Column(nullable: false) - }, - constraints: table => - { - table.PrimaryKey("PK_AspNetUserRoles", x => new { x.UserId, x.RoleId }); - table.ForeignKey( - name: "FK_AspNetUserRoles_AspNetRoles_RoleId", - column: x => x.RoleId, - principalTable: "AspNetRoles", - principalColumn: "Id", - onDelete: ReferentialAction.Cascade); - }); - - migrationBuilder.CreateTable( - name: "AspNetUserClaims", - columns: table => new - { - Id = table.Column(nullable: false) - .Annotation("MySql:ValueGenerationStrategy", MySqlValueGenerationStrategy.IdentityColumn), - UserId = table.Column(nullable: false), - ClaimType = table.Column(nullable: true), - ClaimValue = table.Column(nullable: true) - }, - constraints: table => - { - table.PrimaryKey("PK_AspNetUserClaims", x => x.Id); - }); - - migrationBuilder.CreateTable( - name: "AspNetUserLogins", - columns: table => new - { - LoginProvider = table.Column(nullable: false), - ProviderKey = table.Column(nullable: false), - ProviderDisplayName = table.Column(nullable: true), - UserId = table.Column(nullable: false) - }, - constraints: table => - { - table.PrimaryKey("PK_AspNetUserLogins", x => new { x.LoginProvider, x.ProviderKey }); - }); - - migrationBuilder.CreateTable( - name: "AspNetUserTokens", - columns: table => new - { - UserId = table.Column(nullable: false), - LoginProvider = table.Column(nullable: false), - Name = table.Column(nullable: false), - Value = table.Column(nullable: true) - }, - constraints: table => - { - table.PrimaryKey("PK_AspNetUserTokens", x => new { x.UserId, x.LoginProvider, x.Name }); - }); - - migrationBuilder.CreateTable( - name: "Logs", - columns: table => new - { - Id = table.Column(nullable: false) - .Annotation("MySql:ValueGenerationStrategy", MySqlValueGenerationStrategy.IdentityColumn), - amount = table.Column(nullable: false), - available = table.Column(nullable: false), - productId = table.Column(nullable: true), - transactionId = table.Column(nullable: true), - logType = table.Column(nullable: true), - UserId = table.Column(nullable: true), - UserId1 = table.Column(nullable: true) - }, - constraints: table => - { - table.PrimaryKey("PK_Logs", x => x.Id); - table.ForeignKey( - name: "FK_Logs_Products_productId", - column: x => x.productId, - principalTable: "Products", - principalColumn: "Id", - onDelete: ReferentialAction.Restrict); - }); - - migrationBuilder.CreateTable( - name: "Photos", - columns: table => new - { - Id = table.Column(nullable: false) - .Annotation("MySql:ValueGenerationStrategy", MySqlValueGenerationStrategy.IdentityColumn), - Url = table.Column(nullable: true), - Description = table.Column(nullable: true), - DateAdded = table.Column(nullable: false), - IsMain = table.Column(nullable: false), - UserId = table.Column(nullable: false) - }, - constraints: table => - { - table.PrimaryKey("PK_Photos", x => x.Id); - }); - - migrationBuilder.CreateTable( - name: "EventLocs", - columns: table => new - { - Id = table.Column(nullable: false) - .Annotation("MySql:ValueGenerationStrategy", MySqlValueGenerationStrategy.IdentityColumn), - EventId = table.Column(nullable: false), - Lat = table.Column(nullable: false), - Long = table.Column(nullable: false), - Nome = table.Column(nullable: true), - Desc = table.Column(nullable: true), - ImgId = table.Column(nullable: true) - }, - constraints: table => - { - table.PrimaryKey("PK_EventLocs", x => x.Id); - table.ForeignKey( - name: "FK_EventLocs_Photos_ImgId", - column: x => x.ImgId, - principalTable: "Photos", - principalColumn: "Id", - onDelete: ReferentialAction.Restrict); - }); - - migrationBuilder.CreateTable( - name: "Teams", - columns: table => new - { - Id = table.Column(nullable: false) - .Annotation("MySql:ValueGenerationStrategy", MySqlValueGenerationStrategy.IdentityColumn), - EventId = table.Column(nullable: false), - Nome = table.Column(nullable: true), - CapId = table.Column(nullable: true), - NMembros = table.Column(nullable: false), - Pontos = table.Column(nullable: false) - }, - constraints: table => - { - table.PrimaryKey("PK_Teams", x => x.Id); - }); - - migrationBuilder.CreateTable( - name: "AspNetUsers", - columns: table => new - { - Id = table.Column(nullable: false) - .Annotation("MySql:ValueGenerationStrategy", MySqlValueGenerationStrategy.IdentityColumn), - UserName = table.Column(maxLength: 256, nullable: true), - NormalizedUserName = table.Column(maxLength: 256, nullable: true), - Email = table.Column(maxLength: 256, nullable: true), - NormalizedEmail = table.Column(maxLength: 256, nullable: true), - EmailConfirmed = table.Column(nullable: false), - PasswordHash = table.Column(nullable: true), - SecurityStamp = table.Column(nullable: true), - ConcurrencyStamp = table.Column(nullable: true), - PhoneNumber = table.Column(nullable: true), - PhoneNumberConfirmed = table.Column(nullable: false), - TwoFactorEnabled = table.Column(nullable: false), - LockoutEnd = table.Column(nullable: true), - LockoutEnabled = table.Column(nullable: false), - AccessFailedCount = table.Column(nullable: false), - QRcode = table.Column(nullable: true), - drinks = table.Column(nullable: false), - food = table.Column(nullable: false), - teamId = table.Column(nullable: true) - }, - constraints: table => - { - table.PrimaryKey("PK_AspNetUsers", x => x.Id); - table.ForeignKey( - name: "FK_AspNetUsers_Teams_teamId", - column: x => x.teamId, - principalTable: "Teams", - principalColumn: "Id", - onDelete: ReferentialAction.Restrict); - }); - - migrationBuilder.CreateTable( - name: "EventLocsVisited", - columns: table => new - { - Id = table.Column(nullable: false) - .Annotation("MySql:ValueGenerationStrategy", MySqlValueGenerationStrategy.IdentityColumn), - TeamId = table.Column(nullable: true), - LocationId = table.Column(nullable: true), - timestamp = table.Column(nullable: false) - }, - constraints: table => - { - table.PrimaryKey("PK_EventLocsVisited", x => x.Id); - table.ForeignKey( - name: "FK_EventLocsVisited_EventLocs_LocationId", - column: x => x.LocationId, - principalTable: "EventLocs", - principalColumn: "Id", - onDelete: ReferentialAction.Restrict); - table.ForeignKey( - name: "FK_EventLocsVisited_Teams_TeamId", - column: x => x.TeamId, - principalTable: "Teams", - principalColumn: "Id", - onDelete: ReferentialAction.Restrict); - }); - - migrationBuilder.CreateIndex( - name: "IX_AspNetRoleClaims_RoleId", - table: "AspNetRoleClaims", - column: "RoleId"); - - migrationBuilder.CreateIndex( - name: "RoleNameIndex", - table: "AspNetRoles", - column: "NormalizedName", - unique: true); - - migrationBuilder.CreateIndex( - name: "IX_AspNetUserClaims_UserId", - table: "AspNetUserClaims", - column: "UserId"); - - migrationBuilder.CreateIndex( - name: "IX_AspNetUserLogins_UserId", - table: "AspNetUserLogins", - column: "UserId"); - - migrationBuilder.CreateIndex( - name: "IX_AspNetUserRoles_RoleId", - table: "AspNetUserRoles", - column: "RoleId"); - - migrationBuilder.CreateIndex( - name: "EmailIndex", - table: "AspNetUsers", - column: "NormalizedEmail"); - - migrationBuilder.CreateIndex( - name: "UserNameIndex", - table: "AspNetUsers", - column: "NormalizedUserName", - unique: true); - - migrationBuilder.CreateIndex( - name: "IX_AspNetUsers_teamId", - table: "AspNetUsers", - column: "teamId"); - - migrationBuilder.CreateIndex( - name: "IX_EventLocs_ImgId", - table: "EventLocs", - column: "ImgId"); - - migrationBuilder.CreateIndex( - name: "IX_EventLocsVisited_LocationId", - table: "EventLocsVisited", - column: "LocationId"); - - migrationBuilder.CreateIndex( - name: "IX_EventLocsVisited_TeamId", - table: "EventLocsVisited", - column: "TeamId"); - - migrationBuilder.CreateIndex( - name: "IX_Logs_UserId", - table: "Logs", - column: "UserId"); - - migrationBuilder.CreateIndex( - name: "IX_Logs_UserId1", - table: "Logs", - column: "UserId1"); - - migrationBuilder.CreateIndex( - name: "IX_Logs_productId", - table: "Logs", - column: "productId"); - - migrationBuilder.CreateIndex( - name: "IX_Photos_UserId", - table: "Photos", - column: "UserId"); - - migrationBuilder.CreateIndex( - name: "IX_Teams_CapId", - table: "Teams", - column: "CapId"); - - migrationBuilder.AddForeignKey( - name: "FK_AspNetUserRoles_AspNetUsers_UserId", - table: "AspNetUserRoles", - column: "UserId", - principalTable: "AspNetUsers", - principalColumn: "Id", - onDelete: ReferentialAction.Cascade); - - migrationBuilder.AddForeignKey( - name: "FK_AspNetUserClaims_AspNetUsers_UserId", - table: "AspNetUserClaims", - column: "UserId", - principalTable: "AspNetUsers", - principalColumn: "Id", - onDelete: ReferentialAction.Cascade); - - migrationBuilder.AddForeignKey( - name: "FK_AspNetUserLogins_AspNetUsers_UserId", - table: "AspNetUserLogins", - column: "UserId", - principalTable: "AspNetUsers", - principalColumn: "Id", - onDelete: ReferentialAction.Cascade); - - migrationBuilder.AddForeignKey( - name: "FK_AspNetUserTokens_AspNetUsers_UserId", - table: "AspNetUserTokens", - column: "UserId", - principalTable: "AspNetUsers", - principalColumn: "Id", - onDelete: ReferentialAction.Cascade); - - migrationBuilder.AddForeignKey( - name: "FK_Logs_AspNetUsers_UserId", - table: "Logs", - column: "UserId", - principalTable: "AspNetUsers", - principalColumn: "Id", - onDelete: ReferentialAction.Restrict); - - migrationBuilder.AddForeignKey( - name: "FK_Logs_AspNetUsers_UserId1", - table: "Logs", - column: "UserId1", - principalTable: "AspNetUsers", - principalColumn: "Id", - onDelete: ReferentialAction.Restrict); - - migrationBuilder.AddForeignKey( - name: "FK_Photos_AspNetUsers_UserId", - table: "Photos", - column: "UserId", - principalTable: "AspNetUsers", - principalColumn: "Id", - onDelete: ReferentialAction.Cascade); - - migrationBuilder.AddForeignKey( - name: "FK_Teams_AspNetUsers_CapId", - table: "Teams", - column: "CapId", - principalTable: "AspNetUsers", - principalColumn: "Id", - onDelete: ReferentialAction.Restrict); - } - - protected override void Down(MigrationBuilder migrationBuilder) - { - migrationBuilder.DropForeignKey( - name: "FK_Teams_AspNetUsers_CapId", - table: "Teams"); - - migrationBuilder.DropTable( - name: "AspNetRoleClaims"); - - migrationBuilder.DropTable( - name: "AspNetUserClaims"); - - migrationBuilder.DropTable( - name: "AspNetUserLogins"); - - migrationBuilder.DropTable( - name: "AspNetUserRoles"); - - migrationBuilder.DropTable( - name: "AspNetUserTokens"); - - migrationBuilder.DropTable( - name: "EventLocsVisited"); - - migrationBuilder.DropTable( - name: "Events"); - - migrationBuilder.DropTable( - name: "Logs"); - - migrationBuilder.DropTable( - name: "Values"); - - migrationBuilder.DropTable( - name: "AspNetRoles"); - - migrationBuilder.DropTable( - name: "EventLocs"); - - migrationBuilder.DropTable( - name: "Products"); - - migrationBuilder.DropTable( - name: "Photos"); - - migrationBuilder.DropTable( - name: "AspNetUsers"); - - migrationBuilder.DropTable( - name: "Teams"); - } - } -} diff --git a/api/Migrations/DataContextModelSnapshot.cs b/api/Migrations/DataContextModelSnapshot.cs deleted file mode 100644 index 175112d0..00000000 --- a/api/Migrations/DataContextModelSnapshot.cs +++ /dev/null @@ -1,448 +0,0 @@ -// -using System; -using Microsoft.EntityFrameworkCore; -using Microsoft.EntityFrameworkCore.Infrastructure; -using Microsoft.EntityFrameworkCore.Storage.ValueConversion; -using api.Data; - -namespace api.Migrations -{ - [DbContext(typeof(DataContext))] - partial class DataContextModelSnapshot : ModelSnapshot - { - protected override void BuildModel(ModelBuilder modelBuilder) - { -#pragma warning disable 612, 618 - modelBuilder - .HasAnnotation("ProductVersion", "2.2.0-rtm-35687") - .HasAnnotation("Relational:MaxIdentifierLength", 64); - - modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityRoleClaim", b => - { - b.Property("Id") - .ValueGeneratedOnAdd(); - - b.Property("ClaimType"); - - b.Property("ClaimValue"); - - b.Property("RoleId"); - - b.HasKey("Id"); - - b.HasIndex("RoleId"); - - b.ToTable("AspNetRoleClaims"); - }); - - modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserClaim", b => - { - b.Property("Id") - .ValueGeneratedOnAdd(); - - b.Property("ClaimType"); - - b.Property("ClaimValue"); - - b.Property("UserId"); - - b.HasKey("Id"); - - b.HasIndex("UserId"); - - b.ToTable("AspNetUserClaims"); - }); - - modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserLogin", b => - { - b.Property("LoginProvider"); - - b.Property("ProviderKey"); - - b.Property("ProviderDisplayName"); - - b.Property("UserId"); - - b.HasKey("LoginProvider", "ProviderKey"); - - b.HasIndex("UserId"); - - b.ToTable("AspNetUserLogins"); - }); - - modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserToken", b => - { - b.Property("UserId"); - - b.Property("LoginProvider"); - - b.Property("Name"); - - b.Property("Value"); - - b.HasKey("UserId", "LoginProvider", "Name"); - - b.ToTable("AspNetUserTokens"); - }); - - modelBuilder.Entity("api.Models.Event", b => - { - b.Property("Id") - .ValueGeneratedOnAdd(); - - b.Property("Desc"); - - b.Property("Nome"); - - b.HasKey("Id"); - - b.ToTable("Events"); - }); - - modelBuilder.Entity("api.Models.EventLoc", b => - { - b.Property("Id") - .ValueGeneratedOnAdd(); - - b.Property("Desc"); - - b.Property("EventId"); - - b.Property("ImgId"); - - b.Property("Lat"); - - b.Property("Long"); - - b.Property("Nome"); - - b.HasKey("Id"); - - b.HasIndex("ImgId"); - - b.ToTable("EventLocs"); - }); - - modelBuilder.Entity("api.Models.EventLocVisited", b => - { - b.Property("Id") - .ValueGeneratedOnAdd(); - - b.Property("LocationId"); - - b.Property("TeamId"); - - b.Property("timestamp"); - - b.HasKey("Id"); - - b.HasIndex("LocationId"); - - b.HasIndex("TeamId"); - - b.ToTable("EventLocsVisited"); - }); - - modelBuilder.Entity("api.Models.Log", b => - { - b.Property("Id") - .ValueGeneratedOnAdd(); - - b.Property("UserId"); - - b.Property("UserId1"); - - b.Property("amount"); - - b.Property("available"); - - b.Property("logType"); - - b.Property("productId"); - - b.Property("transactionId"); - - b.HasKey("Id"); - - b.HasIndex("UserId"); - - b.HasIndex("UserId1"); - - b.HasIndex("productId"); - - b.ToTable("Logs"); - }); - - modelBuilder.Entity("api.Models.Photo", b => - { - b.Property("Id") - .ValueGeneratedOnAdd(); - - b.Property("DateAdded"); - - b.Property("Description"); - - b.Property("IsMain"); - - b.Property("Url"); - - b.Property("UserId"); - - b.HasKey("Id"); - - b.HasIndex("UserId"); - - b.ToTable("Photos"); - }); - - modelBuilder.Entity("api.Models.Product", b => - { - b.Property("Id") - .ValueGeneratedOnAdd(); - - b.Property("basePrice"); - - b.Property("name"); - - b.Property("revenue"); - - b.Property("sold"); - - b.HasKey("Id"); - - b.ToTable("Products"); - }); - - modelBuilder.Entity("api.Models.Role", b => - { - b.Property("Id") - .ValueGeneratedOnAdd(); - - b.Property("ConcurrencyStamp") - .IsConcurrencyToken(); - - b.Property("Name") - .HasMaxLength(256); - - b.Property("NormalizedName") - .HasMaxLength(256); - - b.HasKey("Id"); - - b.HasIndex("NormalizedName") - .IsUnique() - .HasName("RoleNameIndex"); - - b.ToTable("AspNetRoles"); - }); - - modelBuilder.Entity("api.Models.Team", b => - { - b.Property("Id") - .ValueGeneratedOnAdd(); - - b.Property("CapId"); - - b.Property("EventId"); - - b.Property("NMembros"); - - b.Property("Nome"); - - b.Property("Pontos"); - - b.HasKey("Id"); - - b.HasIndex("CapId"); - - b.ToTable("Teams"); - }); - - modelBuilder.Entity("api.Models.User", b => - { - b.Property("Id") - .ValueGeneratedOnAdd(); - - b.Property("AccessFailedCount"); - - b.Property("ConcurrencyStamp") - .IsConcurrencyToken(); - - b.Property("Email") - .HasMaxLength(256); - - b.Property("EmailConfirmed"); - - b.Property("LockoutEnabled"); - - b.Property("LockoutEnd"); - - b.Property("NormalizedEmail") - .HasMaxLength(256); - - b.Property("NormalizedUserName") - .HasMaxLength(256); - - b.Property("PasswordHash"); - - b.Property("PhoneNumber"); - - b.Property("PhoneNumberConfirmed"); - - b.Property("QRcode"); - - b.Property("SecurityStamp"); - - b.Property("TwoFactorEnabled"); - - b.Property("UserName") - .HasMaxLength(256); - - b.Property("drinks"); - - b.Property("food"); - - b.Property("teamId"); - - b.HasKey("Id"); - - b.HasIndex("NormalizedEmail") - .HasName("EmailIndex"); - - b.HasIndex("NormalizedUserName") - .IsUnique() - .HasName("UserNameIndex"); - - b.HasIndex("teamId"); - - b.ToTable("AspNetUsers"); - }); - - modelBuilder.Entity("api.Models.UserRole", b => - { - b.Property("UserId"); - - b.Property("RoleId"); - - b.HasKey("UserId", "RoleId"); - - b.HasIndex("RoleId"); - - b.ToTable("AspNetUserRoles"); - }); - - modelBuilder.Entity("api.Models.Value", b => - { - b.Property("id") - .ValueGeneratedOnAdd(); - - b.Property("Name"); - - b.HasKey("id"); - - b.ToTable("Values"); - }); - - modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityRoleClaim", b => - { - b.HasOne("api.Models.Role") - .WithMany() - .HasForeignKey("RoleId") - .OnDelete(DeleteBehavior.Cascade); - }); - - modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserClaim", b => - { - b.HasOne("api.Models.User") - .WithMany() - .HasForeignKey("UserId") - .OnDelete(DeleteBehavior.Cascade); - }); - - modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserLogin", b => - { - b.HasOne("api.Models.User") - .WithMany() - .HasForeignKey("UserId") - .OnDelete(DeleteBehavior.Cascade); - }); - - modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserToken", b => - { - b.HasOne("api.Models.User") - .WithMany() - .HasForeignKey("UserId") - .OnDelete(DeleteBehavior.Cascade); - }); - - modelBuilder.Entity("api.Models.EventLoc", b => - { - b.HasOne("api.Models.Photo", "Img") - .WithMany() - .HasForeignKey("ImgId"); - }); - - modelBuilder.Entity("api.Models.EventLocVisited", b => - { - b.HasOne("api.Models.EventLoc", "Location") - .WithMany() - .HasForeignKey("LocationId"); - - b.HasOne("api.Models.Team", "Team") - .WithMany() - .HasForeignKey("TeamId"); - }); - - modelBuilder.Entity("api.Models.Log", b => - { - b.HasOne("api.Models.User") - .WithMany("logsFebrada") - .HasForeignKey("UserId"); - - b.HasOne("api.Models.User") - .WithMany("logsFestarola") - .HasForeignKey("UserId1"); - - b.HasOne("api.Models.Product", "product") - .WithMany() - .HasForeignKey("productId"); - }); - - modelBuilder.Entity("api.Models.Photo", b => - { - b.HasOne("api.Models.User", "User") - .WithMany("Photos") - .HasForeignKey("UserId") - .OnDelete(DeleteBehavior.Cascade); - }); - - modelBuilder.Entity("api.Models.Team", b => - { - b.HasOne("api.Models.User", "Cap") - .WithMany() - .HasForeignKey("CapId"); - }); - - modelBuilder.Entity("api.Models.User", b => - { - b.HasOne("api.Models.Team", "team") - .WithMany("Membros") - .HasForeignKey("teamId"); - }); - - modelBuilder.Entity("api.Models.UserRole", b => - { - b.HasOne("api.Models.Role", "Role") - .WithMany("UserRoles") - .HasForeignKey("RoleId") - .OnDelete(DeleteBehavior.Cascade); - - b.HasOne("api.Models.User", "User") - .WithMany("UserRoles") - .HasForeignKey("UserId") - .OnDelete(DeleteBehavior.Cascade); - }); -#pragma warning restore 612, 618 - } - } -}