diff --git a/api/Controllers/TeamsController.cs b/api/Controllers/TeamsController.cs
index 408d99cd..a7274ace 100644
--- a/api/Controllers/TeamsController.cs
+++ b/api/Controllers/TeamsController.cs
@@ -67,7 +67,7 @@ namespace api.Controllers
{
User tCap = await context.Users.FirstOrDefaultAsync(u=>u.QRcode == TeamAddDetails.capQR);
-
+
if(tCap.team == null){
Team tAdd = new Team{EventId = TeamAddDetails.EventId, Nome = TeamAddDetails.Nome, Cap = tCap, NMembros = 1, Pontos = 0};
diff --git a/api/Migrations/20190309183026_TeamsV2.Designer.cs b/api/Migrations/20190309183026_TeamsV2.Designer.cs
new file mode 100644
index 00000000..68ef50d4
--- /dev/null
+++ b/api/Migrations/20190309183026_TeamsV2.Designer.cs
@@ -0,0 +1,450 @@
+//
+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("20190309183026_TeamsV2")]
+ partial class TeamsV2
+ {
+ 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()
+ .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/20190309183026_TeamsV2.cs b/api/Migrations/20190309183026_TeamsV2.cs
new file mode 100644
index 00000000..9cd33c02
--- /dev/null
+++ b/api/Migrations/20190309183026_TeamsV2.cs
@@ -0,0 +1,496 @@
+using System;
+using Microsoft.EntityFrameworkCore.Metadata;
+using Microsoft.EntityFrameworkCore.Migrations;
+
+namespace api.Migrations
+{
+ public partial class TeamsV2 : 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
new file mode 100644
index 00000000..7b8d9f5b
--- /dev/null
+++ b/api/Migrations/DataContextModelSnapshot.cs
@@ -0,0 +1,448 @@
+//
+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