From 633960e7db621977a02f27c754b9b3f5e2c81fb0 Mon Sep 17 00:00:00 2001 From: ZMiguel Alves Date: Thu, 7 Mar 2019 17:33:15 +0000 Subject: [PATCH 01/11] Rev. 1 Teams e Eventos --- api/Controllers/EventLocsController.cs | 17 +++++ api/Controllers/EventLocsVisitedController.cs | 39 +++++++++++ api/Controllers/EventsController.cs | 17 +++++ api/Controllers/TeamsController.cs | 62 ++++++++++++++++++ api/Data/EventLocsRepository.cs | 11 +++- api/Data/IEventLocsRepository.cs | 2 +- api/Dtos/EventForAdd.cs | 16 +++++ api/Dtos/EventLocAdd.cs | 28 ++++++++ api/Dtos/EventLocVisitedAdd.cs | 20 ++++++ api/Dtos/TeamChangeName.cs | 21 ++++++ api/Dtos/TeamDelete.cs | 17 +++++ api/Dtos/TeamRemoveMember.cs | 20 ++++++ api/obj/Debug/netcoreapp2.1/api.assets.cache | Bin 133820 -> 130703 bytes 13 files changed, 267 insertions(+), 3 deletions(-) create mode 100644 api/Dtos/EventForAdd.cs create mode 100644 api/Dtos/EventLocAdd.cs create mode 100644 api/Dtos/EventLocVisitedAdd.cs create mode 100644 api/Dtos/TeamChangeName.cs create mode 100644 api/Dtos/TeamDelete.cs create mode 100644 api/Dtos/TeamRemoveMember.cs diff --git a/api/Controllers/EventLocsController.cs b/api/Controllers/EventLocsController.cs index 57d5052c..fa3345e8 100644 --- a/api/Controllers/EventLocsController.cs +++ b/api/Controllers/EventLocsController.cs @@ -57,5 +57,22 @@ namespace api.Controllers var Teams = await _repo.GetEventLocEvent(id); return Ok(Teams); } + + // POST api/eventLocs/add + // add new event + [HttpPost("add")] + public async Task AddEventLoc(EventLocAdd EventLocData) + { + EventLoc EAdd = new EventLoc{EventId = EventLocData.EventId, Lat = EventLocData.Lat, Long = EventLocData.Long, Nome = EventLocData.Nome, Desc = EventLocData.Desc, Img = EventLocData.Img}; + await context.EventLocs.AddAsync(EAdd); + + var result = context.SaveChanges(); + + if (result == 1) + { + return StatusCode(201); + } + return BadRequest(); + } } } diff --git a/api/Controllers/EventLocsVisitedController.cs b/api/Controllers/EventLocsVisitedController.cs index 5c20c04a..236b6c3f 100644 --- a/api/Controllers/EventLocsVisitedController.cs +++ b/api/Controllers/EventLocsVisitedController.cs @@ -60,5 +60,44 @@ namespace api.Controllers return Ok(Locs); } + + // POST api/eventLocsVisited/add + // add new event + [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); + + Team TeamToEdit = new Team(); + + uTeam.ForEach(delegate (Team t){ + if(t.EventId == Loc.EventId){ + t.Membros.ForEach(delegate (User u){ + if(u.QRcode == EventLocVisitedData.USerQR){ + TeamToEdit = t; + } + }); + } + }); + + TeamToEdit.Pontos += EventLocVisitedData.pontos; + + EventLocVisited toAdd = new EventLocVisited{Team = TeamToEdit,Location = Loc, timestamp = DateTime.Now}; + + await context.EventLocsVisited.AddAsync(toAdd); + + context.Teams.Update(TeamToEdit); + + var result = context.SaveChanges(); + + if (result >= 1) + { + return StatusCode(201); + } + return BadRequest(); + } + } } diff --git a/api/Controllers/EventsController.cs b/api/Controllers/EventsController.cs index 7383d0db..36a8458f 100644 --- a/api/Controllers/EventsController.cs +++ b/api/Controllers/EventsController.cs @@ -46,5 +46,22 @@ namespace api.Controllers var Event = await _repo.GetEvent(id); return Ok(Event); } + + // POST api/events/add + // add new event + [HttpPost("add")] + public async Task AddEvent(EventForAdd EventData) + { + Event EAdd = new Event{Nome = EventData.Nome,Desc = EventData.Desc}; + await context.Events.AddAsync(EAdd); + + var result = context.SaveChanges(); + + if (result == 1) + { + return StatusCode(201); + } + return BadRequest(); + } } } diff --git a/api/Controllers/TeamsController.cs b/api/Controllers/TeamsController.cs index 2f85886d..4aa50c2c 100644 --- a/api/Controllers/TeamsController.cs +++ b/api/Controllers/TeamsController.cs @@ -106,5 +106,67 @@ namespace api.Controllers return StatusCode(201); } + + // POST api/teams/ChangeName + // create team + [HttpPost("changename")] + public async Task ChangeName(TeamChangeName NameChange) + { + + Team tEdit = await context.Teams.Include(t=>t.Cap).FirstOrDefaultAsync(t=>t.Id == NameChange.TeamID); + + User cap = await context.Users.FirstOrDefaultAsync(u=>u.QRcode == NameChange.UserQR); + + if(cap == tEdit.Cap){ + tEdit.Nome = NameChange.nome; + } + + context.Update(tEdit); + + var result = context.SaveChanges(); + + return StatusCode(201); + + } + + // POST api/teams/delete + // create team + [HttpPost("delete")] + public async Task DeleteTeam(TeamDelete DeleteData) + { + + Team tEdit = await context.Teams.Include(t=>t.Cap).FirstOrDefaultAsync(t=>t.Id == DeleteData.TeamID); + + User cap = await context.Users.FirstOrDefaultAsync(u=>u.QRcode == DeleteData.UserQR); + + if(cap == tEdit.Cap){ + context.Remove(tEdit); + var result = context.SaveChanges(); + return StatusCode(201); + }else{ + return StatusCode(403); + } + } + + // POST api/teams/remove/member + // remove member + [HttpPost("remove/member")] + public async Task RemoveTeamMember(TeamRemoveMEmber MemberToRemove) + { + + User rmMember = await context.Users.FirstOrDefaultAsync(u=>u.QRcode == MemberToRemove.UserToRemoveQR); + + Team tEdit = await context.Teams.Include(t=>t.Membros).FirstOrDefaultAsync(t=>t.Id == MemberToRemove.TeamID); + + tEdit.NMembros--; + tEdit.Membros.Remove(rmMember); + + context.Update(tEdit); + + var result = context.SaveChanges(); + + return StatusCode(201); + + } } } diff --git a/api/Data/EventLocsRepository.cs b/api/Data/EventLocsRepository.cs index 629cc7d3..c4b22884 100644 --- a/api/Data/EventLocsRepository.cs +++ b/api/Data/EventLocsRepository.cs @@ -23,9 +23,16 @@ namespace api.Data return rEventLocs; } - public async Task GetEventLocEvent(int id) + public async Task> GetEventLocEvent(int id) { - var rEventLocs = await _context.EventLocs.FirstOrDefaultAsync(e=>e.EventId == id); + List eLocs = await _context.EventLocs.ToListAsync(); + List rEventLocs = new List(); + + eLocs.ForEach(delegate (EventLoc e){ + if(e.EventId == id){ + rEventLocs.Add(e); + } + }); return rEventLocs; } diff --git a/api/Data/IEventLocsRepository.cs b/api/Data/IEventLocsRepository.cs index b73877d5..d8b60e05 100644 --- a/api/Data/IEventLocsRepository.cs +++ b/api/Data/IEventLocsRepository.cs @@ -9,7 +9,7 @@ namespace api.Data Task> GetEventLocs(); Task GetEventLoc(int id); - Task GetEventLocEvent(int id); + Task> GetEventLocEvent(int id); } diff --git a/api/Dtos/EventForAdd.cs b/api/Dtos/EventForAdd.cs new file mode 100644 index 00000000..8c23d5f9 --- /dev/null +++ b/api/Dtos/EventForAdd.cs @@ -0,0 +1,16 @@ +using System; +using System.Collections.Generic; +using System.ComponentModel.DataAnnotations; +using api.Models; + +namespace api.Dtos +{ + public class EventForAdd + { + [Required] + public string Nome{get;set;} //equipa id + + [Required] + public string Desc{get;set;} //novo membro + } +} \ No newline at end of file diff --git a/api/Dtos/EventLocAdd.cs b/api/Dtos/EventLocAdd.cs new file mode 100644 index 00000000..1a1b1163 --- /dev/null +++ b/api/Dtos/EventLocAdd.cs @@ -0,0 +1,28 @@ +using System; +using System.Collections.Generic; +using System.ComponentModel.DataAnnotations; +using api.Models; + +namespace api.Dtos +{ + public class EventLocAdd + { + [Required] + public int EventId{get;set;} //Event ID + + [Required] + public float Lat{get;set;} //latitude + + [Required] + public float Long{get;set;} //longitude + + [Required] + public String Nome{get;set;} //Nome da localização + + [Required] + public String Desc{get;set;} //Descrição + + + public Photo Img{get;set;} //Foto da localização + } +} \ No newline at end of file diff --git a/api/Dtos/EventLocVisitedAdd.cs b/api/Dtos/EventLocVisitedAdd.cs new file mode 100644 index 00000000..87edbdc9 --- /dev/null +++ b/api/Dtos/EventLocVisitedAdd.cs @@ -0,0 +1,20 @@ +using System; +using System.Collections.Generic; +using System.ComponentModel.DataAnnotations; +using api.Models; + +namespace api.Dtos +{ + public class EventLocVisitedAdd + { + [Required] + public String USerQR{get;set;} //User ID + + [Required] + public int EventLocID{get;set;} //Loc id + + [Required] + public int pontos{get;set;} //Pontos a adicionar + + } +} \ No newline at end of file diff --git a/api/Dtos/TeamChangeName.cs b/api/Dtos/TeamChangeName.cs new file mode 100644 index 00000000..33f5174a --- /dev/null +++ b/api/Dtos/TeamChangeName.cs @@ -0,0 +1,21 @@ +using System; +using System.Collections.Generic; +using System.ComponentModel.DataAnnotations; +using api.Models; + +namespace api.Dtos +{ + public class TeamChangeName + { + [Required] + public int TeamID{get;set;} //teamid + + [Required] + public string nome{get;set;} //novo nome + + + [Required] + public string UserQR{get;set;} //user qr + + } +} \ No newline at end of file diff --git a/api/Dtos/TeamDelete.cs b/api/Dtos/TeamDelete.cs new file mode 100644 index 00000000..578d665d --- /dev/null +++ b/api/Dtos/TeamDelete.cs @@ -0,0 +1,17 @@ +using System; +using System.Collections.Generic; +using System.ComponentModel.DataAnnotations; +using api.Models; + +namespace api.Dtos +{ + public class TeamDelete + { + [Required] + public int TeamID{get;set;} //teamid + + [Required] + public string UserQR{get;set;} //user qr + + } +} \ No newline at end of file diff --git a/api/Dtos/TeamRemoveMember.cs b/api/Dtos/TeamRemoveMember.cs new file mode 100644 index 00000000..dca243db --- /dev/null +++ b/api/Dtos/TeamRemoveMember.cs @@ -0,0 +1,20 @@ +using System; +using System.Collections.Generic; +using System.ComponentModel.DataAnnotations; +using api.Models; + +namespace api.Dtos +{ + public class TeamRemoveMEmber + { + [Required] + public int TeamID{get;set;} //teamid + + [Required] + public string UserQR{get;set;} //user qr + + [Required] + public string UserToRemoveQR{get;set;} //user qr + + } +} \ No newline at end of file diff --git a/api/obj/Debug/netcoreapp2.1/api.assets.cache b/api/obj/Debug/netcoreapp2.1/api.assets.cache index e445080c4a5d97600d8c6fc8c69d2dc856b3c451..49137001effbd5c8397b707dcd3afba682fbd7a9 100755 GIT binary patch delta 3227 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 OzQ2$NU+6HYUGytSyc;M0 From 7ee50f5b8e4cc2ca88a532054e03d7a60f30000b Mon Sep 17 00:00:00 2001 From: ZMiguel Alves Date: Thu, 7 Mar 2019 17:42:18 +0000 Subject: [PATCH 02/11] Rev 1.1 Teams --- api/Controllers/TeamsController.cs | 37 ++++++++++++++++++++++++------ 1 file changed, 30 insertions(+), 7 deletions(-) diff --git a/api/Controllers/TeamsController.cs b/api/Controllers/TeamsController.cs index 4aa50c2c..5734f578 100644 --- a/api/Controllers/TeamsController.cs +++ b/api/Controllers/TeamsController.cs @@ -96,14 +96,33 @@ namespace api.Controllers Team tEdit = await context.Teams.Include(t=>t.Membros).FirstOrDefaultAsync(t=>t.Id == MemberToAdd.id); - tEdit.NMembros++; - tEdit.Membros.Add(newMember); + List allTeams = await context.Teams.Include(t=>t.Membros).Include(t=>t.Cap).ToListAsync(); - context.Update(tEdit); + var valido = true; - var result = context.SaveChanges(); - - return StatusCode(201); + allTeams.ForEach(delegate(Team t){ + if(newMember == t.Cap){ + valido = false; + } + t.Membros.ForEach(delegate(User m){ + if(newMember == m){ + valido = false; + } + }); + }); + + if(valido){ + tEdit.NMembros++; + tEdit.Membros.Add(newMember); + + context.Update(tEdit); + + var result = context.SaveChanges(); + + return StatusCode(201); + } + + return StatusCode(403); } @@ -156,7 +175,11 @@ namespace api.Controllers User rmMember = await context.Users.FirstOrDefaultAsync(u=>u.QRcode == MemberToRemove.UserToRemoveQR); - Team tEdit = await context.Teams.Include(t=>t.Membros).FirstOrDefaultAsync(t=>t.Id == MemberToRemove.TeamID); + Team tEdit = await context.Teams.Include(t=>t.Membros).Include(t=>t.Cap).FirstOrDefaultAsync(t=>t.Id == MemberToRemove.TeamID); + + if(rmMember == tEdit.Cap){ + return StatusCode(403); + } tEdit.NMembros--; tEdit.Membros.Remove(rmMember); From 36118ede1ca6d57d2d4e4f8402fbf8ba9ec3a47d Mon Sep 17 00:00:00 2001 From: ZMiguel Alves Date: Thu, 7 Mar 2019 18:27:14 +0000 Subject: [PATCH 03/11] cenas --- .../20190223232738_TeamsEvents.Designer.cs | 385 --------------- api/Migrations/20190223232738_TeamsEvents.cs | 417 ---------------- .../20190224020609_finos.Designer.cs | 452 ------------------ api/Migrations/20190306210633_team_fix.cs | 22 - ....cs => 20190307182012_teamsV1.Designer.cs} | 14 +- ...609_finos.cs => 20190307182012_teamsV1.cs} | 13 +- api/Migrations/DataContextModelSnapshot.cs | 10 +- api/Models/Team.cs | 1 - api/Models/User.cs | 3 +- api/obj/Debug/netcoreapp2.1/api.assets.cache | Bin 130703 -> 130703 bytes 10 files changed, 20 insertions(+), 1297 deletions(-) delete mode 100644 api/Migrations/20190223232738_TeamsEvents.Designer.cs delete mode 100644 api/Migrations/20190223232738_TeamsEvents.cs delete mode 100644 api/Migrations/20190224020609_finos.Designer.cs delete mode 100644 api/Migrations/20190306210633_team_fix.cs rename api/Migrations/{20190306210633_team_fix.Designer.cs => 20190307182012_teamsV1.Designer.cs} (98%) rename api/Migrations/{20190224020609_finos.cs => 20190307182012_teamsV1.cs} (98%) diff --git a/api/Migrations/20190223232738_TeamsEvents.Designer.cs b/api/Migrations/20190223232738_TeamsEvents.Designer.cs deleted file mode 100644 index ac20d2b6..00000000 --- a/api/Migrations/20190223232738_TeamsEvents.Designer.cs +++ /dev/null @@ -1,385 +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("20190223232738_TeamsEvents")] - partial class TeamsEvents - { - 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.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.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.Property("QRcode"); - - 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("TeamId"); - - b.Property("TwoFactorEnabled"); - - b.Property("UserName") - .HasMaxLength(256); - - 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.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") - .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/20190223232738_TeamsEvents.cs b/api/Migrations/20190223232738_TeamsEvents.cs deleted file mode 100644 index 23f1b84e..00000000 --- a/api/Migrations/20190223232738_TeamsEvents.cs +++ /dev/null @@ -1,417 +0,0 @@ -using System; -using Microsoft.EntityFrameworkCore.Metadata; -using Microsoft.EntityFrameworkCore.Migrations; - -namespace api.Migrations -{ - public partial class TeamsEvents : 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: "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: "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), - QRcode = table.Column(nullable: true), - 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), - 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_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_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: "Values"); - - migrationBuilder.DropTable( - name: "AspNetRoles"); - - migrationBuilder.DropTable( - name: "EventLocs"); - - migrationBuilder.DropTable( - name: "Photos"); - - migrationBuilder.DropTable( - name: "AspNetUsers"); - - migrationBuilder.DropTable( - name: "Teams"); - } - } -} diff --git a/api/Migrations/20190224020609_finos.Designer.cs b/api/Migrations/20190224020609_finos.Designer.cs deleted file mode 100644 index ff88151c..00000000 --- a/api/Migrations/20190224020609_finos.Designer.cs +++ /dev/null @@ -1,452 +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("20190224020609_finos")] - partial class finos - { - 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.Property("QRcode"); - - 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("TeamId"); - - b.Property("TwoFactorEnabled"); - - b.Property("UserName") - .HasMaxLength(256); - - b.Property("drinks"); - - b.Property("food"); - - 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") - .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/20190306210633_team_fix.cs b/api/Migrations/20190306210633_team_fix.cs deleted file mode 100644 index f20f449a..00000000 --- a/api/Migrations/20190306210633_team_fix.cs +++ /dev/null @@ -1,22 +0,0 @@ -using Microsoft.EntityFrameworkCore.Migrations; - -namespace api.Migrations -{ - public partial class team_fix : Migration - { - protected override void Up(MigrationBuilder migrationBuilder) - { - migrationBuilder.DropColumn( - name: "QRcode", - table: "Teams"); - } - - protected override void Down(MigrationBuilder migrationBuilder) - { - migrationBuilder.AddColumn( - name: "QRcode", - table: "Teams", - nullable: true); - } - } -} diff --git a/api/Migrations/20190306210633_team_fix.Designer.cs b/api/Migrations/20190307182012_teamsV1.Designer.cs similarity index 98% rename from api/Migrations/20190306210633_team_fix.Designer.cs rename to api/Migrations/20190307182012_teamsV1.Designer.cs index ad4dd097..9d4890f1 100644 --- a/api/Migrations/20190306210633_team_fix.Designer.cs +++ b/api/Migrations/20190307182012_teamsV1.Designer.cs @@ -9,8 +9,8 @@ using api.Data; namespace api.Migrations { [DbContext(typeof(DataContext))] - [Migration("20190306210633_team_fix")] - partial class team_fix + [Migration("20190307182012_teamsV1")] + partial class teamsV1 { protected override void BuildTargetModel(ModelBuilder modelBuilder) { @@ -295,8 +295,6 @@ namespace api.Migrations b.Property("SecurityStamp"); - b.Property("TeamId"); - b.Property("TwoFactorEnabled"); b.Property("UserName") @@ -306,6 +304,8 @@ namespace api.Migrations b.Property("food"); + b.Property("teamId"); + b.HasKey("Id"); b.HasIndex("NormalizedEmail") @@ -315,7 +315,7 @@ namespace api.Migrations .IsUnique() .HasName("UserNameIndex"); - b.HasIndex("TeamId"); + b.HasIndex("teamId"); b.ToTable("AspNetUsers"); }); @@ -427,9 +427,9 @@ namespace api.Migrations modelBuilder.Entity("api.Models.User", b => { - b.HasOne("api.Models.Team") + b.HasOne("api.Models.Team", "team") .WithMany("Membros") - .HasForeignKey("TeamId"); + .HasForeignKey("teamId"); }); modelBuilder.Entity("api.Models.UserRole", b => diff --git a/api/Migrations/20190224020609_finos.cs b/api/Migrations/20190307182012_teamsV1.cs similarity index 98% rename from api/Migrations/20190224020609_finos.cs rename to api/Migrations/20190307182012_teamsV1.cs index 493d3c7f..2ef87021 100644 --- a/api/Migrations/20190224020609_finos.cs +++ b/api/Migrations/20190307182012_teamsV1.cs @@ -4,7 +4,7 @@ using Microsoft.EntityFrameworkCore.Migrations; namespace api.Migrations { - public partial class finos : Migration + public partial class teamsV1 : Migration { protected override void Up(MigrationBuilder migrationBuilder) { @@ -220,7 +220,6 @@ namespace api.Migrations { Id = table.Column(nullable: false) .Annotation("MySql:ValueGenerationStrategy", MySqlValueGenerationStrategy.IdentityColumn), - QRcode = table.Column(nullable: true), EventId = table.Column(nullable: false), Nome = table.Column(nullable: true), CapId = table.Column(nullable: true), @@ -255,14 +254,14 @@ namespace api.Migrations QRcode = table.Column(nullable: true), drinks = table.Column(nullable: false), food = table.Column(nullable: false), - TeamId = table.Column(nullable: true) + 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, + name: "FK_AspNetUsers_Teams_teamId", + column: x => x.teamId, principalTable: "Teams", principalColumn: "Id", onDelete: ReferentialAction.Restrict); @@ -333,9 +332,9 @@ namespace api.Migrations unique: true); migrationBuilder.CreateIndex( - name: "IX_AspNetUsers_TeamId", + name: "IX_AspNetUsers_teamId", table: "AspNetUsers", - column: "TeamId"); + column: "teamId"); migrationBuilder.CreateIndex( name: "IX_EventLocs_ImgId", diff --git a/api/Migrations/DataContextModelSnapshot.cs b/api/Migrations/DataContextModelSnapshot.cs index b9c18848..175112d0 100644 --- a/api/Migrations/DataContextModelSnapshot.cs +++ b/api/Migrations/DataContextModelSnapshot.cs @@ -293,8 +293,6 @@ namespace api.Migrations b.Property("SecurityStamp"); - b.Property("TeamId"); - b.Property("TwoFactorEnabled"); b.Property("UserName") @@ -304,6 +302,8 @@ namespace api.Migrations b.Property("food"); + b.Property("teamId"); + b.HasKey("Id"); b.HasIndex("NormalizedEmail") @@ -313,7 +313,7 @@ namespace api.Migrations .IsUnique() .HasName("UserNameIndex"); - b.HasIndex("TeamId"); + b.HasIndex("teamId"); b.ToTable("AspNetUsers"); }); @@ -425,9 +425,9 @@ namespace api.Migrations modelBuilder.Entity("api.Models.User", b => { - b.HasOne("api.Models.Team") + b.HasOne("api.Models.Team", "team") .WithMany("Membros") - .HasForeignKey("TeamId"); + .HasForeignKey("teamId"); }); modelBuilder.Entity("api.Models.UserRole", b => diff --git a/api/Models/Team.cs b/api/Models/Team.cs index 44f28f7d..f37efe2a 100755 --- a/api/Models/Team.cs +++ b/api/Models/Team.cs @@ -10,7 +10,6 @@ namespace api.Models public int EventId{get;set;} //equipa para o evento ID public string Nome{get;set;} //Nome da equipa public User Cap{get;set;} //Capitao da equipa - public List Membros {get;set;} //Membros da equipa public int NMembros {get;set;} //Numero de Membros na equipa public int Pontos {get;set;} //Postos da equipa } diff --git a/api/Models/User.cs b/api/Models/User.cs index 6a90fdff..318e6345 100755 --- a/api/Models/User.cs +++ b/api/Models/User.cs @@ -15,7 +15,8 @@ namespace api.Models public ICollection Photos {get;set;} public int drinks{get;set;} public int food{get;set;} - + + public Team team{get;set;} } } \ No newline at end of file diff --git a/api/obj/Debug/netcoreapp2.1/api.assets.cache b/api/obj/Debug/netcoreapp2.1/api.assets.cache index 49137001effbd5c8397b707dcd3afba682fbd7a9..59e77d25bf802ff8bfcc6a5cb9a155d8309534a8 100755 GIT binary patch delta 63 zcmV-F0Kor`{RfZz2Q5%bM?nGr000~;PWI~S0f}RK*r#b2Tx|*xG&gSbJ5NEK3+%rF Vk^=|M0RRM(k3KtrXtihoC;sX87fS#D delta 63 zcmV-F0Kor`{RfZz2Q5%bM?nGr004EO3y`Zq5y}_NkoM1$<|x@vN!etcoE2jI|C7b% VX7UHl0RRM(k3KtrXtihoC;n;>9AW?f From 0003668cae98545d2e35d403ac3e33c62f3d67b0 Mon Sep 17 00:00:00 2001 From: ZMiguel Alves Date: Sat, 9 Mar 2019 17:56:12 +0000 Subject: [PATCH 04/11] Rev 1.2 TeamsEvents --- api/Controllers/EventLocsVisitedController.cs | 17 +- api/Controllers/TeamsController.cs | 85 ++- api/Data/ITeamsRepository.cs | 2 +- api/Data/TeamsReposiroty.cs | 16 +- .../20190307182012_teamsV1.Designer.cs | 450 ---------------- api/Migrations/20190307182012_teamsV1.cs | 496 ------------------ api/Migrations/DataContextModelSnapshot.cs | 448 ---------------- 7 files changed, 51 insertions(+), 1463 deletions(-) delete mode 100644 api/Migrations/20190307182012_teamsV1.Designer.cs delete mode 100644 api/Migrations/20190307182012_teamsV1.cs delete mode 100644 api/Migrations/DataContextModelSnapshot.cs 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 - } - } -} From 45c1b37e5716e3f62d9ef6e8f50176934126af78 Mon Sep 17 00:00:00 2001 From: ZMiguel Alves Date: Sat, 9 Mar 2019 18:02:34 +0000 Subject: [PATCH 05/11] coisas --- api/app.js | 7 ------- api/obj/Debug/netcoreapp2.1/api.assets.cache | Bin 0 -> 133027 bytes 2 files changed, 7 deletions(-) delete mode 100644 api/app.js create mode 100755 api/obj/Debug/netcoreapp2.1/api.assets.cache diff --git a/api/app.js b/api/app.js deleted file mode 100644 index 3991c3be..00000000 --- a/api/app.js +++ /dev/null @@ -1,7 +0,0 @@ -var http = require('http'); - -//create a server object: -http.createServer(function (req, res) { - res.write('Hello World!'); //write a response to the client - res.end(); //end the response -}).listen(49152); //the server object listens on port 8080 diff --git a/api/obj/Debug/netcoreapp2.1/api.assets.cache b/api/obj/Debug/netcoreapp2.1/api.assets.cache new file mode 100755 index 0000000000000000000000000000000000000000..b5b8a63c31742137695f16d273d1e5110dcdbf97 GIT binary patch literal 133027 zcmdU&37jOyRpxC8`M_XfTejs(mhV&9(=#J!Y|d8CjMUZ~t?tpt7_eMjmEB#Ms>)Jk zRrmDZ1KSvUAnyCJ0oxd3bKm!U-}kv(3oNk90?Q4%?DrxgGQZ4<=&FdSNrU|x)l7Fr z)IVQDym;~A#f$a3?pS%~Lmu*w*MH8Be9SN1b?oIUfB&aX`M}cdKfLJQhc`UwmAAyF zUv=%DUwFoM9)Id@KJ+0Ug6H1!(4~8_IL(%J<3ZYeU>q++gYiy0S{k<6ms&e*e|M4*9$ac?OJ|G1E7|Z|JX)2) zXHj^?6plK*-ZcP`{|UJK{aXC_tcNa*vvjGKv|GKUY`2xhOS;;ub7|?^_>OpVy4CA# z0rPay>%=L6wv$e*XtHibn9DO@uA-=7lcH8gk(xkWhd*EVp8#@o6T%rzXMND4rQ^Y< zJ381-Tm5)HNiV4;R|3_|eROJbpHelPHZ`brw~F&&TAUBZ=R42=?w-~kTjNpEZw-fN z@!O&!(ehHSyS1eIC4MYuD|qCrdW3t|BlI^t5})syDva`LqWJPC9%S8QkVWNS=)}W# z(1{1_gYMw|xIMzJmu_L6Y}6WbT4|>SbgHbZ92_T$%GOL}O#Y#o{89Ma_8t~-mSG^v zcwSnLZi|jZ$BoDs@ofIsIv(S%{xJR3ACAwr%+cG?8oh42C1UDAmOHy6Q5(n6Si1QP z%W`y#wMJQNO&4RjM{Byr;PWdNOGnyH>9?Yvm7upy0VS13O70^x^JDS(js-K9owA+u zdgzr&s-!#(el03{;HoLff_|Kaemp++rj5{YkmNH)v>$J^hTW*$>q4<$l%V13%`T&4 z^B^0={Rq=UbmwR^j7}$Mzcm_l2Rn>%y+(NgKDT{QM3d?1s@CrWpd66)rhB6PYMGy2 z7xLAZj7HtVvLs96Nrd$EQFdo5r8EN%Wg*Btq*}Rx5s4$Z~naH4ALd+yg zB3yZED;uRPHCGs;Y1Up?!(5@7nE5Hh{P_!EZYRm5F3iB(#tXz<%`0KjrxNLBE{N27 zY}cf!tQ1n!Pa{T{dJE_Q+pTuI1!2r5&eOUUmgm!n^>Y`(x|1Y3Jzs5Eljt3)4(7a( zIKOxyocHgKwqmRgWU7;ONMIj*`Tpp3RSnZVgJ|Eg5ZXcox7zJwjOlPL=wilN$!lZw zn~43h7s8&1KAR8tymSzzd?r!8b1{@K%)6a-G8n)Bnv)h)t#wxOs+js&M7`fMUy%q+H_ZO2$|D_ed(@!p%AE^1=t=MeK7!}~;%cCUm|7G;_1xx_Wc zh$`zICRh}CTY?xtWfkkH3Z{G>QNBA+dRNBE#)D^QuiK8Z`RqZd3`XImsmyH*KA+G- zJ8KQSI~c_~VV$+cy;j!5;(h@!2To{OS1Av}95$lXQ>q%5f%rnA{gklIkz0g8T{pJ_ zC%f#6h-w&QXJJv|Yoo&2%eWz5Ob~$kM z32}Z|U=#9pT#65%&bxaSRaq?c9BbnW>s|4|$)X+xzL|gnmw27ls5MNJk#@BC*-R%< zc)cjhWD$`C>YFNAG{^9*VY)`}5-|rFOm${abm#?pt#QxSV5&n)RpAYqr@BLp6Ya4I|FgmVC%+n zjFlx>gvSUeaB?K3xkeWOx`x(qq77W_F|B16We%y@c2ubGZz1+Tn^~NG+ua^!9Ju~G zNyVl+ZOU>FxRtoPJ;yTt7~3-dsOCAojZgy3cM*})I)|Fq)^FtMgeQnHP*WO8G2i2K z5wK#rqb3*gONseyVVZJx)bGtjD&<{#FC)G%`*If>623i9_AqFKek4Hz3kg-u)At0) zC8UoczE2NrMAT2K8EiNnDLrz9HR;$mP@6uyh#}#9w1)c_dxvFa6hW=P${j@m*8Eh>mM!SvhahgrGutKK^k>hsU8j1ZCGA2&zvMjTe#c(Ci zQfapn#C6`3Wv<(aE6k>nZkGkEmZcf9$;I+2AzcnyEJHvlJj1i`)^stJ&q;y_T#Xo- zXnuRCAe>?>og(VM6=^{|?uLr-p0(&=H{P!}Ax;xnSbtj#7^z-Hx)Rji?$46Jur+G? z?j5`w<<_Mf_qaPqLV+GE6;u}H8$KiPXu2p<-APn|wk1UTSxUc8U}HWd(tFgZ`gvqc3e9!%owsI$GC2nRu(4WWs?M2JTugu4gZY!j&}e|rCXmTn80WU5skQ$T7y9{Qoh;{FmZjYlr^xx))&Kw@Ft1cLR@ep zdOx5gb=;TKATt0n-c5|53Jh{2#>;(Q2fYjcLVN|*oz(3%h;R<=!IMFN2rCl-(QOi4 z*jz5%Fl}8?frUQN79zC`DaXRPKsbT3X2C;Yx&Z>q(d=ucdx$d7S}Z7sDyH7gw_1p9 zT?(`OE-r>_)Y{pNdx)qG(I^*MJ9p-Vne1L7n`0R4!9EULYKqjvytb`2UqN(%Hsk;Y z1w*A=+U=GkgMJ1dchy5%pSw zow5HGQ4VxQ7iIx{B9R4pP;#;q(O=!Zuc?!RZRBN{>ywBp&@hBQXNXe{al6&t^d>ZCu!-{laAr?Mzu%Nkg+uO`N@?Ugj% zPrD=UZkU&1l-B$xL5p6?I(Lgu0__UD0H3R$=>@o}f3=A+P{-*V9_3>^@SVN&rjEE7 zarA+NLA+DkjePBzOs-1ZnKM6wrWo<%L;-+eG$Ym=i%u zP?K4f#nbjvYIOAl@(v;5v}K5&qlT!uVO76*GAfrh%W;<=zhxniIDs+1G?(H$Yq*D| zCfW-{ovyLorT2K(g5LuH@8i9y*r#q|IbYz6RK_iEKaqd!g2}U_eJNHa0ck1e*=0)E zZ|1cz{3U`9n;x^ES$i`t#VEb`QMx+_1x!6REH_oD4Myo}6xmD-JOGX(oWf$=L!H`y znrL$8bU#`CIUPQmGT_dTwqD+V?FxcNvNep9xvzgjA7RD#BjCmz>_t=m~1J@>o zG>toO?S}zwNLlW14-i+_u2wc|$z&tJ=)Rh6*b-%@!q{oCooXc62oG)4k}2Hzv`Kh& z_ftlsfx;7iaT}ps{=!ow5!hArJB>UG}d_KVaREs1oEC_wjEbhLiTZ5c1|LS|k?1xrG>8tEEVKhncmT_x9<06cOhVDH*BYsR3COj3i0Lx-RZo^Szm9J+{N`VNfEULr*qO z33>W74I_DWd|Wyfn)<>y2+bw5PbW?vH@1xvJ2Y5o%%U1>!aJ!-^Voa~HKgzz3GvJ4&@m2RF-UaG&4lq$)qxINu|^PzPg?OaG_hn9^6_?;@x_te@$nzoWi~6b z?c*BQ4^qSX_-ZYb#mJf7FDLmXhs|dana`@(LYA+ZXV~7SrJfPo#H#tTG?&bFUh1ZN zY16J4Db(?%%_L=c!-iop+3!A^_(J8D47R&FG?THaQvtygvvr>1f zY9E9{y2i%m60y&jA2+cq0BOZY?p3?N#r?7J?rJG%TS)=Fl%9>QG%< z`Ks<6CeCG^Xs%(V>6wAb>H)s5TVae-?C}3I%EkzeIX=G zT7RxKhwfUBQ)zjY=a&-gLiEBI^D81}(uwUXPkk#byP4O+ykADV3+bOT#=Sb5zZUlT z<;3@3SpO`OSC$!7E0aO7uf*9X2(ZjyY0aYg6&g`i!0%lc;yfm^4cKKOd?nG(lXjSf zTPg59A`%_356cm!Ikigrtd!=?`VQ(0Uoy`Us?_7)_}BsrV{S%^pY*u-ZPywt5N0|d+*Q{FyXt2(8IA$jjodzc($_1u0W>U zdk7_Pp<)s$%rUSHm}^LXEm3*|f3v_4$LA|86ya8TFF^#Z=!@g0qLMvv*31FpdIZMT z5to-!xST)=E=d_Q+depT_JT~(1XcIK-$!gdThG*TzK4AX%yrP`>xnARzGbR;rnCy8 ztNXv7c*FEXFWK42wV03p;7neM2f+t4ir9&P`a-kRr4|C_64*BoW#DqFpcH2j_Q%CT zIBS4Sr3)&-=RpUY=aF>qH&XL@?LL(Q*w9uMiJl6^w03o=O`P9EoPmmlIJ3li?Mj4F zn)~H96I-BiHf$Zly7MFz zI7Z3f9?!*yh}CvH$@p!==n+&!^GLEKH<1jJ#Mk0HuL`cCAPeo=2`Ee_CqudLLn8Kk zRNwi$6r+5HMiHI-p0KsMW~n-vO5u5G62n;0B%~Bcr+g=g5f0JdpoNmv9=MQSZ&ZsB zs0J<&;I!a{@6y!Q;WMl^4%2QQ(R6#t*z#%r^`anmf$!Ep(gi%iAW3QnQp0^ca8}HA z&Xt6PD790%BqM!~Mv@J>@0g=yjcuyjF#4JlcoA?>#2zAPQ+1Ea!P2p4`M52ji0{iW zc53dDSydOV;2tYg(@9fP5xBzd^1b?9z7L-t_%HM>G|>1J=80{rHiw=w)wMMf8>iK< z%c}IvlthHzuZ8>r_=IU0tO}}xMNqjvV;M?Lls`z6*n?U$Wt3DB^viWXUUDs&&%4s| z{}8>w`>w(pR8rv2@dB;{_&-ei@b)jL1xCpw++*h7NiL{ztSo+n_~6r9C|{Jdkdnh& zs2Xw;g_-n6i4;*M3nG=x6K}%Wj>(S^na4qU+;kVoIlE{#Zp}KA6*p?#nU`S!{kX=E zIc$!wS73?5N5ZVNC6&h8m23Gp@O3f}_$LTsKfIazFfMkpajSQG3r<=V3A4PWDVBS? zgJVY{yXnI~+0_Nocd%g@56gB0T&nR#Hpm1G4a1WFzLYc9d?;4I**%BypX=M;NM&ulaalG^uhd?<{nwfjiI&~K` zD}sJQy}6pzkqMen*6JvdL~B+v5i&?KqNpFwVuEIjj*~?cO%{oHD0i7UZL=$l^bbaw z*qLAnHKgS#JcYO>o&Ah9&$`q@wJ@3l!(4=64V!jtu${Q{?^Ry?X#LAzaPDAt#o4Kv zv1A!&bA%hw)sBrzNb|TF1Do#x7H0QK)~-~Mo$2D@Y*^ba!sdtK1#Bfb8?hnNpIgzf z<;J71`Mxeth*)s7+9x-oK+_g7K<>=od1%J!IH`FYrqAVOgmN%w;iBHil4g;+OhX-6 z;_J$!^Q*01Jm|FCPLX+%4|wRKDiv*(Ia;n6`?*TxKxxKWT00LTsYv@6-Hxn1y~>#m z?n(_U4r@$e2IxuHA*yC3+#1#^yF(#!DaK}2g*7IJd>T>#fT6ZJiQ78k!|b+(R6vz# zx~HMBaYwScSMCpSn?}uOrK+GDU8$M*9w=*A*0)A+$8zN*tE4$net1kH;K@&9pT*Wu z+>w@Z8jcS%GWmmOy*qSMG&i{J8Q_R0a#we932h=nX{(YfhMVhBQ^Ij{--AZJALnHs zh;a9aPNwYaD$R^*MYG;YTfJWO1Qa(+Gt-qqxqBR^2Z!whHRGvLERJrHG}28blRR*X zG^0n(VW(d5*}BY_W(JI*nC2sBP9|qt-AafCw@fp0pvdH0s~;n`deTGEKeuPM8S_{1 z#H0Nry(Cth+@Es@Q*$k~eu#IX8LcLgnQm8(8__AkvJpQpMzU|`w9_03&WMlU0j#7> zFmP5yML%XnqbqZ%tqO~(B8tqWC zs-a!jI@+1;&hBVGmjAj`ax;4#budQ{Z$>LKOnFSufz-^-9U+~KN612g+`SH<#$`0! zL~dw*frKOhUekAlnh9qnEJu?yGnvVPQx3OgSV&0pzN-T@)>9=y}Y&ZTdY$d3=Ky6~FuWf;2YL#?4{MBhw!XKR3a!ky;Y=QZ1Q za(`Hw42!1IQk%isf}63Lh}t#HSO>+ikWR9nnO{4!S3^rlLs5rxP&Kn!GEird!!&9` znoD>7b5oWH4QnoRdv)$1w}0vGYDdF0bojuuTotdLSCUsXA5^*h=P|N$FRRL}cD#_q z){s4F#d379W`fB~4|6~?Gb0wB+SOjG+jq{04fXAkCOsIAlAW}LEOpUJZzq8_dDo5C zkV$ICTg{xiXbqi5vU91V5Ql7%d{EnTy1r`2wz13Z6}KFD=_*eDbhqU~Cby;7j2T@p zLTZC{ci3`nQ8uGY3m)~C7@;4BbhBoBp9PXbn>J%&X%jwoe!@%cT75NRd}^90rxqG= z#>%OHs8C7M7lh61g;l8>eW#%XjAGe{cgDR|IztdqGZAnXb`jRqk>PzFry+YP49?Z7 zo9amg(uG!bDU0Oj*>*44cVRWOU??S(V@>bkA0&BA3khq+@T`l=G4`6#+XSOJm#Zr^ zJ?3(*dg?n~JvH7~UF>+e#B-HXwCKYCWn($|OfyCq4oD3$NrQ%y$dO7T>k>;dQ419w zhh&=B(74#@jpGaBq5F_TGrd*}Fo|)@ufKJMax@dGaELY7jJrWQYh9hR88cn{K!*k3 zHlyx^BH!aWd=ICYqp3nu^_DqCZ!;#b;Jo5w(uSAV9WvLf__lElB;E=7}Or*OF|o<+V5%bSMFrjVi%NKc|s?9-ptAdLiBcZa{4(gMkVnT{;pS ze`%RYSrS*m>w;Tbm(CvGrcM>l>lJqzQf*pWb##jUd{}lEIQtEKd%vV@q|4+wn9D<5x7wYw$TW7xysf$Gs$i zse|JR+bPc7$UzsCEwnGqf_`er04zUR&r6Q%DuXme9(K!L`fK#1-cw(S`@2=-EC%ZXb^y6KY{NWOH|l?#zTDq`3c(|P%&^@< zzKv*WJV3C{eLHC!ORvEHi*BI@$I|BAXYl;`>X{9BzBNKTO*hW+A}o^M&{V&PPj6q& zf}r+}x`@1&U=<>fMNK?r>_TK!5vl%7hRSb|T)xbECaPcz_5E;Bd|&?aV-ZcwXu4_( zIuR}P5b$pkuzwC}d};eqe7U{b8tlZ-_?>PRLFXrf9b{G!As&s6Pimf9mNuo_DN`=L z5*wReC?^N@xLJQk^ZhP9y_ffyy7^496=PBuVc!IE(Xq+7NG?CrF0mDBM%>@i5WkO4 z@AZ*}XeT&5oIAN(6vqrjd48u7NATYW<1PN3D;EZF$R!y%&8-&_W=>0X+&>^Xe*SG&yhT3}3!--Cg-ji~)mUEEG`WAM+5QNh3z6IaT{X{q>m@mR!rVV5$pwtT$#%`k z6u4e^j?}q-LVVt9pQ2$^n#mb(Cel&{IW%UWs~Bq{HRJyvB>x)(Y)mCzet%THxTvWHxemuPWmy1cms&f6BpY?xn-f<@ z{e>o#b%uWsl!X-2uB140HS2L3pe4ZIFG+&Inu|M}nzE(y#4a?e?9_~noso8BcK$1( zTSS)|NkTyvmvtmeq#*pCgtU-`6j@>0-bDptCRe~^@5&+(R4tO{e-W3rKhg9rov_Y0 zPNt4ccY?dWCLHf&rpDRfjCC&g6urrrv+aKqihq_(%~HK9C%*$Fx_^J{ zeZR=d_bbQr{zenZg+7C6t4;$XXA$ztouZZ`42KiRu>dwCRAM5<_}^-Tzr*LNeLY+T zDRDJY(TR~2i53U{M}Mijo-*|wyfQX_U2 z7D_QjDE~kx;XRgFqG53xnkSY${_`J+(EGG<*>Xc<$b#Pjce`1gcr?%IbXw|R?n3{h zL1bR-1om6yIdSN^V&zu%oBT6Lz?!CBKQpnolLGx;q6%#zf$|v5A{_e|{(l4$I)()%(>Y{jl8r6=_df_E)cv7A z5;%)SPW!IXUo2@c9`ewKJmean$ZQ0ydk;1+vZdX4kajU5mZHIUCmt;g;aEa0y=;j( zDRxY<{Hta2B>yYS^HBm{2!!I;ozP=Q+6P-EhNt)|Y;{!uE4znkLQ!_1g33MBecWFu zY*ueoAt*hClZwqf~M>b zA)MfqXpJZ8_LLJy9k_GB70S2{=gL-b9g+HPX6kNVC+(H_C%i!&xhozSQR zZlX{2yAd)&z~zp+C?&Ad)uuKr;?61YsKqd5Iz5Bf4U(uK&%c_w7)gevBzF5%NlPY$ z4c>@dS&G%$q+ErO7gcX8Y5D7TRcbPKZQq0MT?L_ z-o$83BvZIYmFJ=QXw54g)nG$V%L}&p?EOu@qWyHiV@Qg@vzPt`Y>r8e1Xu4WW^*Gn zOHPH4ARPbGhGuMP9whLSED5Gft6bU{t~NSzBimpdk`Capg!fJJ_PH8fq}#Szrp&Ao zo9;IQvVIjuK8VNBTZFC{H7tzLJfGRjsJ2`Jk0&7id!%cvj^?K904hF3mXAjdSw5PU z->ej^2drGLDW8DPFQ2#ZtCZ8Hw~4`1Wwp)+N+>N?d1NZopiN&NzqfOjlX!Y zi1DDE$Wcg_NQ+Tz2Q3c2lG*b#66k`vfQJ^c^V+r0(~0=Ki==G(CKJ=mff>R zcA@Jl$zcj>2%Cc^CIfWIklf6lI>b5l29~6%Fd_+ok#1RL+us34OL;8 zVF6X><|>wb8TDKu4DRO@!c1Jax+m45K1e-O*fR0oauYs}dQk9cN>L%kU6Kqqw}>WJ zQ;O{H+yu`jp$!84Fe7uc-=z}DW;9Q-gkC@h-j^e2#aSRk5*|8;RbYoG0NrepW=VM- zc~zHSrWaDHh1#4Y(?~KNcnBv?ML-6}i%3M_gRc<2;)#a(k{K6R;pr|#m4n$*5xkfP zL)Wt;Foo&@vvj8%kz4R31Qa|U*NKJ*8SQ(>8RP9r6#PW0*DAF zwB=w$As}0lCGM*$WL-Q(%gF-Nb(VLDfI=rd0lM7L$6;rpu^yg1LMWk4rBM1kKN$Nl z(PhH%pW(D+qz;)Oa6U<~b-8o`Co?Qj^T(>^rNpAj513glcsr`8j^UI4_f-7DTc6{K z)HG42np6~R-08dRrcO+hDvb72r;mPU{N_-gAEJTYfKS=Z6+`McIB&t9Tk+>M{JE-( zaK)A<&-@rqXvUXbZN}|1nDJ$r@guJ`BQ|71<@iyW@uROc{%V6xs(BAkR`gdJ zbW+!QfU>r~+MtsP-vg9YzW?S`P32EfPY$K;LCb2t8QKZO??KC|KlC)*RQD&$_|1Ix z-*`Z++Ma!(brb%ou|ds;u(5)_YHZN#A#AMEuNoVac?cV;@vFuL{T;%_n)|A;L1l-q zv9i8uY|zpnY^~IZtu&G!Ub_tW)s6~P0LBBQZUFOVT!HkVodjFP4^glex>)$ zf7zH8Ivh0|;;4o6DuBvPW^I#9a$Ot_x{?iX=3x~zF!M)f=Evgm9Sdge6#Ymir$|yI zZpa(Ot`Ro2j|XIubLfW zr7X$4=}Cn2^;4Caov9pSW@tvca=3r6gF%^&#=|PAya)!2O8;dOm~G77nb)_O*T*k# z1HAy8T0ue`k8pSi$q4e}BQjb&ig)J&J}-)l zDW6G{?_3Ne4D)UWA=;9Za!y)Qwbnt{wp7K`&m!u@=-JVJS8@c-$9o~Kgh`)Gq>Guw z_OtC6!4M0WZ12rZ7d0{SbBGy-4nun`ZfLs_N?DX;uICch93!f%dzfH#<829I1eH~+ zt16iCc|`f{KQ0irh1dgaW-;=R)D1I^oGA3`pkmV@#amvM z2mYzmDDM)| zM-d-x2@jd>L`q0fsoW*948exukA~#X6AcL(1#b~z?K2EcV+dXuekVf8)TO+Z*LdL{t zU6y6GvKX!eS}H{b+Ym0fO<0v>uG@(#%%+lVmj$hsr5Ury#qug4T@LD9CdIF3Z2_`VwK|~|&BxC?cM#@(k0w(^tm9hpF z*!p4^5#H2S*PUhg-F<$31nFHm?hDBhqk4+8yNNMWf#Dm75hs`fIvXL%X>aOw8$>vV z_Tb4NfUhzU5Zxxxh0W#C4b#>Y6~+D7YHYC)+~4^OgBJaIhuXVbPrJm zT8jncP^HxN9}|jiT?(`OE-r>_)Y{pNdx)qG(I^*MJ9p-Vne1L7n`0R4!9EULYD$L_ z^V+uBda}6*t@Cp8f3{iWZyUG&nz=sKUHd3DO{V!kkADZn#$xL>grLglLBe z&F~3?5jf@)N7TcGiepIz;Wy@TpfkEK3+NMxEYO3Jlj#hnL0~5HCH0<9BCbHg5dNGY zymoQB)!y}Ad~E2_t9fab*{g^x&`VHbo5#GagSt%Z`-nQwXe+4c;vUbAXrx-!z>tD^)tNyclEC}Q3mQby~Cq?j0e86 zx8BqdHzSUgaZ`4PEHD&ClXbgUcm$RPTwB|8#9qb3IiCbCA(SA+MInBJQv=?W7iI}= z6WN1dP6RDMO=ejZPuowa(bX5oJB0XI3qe%fuqr}NM&=F-tT zL%Swg+)}9PbdB{cy~n#2{2n-%Hr}g>ed>7<=L?*X%D4sYC-SddFuA@=sLJlyWlGtb zn}x_IxDFnoZx!gjTANM7bcxjLn)Ev8Ft*b-%@E?ps{R3phocxa=R zOySNaqy;JP?Cz(GNCSl@{^GW}uhUm}s-)cAS+NgCg!Gyq{edIFR^>mnIgx?bqUXm1 z6sR~rge|vTcjSNC5lr`(qO524h|2p?XWHD7NY{u0baDUfaHPU5# z`X}3UG06#U@S$@ZiEi^kgXn&A%e>fHHPh=+WLKXEQL1K2SVb}0hU#lI*6Z*&PXdQ3 zR<_$pB_7TXYjsnKabv%p=sfJR3XJlm&7#*TBFY_n)PA3$QDj2!zH+i07_vnd9h%wo zY!Uk=n{kn(btQ~9XpA@F(>p3ZW{Y)2TslOCHZ;O`k`8< z@=aT~+)8Q2aQWV@s^Grx`6OANGn`Jz%ApathPFGHDWt$DS8;x#o-?S2dB1?9`u;`q z-FUFqO%oU!gVA0K7ng3y1-hOJs?toS$_g)<3i%Dbklw&&uiq(g@mrO@oQqu?S=1sl zhkg-Jhw9pjn7V_R&IJ$+PCk{oFj^aQS*l-5d_IAXrQopk;`${fe=b?pLo>gG2z`$F zItih^5RxXXKNlx-7w!&}mS=f>DbX%OFN`t2B622;RbtCD@RdZ51CZk^T~aZ^OX7-)mpaO$v6OW#Eu9d4a&iW4O3}3P!*5dentJ4}zB+8oFHHzXZd2z;lC*cO#i=w5l zx3`DGSBP4#*^55PK=c&$_jE~k8HbZwOwR?RTU;Gy$WwN+f$GQ7wRcp36p-!qDhClI3Iq?mPT|^pa4M_WE>SltSUa|$- zd#1ByH2$UO^Ni$o=n9zd-9+f&*r!IL!%FvRisN()7})!s`Gfh+pr_^GI5PnxnARzGbR;rnCy8tNXv7c*FEXFWK42wHTR< z_T8n5{8T9(1Ru~SVkZXb3(ZoOS_qg+VBbKLfy=FeQk+GU?a_18p2-CtDNhmSc_bbD zjnuqeyHDi+Hnf#xY#?fNsZE^UM4W+&hB&jtd+ln32|_8&{qmcMEl@cdwhm%leCK;Z zc2deR*S8Rt*RIoK+s1pC0P-7716%f#)UcV1({@F6-?}(P$>6SUVGU$N#A-X9Wc)T_ z^a!e=c_i7An@H3>&VC-g^QvI|F6VD2pfH`B3?=WX_#1sx-}$^0_p$HLD58_!6Sj8O zELAsHDLl`%G>jEZLh}mglRRb3Ya9Z%fcWLVD@EO({ zhiSKuXu3URZ27eRdQp(Oz;|mP=>i^MkYx)?kQ(mmfwN+^bFL&TM5&$9B^l{^G?Hx4 zea9RvYiv{HhSArgz>Clp;dQzx#$zfGYw1 z4--GU{R`?RqvR5@&-!v>Uf(oym$DweHNzuz-GCW5^ta6;H5$;1wC^sjEELek?js z4_aKt^>bz5>4ucbrzy*k_Mg;jKZQ@M8W+eGwPekUDfQU2cy$Y*TIjM2e_C_?3_g7} z=k~hUxYf%><4!jb>m=GrlYQ*}A-G_s8-gyX@|$^i*eKEMd3gjCR4(!RSL4VyZ;>`$Gyas zn=$H3v$)rG>v_pj%B6ccZS~{*B)z0uyQ-lW=~p$9827K9)*UpGL@?wl-l+`I82K8P zzx3DWOLu)cMT+QKS=>e#tPj`$WI48B9>bV?fWQ3L>C53Z_S9_cJgo(5UG45h@qM|#jzyT$3zFqo5iRwQ4gcE& z>~BGWrhO^C+}=h0n;06u)6F92{A7SbzkLy+UFnGCly<^_3_A%0Io{60SY&qn3Dr|>8B zdil*F8U8+KkJA*3ZWqxpL!_@+755mnyG${r`vao$x6CYb-F|;Ok^n$7pkwOR;$pZp zQ;OOCP_zBfq9iv!---vgd7$kjxpT?jj=UJt{V_={p!4Uwi`z9D#_g`8j78LeqpMjP zcC#$Ue1AfGp*NbFQ&nx{;{nwzMnNC8y@<)|T$mtwX*Cpq~qGxZ2yHu}5TB2Z$Ruwli9(gWcnA(nri^xgl3CKYow zSd$PPv@JBL+G=o#(aNY4u-ac>IsO&N@k*ew?HoY$cai%Mw@h|12TU6VC-w7|W!+yB zj=!HyH*3{Nm%BD1Tm|Z0m+L02I_b3A0GEHV!2U)Pil1(37GeV=S9Rq+TU@DgFlb|S zY4L2yj|>TwSdkKp@V6S_@9-Heq$Dcid?IqlPiwuk^HCY!6WJZ||ELLN_RIo%71q7O z?l6W8ja`Duf^t%afoa`5%aZyh%^_p26Ud>Ac!y95Bcg7?|1$~THFJD1l1B{TK9Mvt zPNi9eK=Nf%fFby5I;g86t|m8lN!(KJ=ma4b;+aybpY9-hBO;htE2?Pa&#& z0Xh*ZdyU4BVT7|kzDtYTSi#W7{e7^oaiYAKfMHFQY3`@dVT`L9#8QAgswU%2u7O2& zCozXkC~3T{?dB-PKH<~}Wutul6rN|C4C;e)+DS`5@$aiA#Qur!ph^;$%Puti6qFg zx(stYLUTP5pNKV?n`?w4Cgl#XOL|z?=EIEWE}$gs5Yy88Q6xM6=y%h`xtWC(Wq*i3 zTO2LXDU8O0thFuXm(AWUObcUmNkq03$4JgIAl;*ivq&GUab*GUO~E47xa!W+q`Ws+ zTZ`R6o^c&BoJ+>VQpKRFt51{i)?oefwX!OHi^q}BL+4@*8x6*NS%^C4;zFYv)N{H3 z13jLA{I_~*y#TFWs`A_kEfcdP3(y2xRfpHT(${OsC*afnu=}Bu9@eIjW0lozbv}{g z8m<9!cdg1*cJ-zzdR?-LTHD%t5-|p^2632doJufstBrWGOwHlXp@u1o ziV}WgOG+n_ z>u_?BX6IZ-NpAC(lR$&jjsvm?9-BIr9jrwKO#E~bYp~j}6X$A&quH3j?Q#;Qf zsrtt{)VnFp-uAo2qI5<)oU}ECSb8@RS-@sjZhRHe!^|>hcZWDv<8Xl-oZY8RrMU!s3jdX%%vz(K8s{`f9QC|?Q1X~;2S$(Ga3rp3&|+u zIsW=*>#vu5WWm04weg~2FL6QxHZ4w`s(Vl>%Gn~J3$kIOA}^(!4Yf~t;U5{+8f zr7Rk@QXIy{`RdulbU_td*9DpI#U!=Rbq)clhVcPY1sLch1Qa~!)QQv)1`ly5s`~MT zn~5w`RG6Ew{VjoZ>XM9fs;Fd2-cSYZh4Eg^)3roE-XTDGdKRF|ourKw=M0<7Li37~ z`e|;pBZLyV22d#do*zuVXTw=09Pa=%mP}vLT&blpk{(R!KuS7&NvNhvu!PPKQmBSh z62g?aI~xkFI<4GvdX^A^op1$%Z?{o2*3NT|xcsMFZ5^oqOl)%|sa(!<0#QrH>#>B@ zvn$#(%7ZWE7%s|jgB{gW$MAU?)7pK$b4q@V0z!c#XT0_WWndbNFW=ls`%44ZMtiY9 z;(~-Mkzh*s-+BGL>-fACf9}Sg)`GwL*5k8&`^HuHc1&F}zWXM=eW7x{Jo}qpz;}P* zV&tA=m#c5wIY6ts8vGu7@v9c|#TXltT@9{f*H>R$>{m}n`;f1`cfntM;?|nT-EaL0 ze6_!IR;Iv#lqchuivd3#bT8L6k@(jRi)uFQ!%@wm3qBryu=nZdgqf8T@3AP*R|52B zyg{|hA{-~~wg%COo6&(xfJl_9jHvEbXtSTK>isI3fa^28Vl#IF6f63QBjlV?&5?13 zmCE@O@LtzINy|D%8sro4=jVdob35)}+KG-HThxnIDxB|4KdJVnuUg2P9$)mEstV_O z)B9>~`fB|9*Mi$rbwMO=iSQs z{@L(0&Mu2pw|vC=Z4qLOaM^qzQK%=F2W53W?};d6N$J4GL|l8(ZT$NeKL{`C(8R&7 zYE*IMWp^wu`xC)0o8r#m=r->rb-Za=n@@|H*DPn8-P${L@$X*=e#bG+c8tby@cYQZ zRB^q|`QG>b+WTHw$onElWZ~~?>YVR=d$srNFX(*(l#`<;oA$j`E4=yMcTjuZ1poGr zTr!rTUf?**M2QiKa4aT|YL7A`(LEla^Ox)Kq6YI?ct+d+#snW~-Usk07GH`#{u_48 z>o#gy-}(>IaTW2vF4MLYtrs}_~U;KQ{@QTEPOWi&@6c3CBoHOXD<+F+O z1?oH>TQqz^PiD5);!p5S>*0vxQJjbHbs&6aun_6Uog7}mWk+%{MnZ_|3vrgHi5_tr z-jmZz7xS7Vf|%v|deE|u@Kf;bcQimx!d@Kw8vy?~i-5<88woqDi#)f|pum^-&^q?+ zw12idB$?sZn5u$h{g+UnEbBJ{H#ka>&r3RRMdL3F_DxqA*4iOLCHtv>MdDvy12b1- zk`lZ)I>dJy*F0fU2B0JcFRQ7ZmN4tJH-nRVgp9u6QxmgtTP0nDD}`XoxC^jGb8+Jo zq@456NBZhRZiHbo-359>POv1I2l`FY!^PLd$sDV_Vws?X zP_lY#6cupa`@b~_O5Y2P?w`&&U6`|@idX|Y8~IQcR1*>$&=HI6O)~EPqb5q}i~*~* z>3q|LI18SL?*~FB9^Lt(na`0;>8(X%^M*dRGux>$qX!;`cj3wD)A8@`Z~on^4YS}^ zdkbDI`0T9d@z%3SMHA6$6swELQ2mK>OQtby(2XJImSi3DR{Z(8(8ef;EAa@e-cEwB z&E4WeQ^9UEB#Swu7#EeOgq5N;){IZluVF$G-iCj_uc_Ct+Y$?T4^c~vH3xO2a%x)0 zYrGw=5o|ZxdsTT1t>{j~Ukrs}K-+thK9gof1D{Eg(I9K?1s|nqXEWMTh2`uZ&(tL| zhWs-?%1TvCgMgfB`F!S(_#`<=yzDXafy+$yp2dz_b4F%1(_spJad3u=iKkhF|L$hq zA*2Onc?D^PcP;i6Tsy0l&_GHuXYc(cM1UHB&uGfn71g=mu}fz)=TSQ5;HDY7d~nlf z9skVthsFe6zU9bE+i^PTZsY2-kxC0Bx&4Z_2%5rPfl61YQl5}+tPKfijc;FUf137A z)}b+FI`erYnbf{w?pG?#UDi%GTAQYr)+Q}H>v2cZ!}z$P^soowMoJgEFF%S6|aiw>tP);iBB zgP>QkAv^%9k|*`-UOQSDw0Z|u;9!3|m(U*f>(p&DH4Dw7OL0Ls!P5PQsa_>T8y7q;g93 za^`ep*wyLN@eZK5zW$Ij5DC77f!Lv9lXM4}zHYOXiYzZ2>01mpN3C=;9zNS%Zamt> z;WRC)BQrb`@g-+3o~6KQl3YRpV-|hcAJGE{03AP#UouOjr*SRQ7Ak(xEDzt2Bs;zM z=2;#^a>3hU9N|rm&+>Hf3>Lx(ycRDken4F*s=ecR`8W40r!>SIS?eGzh$Km$N!Azk zyCa-roT(xCLJPaH5KyeKuc(3Kez)S0Xg$HOJ8+0jviPH);s{@!-l*C?9musp;u6|P z6_33+wXiVop{%x$2U)T_;vdhnwoKkNbLuBMo=7u$AFH?zl&cDAl}?_}@U1+GJI+ty z6eAM2fy+KBWq(<+;N_``?UJcJQ+Zc=->Mf7$%5r#Yup>n_7zgX9OknMtM(P8O1En@ z+JCe+COuGjL3;<|r!BLQy^BjH#C|iz3=YRX&H7flpW6Gs{$&NvE=}{K^naW+=Fa&% z`}dA;BA6eu_fXjnaaDk;N4SFLI=%;w(YV3Xj#HI(EvzL-KexGOF@fujLr zJLh!V8liJ#?nll;W-0Q>X7;WmTvY}P*hQ9#9%kv(E@yd2-v7|wI&1+cD=K7VFi1v9Js$Gl=_Ku|yAiTTMD36a zYNQ8oh}R#EB}wfKR{WZ5S-XBOo>Uo9+|OKS?c5pnU@m8F?2Fxa-wYpn zS33s--b}i76>=U+lc!j_jCx%=p!!vG2Dc83VTjvDZvMhv>eNZQ|`_MlRvFSGWA+LOp!K0wo@qly5I`4v4Q2lQ|8E29$z z+gofC>q6L7j$d|hCq{3>A=UhsdPcJkrOo1*G`8F0<_R(15+p&+wUd2xm}k}98}?}i zNuEUPU4(ZzzOQ_M)Q+PvQL1f;uFIZb6?u_@*-+L8T|6BhF_wcU$R@dPb!N zrK%oRibW=(=v1eVwL0=}(OO;o;=KHqRHphNB0`ZyMvXPn*C&&agkRY1a3xZU;X%T& z{I)XcNVVD?JsHCXG9V+-_R!kkEbc!_4@jTb9@~g}YHDuvNT1jqBx%s(?07QQEnH)H z;k2F^Dlbe!xHK>$^JM-aH0UhPs6odfnfyY$LC)oNW1b1YlANL7HX8rV`B2rnz8&2j6P}=QA$X2C>XOy<(@1?_T_epE1qUy zg*nNCrDQGrf@=f04d9cz;cwF16R|)FvsO4&SrPCT>eQWQbA{xw9>Xxgj z$AlJuL|lDdf*F$xN{=Qd=fkJ^TXClocV>BZefJ=PQ?h683j&eHFiZI7R(0i0-#@u> zpZsM--eey0ld#+DDxg>e%96+4Sj8jaIf;2t{hN60v?K2=z~&aW??PzhiP=QeeEM~xA?t7&~+ zeLTM+h^zzKuOqp5_^IVAS$zgtoeVoM-IUWyU&s4|ve>y(7nG+5!olC4?@2tf*u(?8cccd|$D^vNH|NY=LmKF#vm;=Vn67xpD>6_mH$ z-Ds(RE}eUH@oQXP+l!x||7lhh`B^j7xXT8moa57T)}e&9*;cP!4$ zv5(9k$TLxK9}}7u8{3c3WsKf=GX1+67H?`%i_2nSFii4O6XRsMy82my%R)!l^Qqc$ z)h`oB?p-lz+7zYxkj#K8?^iMHSpFnBg?Y;Kx7v>*zHjGQnxp;;cpy`E5M~i{xBA=J)&O45)C^kf;(VTYUPrKteGFT* zex-|PR9%W3H-#v51$SbRhP9Sa9j1Wl<>h@V%eAkq{W{Xc=sFhDHBE))R+MMfYQp+g z8nvCq}+(3_-%eAh57dK$DF9H4COY> zXMYYsy3f_GYk$B5G#>tS<;&iDXl?Zvu*2aXny1#QqlEpY2NmF;$dl%q7M%P|1Uo?z z)|)=76UZCYSBXF}s;}}x>Zj)WE5BEn)lFAbznM&I{t^16irn5sO-0^ulkD3xe(`9e zQf(J#MS*GtZqv1?n0nHPv;K22^(|k8doxp06&eErUouPQiK30j4&8^ZV(T3Xt7|&(li;Gm2A>*co8zsM-4t#EIODGE#7o!2*|i9*ykEM1e1uT95G55KZ|Gc-o_2>oe(Fw#F5ExkaC zAKm5f8|0o-?|hXQ1|26m(bp;uNjz$$H<}rcxF+REtXbto!(SDfiJ5cpq2;j)DIk*`g4}%etPjuwxpkH=4&d6GV2+R zX8E2Qi|?saWu!atMb_+NVP8~9d3n~nkqR+CEbrtjU-qoxttP57Z#MabCPQP07%g9D zsxx1BNAZT7CeiE5u&(OGWs6}HOy*lGTCDP0udmS>=d=MXQvilk^VFg(%6g1U&X}(- zx!GL#{AOu%8osscfX=TosqaGGYx3(%ZHIiFJ)2$F+tu^fz03$xE5gZSa{7C!%Unq& z2SXE*FI8_*gL#z`TsL&7Ltv9NR|`&NVRItgRB=xrS4BM~TG_8AbD=$>=yNJB$IbOL zRpp!Jzo#5bHy-l67*gfrfq!uRp=TXZPG{nIazO?8R#Nbk^9s*A;-zT~hjLwg`9d`D z(C^LKjvWTFxTe%D)L*T~b&efAyGj0-Qp+i^)h9r?s-S!m$mj3}=uOI#XUCU}%~^3t skU2c Date: Sat, 9 Mar 2019 18:03:46 +0000 Subject: [PATCH 06/11] revert --- api/Controllers/EventLocsVisitedController.cs | 17 +- api/Controllers/TeamsController.cs | 83 +-- api/Data/ITeamsRepository.cs | 2 +- api/Data/TeamsReposiroty.cs | 16 +- .../20190307182012_teamsV1.Designer.cs | 450 ++++++++++++++++ api/Migrations/20190307182012_teamsV1.cs | 496 ++++++++++++++++++ api/Migrations/DataContextModelSnapshot.cs | 448 ++++++++++++++++ api/obj/Debug/netcoreapp2.1/api.assets.cache | Bin 133027 -> 0 bytes api/wwwroot/android-chrome-192x192.png | Bin 8172 -> 0 bytes api/wwwroot/apple-touch-icon.png | Bin 6356 -> 0 bytes api/wwwroot/favicon-16x16.png | Bin 889 -> 0 bytes api/wwwroot/favicon-32x32.png | Bin 1421 -> 0 bytes api/wwwroot/favicon.ico | Bin 15086 -> 0 bytes api/wwwroot/fonts/icomoon.eot | Bin 2264 -> 0 bytes api/wwwroot/fonts/icomoon.svg | 17 - api/wwwroot/fonts/icomoon.ttf | Bin 2100 -> 0 bytes api/wwwroot/fonts/icomoon.woff | Bin 2176 -> 0 bytes api/wwwroot/index.html | 237 --------- api/wwwroot/main.css.map | 9 - api/wwwroot/safari-pinned-tab.svg | 18 - api/wwwroot/selection.json | 1 - 21 files changed, 1462 insertions(+), 332 deletions(-) create mode 100644 api/Migrations/20190307182012_teamsV1.Designer.cs create mode 100644 api/Migrations/20190307182012_teamsV1.cs create mode 100644 api/Migrations/DataContextModelSnapshot.cs delete mode 100755 api/obj/Debug/netcoreapp2.1/api.assets.cache delete mode 100755 api/wwwroot/android-chrome-192x192.png delete mode 100755 api/wwwroot/apple-touch-icon.png delete mode 100755 api/wwwroot/favicon-16x16.png delete mode 100755 api/wwwroot/favicon-32x32.png delete mode 100755 api/wwwroot/favicon.ico delete mode 100755 api/wwwroot/fonts/icomoon.eot delete mode 100755 api/wwwroot/fonts/icomoon.svg delete mode 100755 api/wwwroot/fonts/icomoon.ttf delete mode 100755 api/wwwroot/fonts/icomoon.woff delete mode 100755 api/wwwroot/index.html delete mode 100755 api/wwwroot/main.css.map delete mode 100755 api/wwwroot/safari-pinned-tab.svg delete mode 100755 api/wwwroot/selection.json diff --git a/api/Controllers/EventLocsVisitedController.cs b/api/Controllers/EventLocsVisitedController.cs index 2f810294..236b6c3f 100644 --- a/api/Controllers/EventLocsVisitedController.cs +++ b/api/Controllers/EventLocsVisitedController.cs @@ -66,14 +66,21 @@ 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); - if(userT.team == null){ - return StatusCode(403); - } + Team TeamToEdit = new Team(); - Team TeamToEdit = userT.team; + uTeam.ForEach(delegate (Team t){ + if(t.EventId == Loc.EventId){ + t.Membros.ForEach(delegate (User u){ + if(u.QRcode == EventLocVisitedData.USerQR){ + TeamToEdit = t; + } + }); + } + }); TeamToEdit.Pontos += EventLocVisitedData.pontos; diff --git a/api/Controllers/TeamsController.cs b/api/Controllers/TeamsController.cs index 408d99cd..5734f578 100644 --- a/api/Controllers/TeamsController.cs +++ b/api/Controllers/TeamsController.cs @@ -68,24 +68,21 @@ 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}; + List memb = new List(); - tCap.team = tAdd; + memb.Add(tCap); - await context.Teams.AddAsync(tAdd); - context.Users.Update(tCap); + Team tAdd = new Team{EventId = TeamAddDetails.EventId, Nome = TeamAddDetails.Nome, Cap = tCap, Membros = memb, NMembros = 1, Pontos = 0}; - var result = context.SaveChanges(); - - if (result >= 1) - { - return StatusCode(201); - } - return BadRequest(); - }else{ - return BadRequest(); - } + await context.Teams.AddAsync(tAdd); + + var result = context.SaveChanges(); + + if (result == 1) + { + return StatusCode(201); + } + return BadRequest(); } @@ -97,22 +94,35 @@ namespace api.Controllers User newMember = await context.Users.FirstOrDefaultAsync(u=>u.QRcode == MemberToAdd.newQR); - Team tEdit = await context.Teams.FirstOrDefaultAsync(t=>t.Id == MemberToAdd.id); + Team tEdit = await context.Teams.Include(t=>t.Membros).FirstOrDefaultAsync(t=>t.Id == MemberToAdd.id); - if(newMember.team == null){ + 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){ tEdit.NMembros++; - newMember.team = tEdit; + tEdit.Membros.Add(newMember); - context.Teams.Update(tEdit); - context.Users.Update(newMember); + context.Update(tEdit); var result = context.SaveChanges(); - + return StatusCode(201); - - }else{ - return StatusCode(403); } + + return StatusCode(403); } @@ -130,7 +140,7 @@ namespace api.Controllers tEdit.Nome = NameChange.nome; } - context.Teams.Update(tEdit); + context.Update(tEdit); var result = context.SaveChanges(); @@ -149,9 +159,7 @@ namespace api.Controllers User cap = await context.Users.FirstOrDefaultAsync(u=>u.QRcode == DeleteData.UserQR); if(cap == tEdit.Cap){ - context.Teams.Remove(tEdit); - cap.team = null; - context.Users.Update(cap); + context.Remove(tEdit); var result = context.SaveChanges(); return StatusCode(201); }else{ @@ -167,25 +175,20 @@ namespace api.Controllers User rmMember = await context.Users.FirstOrDefaultAsync(u=>u.QRcode == MemberToRemove.UserToRemoveQR); - Team tEdit = await context.Teams.Include(t=>t.Cap).FirstOrDefaultAsync(t=>t.Id == MemberToRemove.TeamID); + Team tEdit = await context.Teams.Include(t=>t.Membros).Include(t=>t.Cap).FirstOrDefaultAsync(t=>t.Id == MemberToRemove.TeamID); if(rmMember == tEdit.Cap){ return StatusCode(403); } - if(rmMember.team == tEdit){ - tEdit.NMembros--; - rmMember.team = null; + tEdit.NMembros--; + tEdit.Membros.Remove(rmMember); - context.Teams.Update(tEdit); - context.Users.Update(rmMember); + context.Update(tEdit); - var result = context.SaveChanges(); - - return StatusCode(201); - }else{ - return StatusCode(403); - } + var result = context.SaveChanges(); + + return StatusCode(201); } } diff --git a/api/Data/ITeamsRepository.cs b/api/Data/ITeamsRepository.cs index ac5a220d..12ba68ec 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 0a0e3544..5ed69b06 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).ToListAsync(); + List allTeams = await _context.Teams.Include(a=>a.Cap).Include(a=>a.Membros).ToListAsync(); List rTeam = new List(); allTeams.ForEach(delegate(Team t){ if(t.EventId == id){ @@ -29,16 +29,24 @@ namespace api.Data return rTeam; } - public async Task GetUserTeam(String QR) + public async Task> GetUserTeam(String QR) { - var rTeam = (await _context.Users.FirstAsync(u=>u.QRcode == QR)).team; + 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); + } + } + }); return rTeam; } public async Task> GetTeams() { - var rTeams = await _context.Teams.Include(a=>a.Cap).ToListAsync(); + var rTeams = await _context.Teams.Include(a=>a.Cap).Include(a=>a.Membros).ToListAsync(); return rTeams; } diff --git a/api/Migrations/20190307182012_teamsV1.Designer.cs b/api/Migrations/20190307182012_teamsV1.Designer.cs new file mode 100644 index 00000000..9d4890f1 --- /dev/null +++ b/api/Migrations/20190307182012_teamsV1.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("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 new file mode 100644 index 00000000..2ef87021 --- /dev/null +++ b/api/Migrations/20190307182012_teamsV1.cs @@ -0,0 +1,496 @@ +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 new file mode 100644 index 00000000..175112d0 --- /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("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/obj/Debug/netcoreapp2.1/api.assets.cache b/api/obj/Debug/netcoreapp2.1/api.assets.cache deleted file mode 100755 index b5b8a63c31742137695f16d273d1e5110dcdbf97..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 133027 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 U=boHU8dw5SRn$`WC}$b^f5A;RQvd(} diff --git a/api/wwwroot/apple-touch-icon.png b/api/wwwroot/apple-touch-icon.png deleted file mode 100755 index 84a3dcd59862dee1c0ee5833d538a52524d66a3f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6356 zcmZ{oc|26%_s7RJ80#=(4P(zP#Ml`#BN z;8Xh@SQ$9bdgz<#gFp=_OefBCz;EH37zG1$ap4Kyq3#oH z`P=aaMrmST5u!fQncr8ymnw-N&5Q=?1UZ!TUQJvwN?*>EiWAh+xeCssbELxx!<(Y^ zE33IDRR?x6O!kZ(_JHW2D~57c=_f>s{UL~%5aS{iEXGA9l@Uh8(j%kC;!6u9)owd3 znS^U^J4U#kF&cZ(W2w2w%l0Yc!6^m>0zawn`1zXfk%S(B&A^SJ$@80Zm>?|1>0)tS5Un{$J?b+hQ{)1y z{9b*)jXI;wbHY;yb376ZcT;Cop}N6%s?Co{I6(aHzXLp=p@cY&&xubFdHSVnxT0<$ z$;b=PkT{rKEb?QNWrP57<`@EJt3yqY1C%g)4P2!ZgvjN20#c)v`vaD>+YL?^CStLy z4#mY`(527{_S`m!zWzFfsGqMi^℘NYe@~kt#OT9*w@xK7C}oNXZs!s=+2yiRg=P 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 A#sB~S diff --git a/api/wwwroot/favicon-32x32.png b/api/wwwroot/favicon-32x32.png deleted file mode 100755 index c6e9a97a924441d5e8cef9294d11254260d2652e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1421 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 MJi&KDJl3@T0WYcnZ2$lO diff --git a/api/wwwroot/fonts/icomoon.eot b/api/wwwroot/fonts/icomoon.eot deleted file mode 100755 index 5d84b85e4eac71f52ef08db6421b72a4fb67e308..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2264 zcmaJ@O>A355T1R%b{=->JpZILN$uEmitV_G?Kq)7G@(^nmsV79oD>O(xQXLLO6-uN zsI53~DxxY-dH_|Zs6ue45Fl~k097pkw@N4+P{jo#xD-wtI6xDdZ`Uu>ZcX=TcV}k5 z*`3*$-F6XZIx9JG6a}e2qFivy@-ZKey-l>sP>^BT^>j3;9{k%RjzLq~5`JdL9DX-%5>0Q^1Gj zm)6dOa-c}tjV88Op2;h(s6T<90N=TkKetRS0zz8^?=R(-3fGR??}NXLH7+ifSJz-C zip|Z(NmdMYg;XNxn#5OpyWX=uD9P*`*H9SDZZ4xl_cXautI(*7iovbT=Quxa#A^D<&UwKvF+9K%lw$OGKt zW$?ImOOau9JDIeH_R}#KAL!LQF1I%sNTi2caV7^`0oL0WXMN$J)bKNGIGs%RdYI4a zaqCW|Yck+K1Dpy6cl81U00uSr(~X;D4dvPG@YsdVyV>PjtuK?jF0*)@H0qiYzh7rXkkCUbV}LMdD$5 zQ{jd<^bLDO1bo8Y^srA8kq9cE-@n~IHrB6<#m2^B_irm>n?G+q^z6q|rw=_fp37ZL z51H=t(AA0Dcq~1U`{dZMo<~jH{BtPv{?zHCk;#eNrT%_Z?T@{Y%S}Z_CMQ4KySHv< zMNPv_nRJ|Zva>#BT2)Q|b4OB>a$_5;e)|F2SItzvyN)i$yZ!LDIrn0?T*m*$=Qyhe zhDW7`A+g|W5Yf?-2%Fl22nLaQJXpPa2&^mV`7e%*(c>9~JUXG}cN>boY+9AKj+vS6YW*bm(FNPT6&vWY>>Z-(w3Q z_uk##f72N<49w!#z2i%^FyI7KGjZMEY}P6`%oPf9e_g3?l<@FxtjH~gPc~$W;a4iMrU`r-YZRDmNx=g>Z5%waxD>|%bU`F(GRJW?*L`HO{8VI{v-nDw7I@6XJXPr|l19TC3(Yw)6opMsM3G04*z`dP@% W(0Q~O@k?>i`lX0tzY)vFm45-Uxo@)o diff --git a/api/wwwroot/fonts/icomoon.svg b/api/wwwroot/fonts/icomoon.svg deleted file mode 100755 index fd059e38..00000000 --- a/api/wwwroot/fonts/icomoon.svg +++ /dev/null @@ -1,17 +0,0 @@ - - - -Generated by IcoMoon - - - - - - - - - - - - - \ No newline at end of file diff --git a/api/wwwroot/fonts/icomoon.ttf b/api/wwwroot/fonts/icomoon.ttf deleted file mode 100755 index 892921a08cf2065f949271eeded6a621ee3b32b6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2100 zcmaJ?T}+!*7=F+9+w$46^7V%~U@h&+Y)gT*6x<)+mTjFb8cJa%CelGEB+w!-vn^hD zHRCdM?!sj;GmFuS#i)rlUg)wW>fI7EFU;bNCVDfy^1=%pv_9wbLyA;SbI$v7-rw(i z-&0~lWYDW5Q~$HszC>%Ab`YE|v8QL2^2@%-@7^F{9iS(Q`PF5>U7$I%6&Eke_1%2! zD(Le>%EWvjKkIqv`*(=cd$>=}gJJtqsS#-k=+OMq+WAlp7-{=)#1_jldF5sG2hbCs z+n4g^m&rwt&=x`aOZlb3jZ^kVps&EkrRDPK8sfyVx%oZGiovduN+jKoxW~8Zko`tU zX6JGZiy`doYn14rCRb_|8kMne$-l+s@(YA}JuhA|e2C3Eton#bk# zCIgA|pexSgfGfbdd*ZAoJeV3f!iLhxgs+SFydJmiWV$9p9MTX@g@gOLAp`+jYVybH zw?m0UNS+EMq-0?IwmemRejpkdG27bAkw|o4AQA;`nj_Ije`anjlbM@8!FKPBM)!91 zM&(K(w57kEm8UlLK`k1w)EaSigDdkr8|f7K5&o4Ma>F-nnwOJxvZN>I!f!B%$a#K8 z7~=QoNI1@dVNGwA$FFw##fxtrJLYgY0$y)?PkXA}qwUh|PQBG<-x+%KGripzo3CDE zm*x|laksn6ZnU%*tCAv1OtNXHwTM^kuxgR`cf6@^LmhgCyrKd=5pR0Pr-@1gl}{ht z?HwEIRmNgtW3fkfm9dQKbzpBT^OuB8V}cY5&JL~cBmp2&T4@?_V}P&a-b zOuajG=0s$2B6qpBS5Sb7_YWMX$5~O+h*KsV6Hj*5!%SA&ttYEo`I zgVnF!V+X65>Nht5avU5&zT0~*MguhdA34Way)e8gT?~zdWP_-Votjx*5k$M z=2swHNzXrZY^)ydDD=@Yy3M9*ro-W~Yc`vvdklxEY1u5>aC@?k8HV5M3!|{v=ZrnA zyMpfSVfW6@RQ*D0GmJJ}7~q&)w@G&WRP{Pr2)PgJ|Msi)kYT`zWB;Dd*+Rb)qMC{4 z2D4eKV3;cu;#y8l$YWjZPjvwF*6nhrKC2sRBu z8Wq6NOn|>1@WnUu6E(q&z(kGU0hAtIfLP+W~ZSi^cZpNnoKWFh( z^t8vqHSnLd@D_TUE~Dp}Vh6{Gn>sE5FIu<^{IG>9z+bU&mAvG)a1H!%3vZzmeXuZ7 zUMiPMv_LadrX}n$l_m=-s|)3le<0pZlT@G;T7>{EU}u2h)ZbLADRaC~Jhzx%fztv4 zJx7a_rgJpsfh-U_Q8O~K!`i(bqC diff --git a/api/wwwroot/fonts/icomoon.woff b/api/wwwroot/fonts/icomoon.woff deleted file mode 100755 index 9312857e0aff43b3f16994be18d0ca361b078c08..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2176 zcmaJ>O>A355T1R%b{=-(JpZILN$uEmitV_G?Kq*o39Zt)P_>HVq)14_O&mK?VwWU^ zw&K94h>D-mLs5l_Dg=iL0TLIGpsFRxtr98+RB-_bE`<{Z4$#Er+x2VfsD^!--I;G^ zW@p~a?kmS8CWsM+?KLvQnrg_L-#m_GcP5CK4d^VV_D*g0+;aXDuoC1cPQK|M-YVu- zIra@?uFI*TxO8>_*exOjddk$!tFK=y74q{$S{L@yoIEf6c)0`+*m1}qPPV_5dTDv> z46rrGF;1Zz(NblO>s^D)?Yoqh)t{F0XK=3e6=c647v;+Nlkg9jZ> zN5JciZ|zETd9)7Q?$q0T_Qyl7eW7h3S|A<#qz$fBOkN7lEiJjSpCmZ^Pr6-$mUdywzu-iy%? zP5wvDan>jduSzdNV$A|4p^8wNAt6)P)1i*>#&_ z*N@cRV~Zj8t{vZh+Z8elcya95`XyT&bV5}#-AECAS;b|pQjq8CN`<40UpQ2|hw)p7 ztGAo+tB3oym!a;z)UKJ1s>7^ZbC{-s%?g3dLXgJ9;%KG7-vpe+#uSpqaKFh6B)m95 z3kLea@SFC_@M${M$Alx{R7?#!ZhMCn@4VQ)=Pxo8fJArS&Nv^f^&6rK_#2N`Mhw`9 zcaT)P>GciFKsF7_Qv>5>+%qS&8w4u__uv60wA#o`z4Rvi#zxr-?5^aLBEqXdS>8h! z4^9_?H96@s>uiQD6@Nl#>NIQNyn7$Sr+`0g;VOFCWAPgBXDz;so}>%td8XKbII+{< zCGbUym%;C~cm@2c7O#?*{1&ePpS1WkO3_D)bCu;vrA&)7M-^HIRj52&SXo`Hl>I~T zL7Jult( wp7m$uDn}7poF>HCYdF0KH)Rn~p4PC=13O7)F=s>qM;i$sM)6iy^=P^L3*g#g?*IS* diff --git a/api/wwwroot/index.html b/api/wwwroot/index.html deleted file mode 100755 index 9759cea6..00000000 --- a/api/wwwroot/index.html +++ /dev/null @@ -1,237 +0,0 @@ - - - - - - - - - - - - - - - - - - ENEI'19 - - - - - - - - - - - - - - - - - - -
- Logótipo ENEI -
- -
-
-
-
12 A 15 ABRIL DE 2019
-

ENEI

-
-

O Encontro Nacional de Estudantes de Informática é um dos maiores eventos na área da tecnologia em - Portugal - reunindo estudantes de informática de todas as faculdades do país.

-

Reconhecido pela sua qualidade e variedade de temas e atividades, tem como prioridade o contacto - entre - participantes e empresas, bem como a socialização, o convívio e a troca de experiências e - conhecimentos - entre os presentes.

-
-
-
- - - - - -
-
-
-
ENEI'19
-

Preços

-
-
-
Early-Bird
-
-
-
33
-
Grupo
- *Alimentação e alojamento incluídos -
-
- Comprar -
-
-
Early-Bird
-
-
-
30
-
Individual
- *Alimentação e alojamento incluídos -
-
- Comprar -
-
-
Pontual
-
-
20
-
Individual
- *Alimentação incluída -
- Brevemente -
-
-
-
- - -
-
-
-
Perguntas Frequentes
-

Faq

-
-
-
-
    -
  • - O que é o ENEI? -
    -

    O Encontro Nacional de Estudantes de Informática (ENEI) é um evento que pretende - oferecer aos estudantes de todo o país um evento que promove a aprendizagem, a troca de - ideias e o convívio, enquanto tenta criar fortes ligações com o mundo empresarial.

    - -

    A 13ª edição do evento terá lugar no Instituto Superior de Engenharia de Coimbra (ISEC) - entre os dias 12 e 15 de abril de 2019 e a organização espera contar com 700 estudantes - que poderão participar em palestras, workshops e painéis de discussão, contando com - oradores de renome nacional e internacional.

    - -

    Esta versão do evento também incluirá os tradicionais momentos de diversão noturnos que - muito apelam a todos os participantes das antigas edições e são uma excelente via de - networking e transferência de conhecimento!

    -
    -
  • -
  • - Onde me posso - inscrever? -
    -

    Os bilhetes estarão disponíveis a partir de XXX. Está atento às nossas redes sociais - para estares a par de tudo sobre o ENEI’19!

    -

    Podes adquirir o teu bilhete AQUI.

    -
    -
  • -
  • - Quem pode - participar no evento? -
    -

    Podem participar no ENEI’19 todos os estudantes de cursos relacionados com informática e - todos aqueles que querem aprender mais sobre os temas abordados!

    -
    -
  • -
  • - Tenho - acesso a todas as sessões? -
    -

    As palestras e workshops necessitam de inscrições e são limitadas. Aconselhamos-te a - escolher um Career Path para te facilitar a inscrição e aproveitares ao máximo. As - sessões de cocktails e de networking, assim como o Jantar Empresarial precisam, também, - de inscrição prévia. Mantém-te atento às nossas redes sociais!

    -
    -
  • -
- Ver todas -
-
-
- - - - -
-
-
-

© 2018 ENEI . Todos os direitos reservados

-
-
-
- - - - - - - - - - - \ No newline at end of file diff --git a/api/wwwroot/main.css.map b/api/wwwroot/main.css.map deleted file mode 100755 index e39e0d99..00000000 --- a/api/wwwroot/main.css.map +++ /dev/null @@ -1,9 +0,0 @@ -{ - "version": 3, - "mappings": "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", - "sources": [ - "main.scss" - ], - "names": [], - "file": "main.css" -} \ No newline at end of file diff --git a/api/wwwroot/safari-pinned-tab.svg b/api/wwwroot/safari-pinned-tab.svg deleted file mode 100755 index 24a3340a..00000000 --- a/api/wwwroot/safari-pinned-tab.svg +++ /dev/null @@ -1,18 +0,0 @@ - - - - -Created by potrace 1.11, written by Peter Selinger 2001-2013 - - - - - diff --git a/api/wwwroot/selection.json b/api/wwwroot/selection.json deleted file mode 100755 index 18e457d4..00000000 --- a/api/wwwroot/selection.json +++ /dev/null @@ -1 +0,0 @@ -{"IcoMoonType":"selection","icons":[{"icon":{"paths":["M1198.613 0h-1089.11c-59.191 0-109.503 38.474-109.503 85.827v855.306c0 47.353 50.312 85.827 109.503 85.827h1089.11c59.191 0 109.503-38.474 109.503-85.827v-855.306c0-47.353-50.312-85.827-109.503-85.827zM1198.613 941.133h-1089.11v-855.306h1089.11v855.306z","M654.058 612.624c-68.069 0-384.74-316.671-565.272-506.081l41.434-41.434c219.006 227.884 473.526 473.526 523.838 488.324 53.272-14.798 304.832-257.48 523.838-488.324l44.393 41.434c-145.017 150.936-488.324 506.081-568.231 506.081z"],"attrs":[{},{}],"width":1308,"isMulticolor":false,"isMulticolor2":false,"grid":0,"tags":["email"]},"attrs":[{},{}],"properties":{"order":76,"id":6,"name":"email","prevSize":32,"code":59650},"setIdx":0,"setId":34,"iconIdx":0},{"icon":{"paths":["M941.133 0h-855.306c-47.353 0-85.827 38.474-85.827 85.827v855.306c0 47.353 38.474 85.827 85.827 85.827h855.306c47.353 0 85.827-38.474 85.827-85.827v-855.306c-2.96-47.353-41.434-85.827-85.827-85.827zM941.133 941.133h-855.306v-855.306h855.306v855.306z","M517.919 816.832c-130.22 0-233.803-103.584-233.803-233.803s103.584-233.803 233.803-233.803c130.22 0 233.803 103.584 233.803 233.803s-106.543 233.803-233.803 233.803zM517.919 408.416c-97.665 0-174.613 76.948-174.613 174.613s76.948 174.613 174.613 174.613c97.665 0 174.613-76.948 174.613-174.613s-79.908-174.613-174.613-174.613z","M799.075 307.792c-41.434 0-73.988-32.555-73.988-71.029 0-41.434 32.555-73.988 73.988-73.988 38.474 0 73.988 32.555 73.988 73.988 0 38.474-32.555 71.029-73.988 71.029z"],"attrs":[{},{},{}],"isMulticolor":false,"isMulticolor2":false,"grid":0,"tags":["instagram"]},"attrs":[{},{},{}],"properties":{"order":75,"id":5,"name":"instagram","prevSize":32,"code":59648},"setIdx":0,"setId":34,"iconIdx":1},{"icon":{"paths":["M941.133 0h-855.306c-47.353 0-85.827 38.474-85.827 85.827v855.306c0 47.353 38.474 85.827 85.827 85.827h855.306c47.353 0 85.827-38.474 85.827-85.827v-855.306c-2.96-47.353-41.434-85.827-85.827-85.827zM941.133 941.133h-855.306v-855.306h855.306v855.306z","M662.936 420.254c-11.838 8.879-17.757 26.636-17.757 44.393v44.393h121.341v103.584h-121.341v390.659h-145.017v-390.659h-68.069v-103.584h68.069v-50.312c0-38.474 8.879-68.069 26.636-94.705s38.474-47.353 68.069-59.191c29.595-14.798 59.191-20.717 94.705-20.717 32.555 0 68.069 5.919 100.624 20.717l-20.717 115.422c-8.879-2.96-20.717-5.919-29.595-8.879-11.838-2.96-20.717-2.96-29.595-2.96-20.717-2.96-35.514 2.96-47.353 11.838z"],"attrs":[{},{}],"isMulticolor":false,"isMulticolor2":false,"grid":0,"tags":["facebook"]},"attrs":[{},{}],"properties":{"order":69,"id":3,"name":"facebook","prevSize":32,"code":59649},"setIdx":0,"setId":34,"iconIdx":2},{"icon":{"paths":["M941.133 0h-855.306c-47.353 0-85.827 38.474-85.827 85.827v855.306c0 47.353 38.474 85.827 85.827 85.827h855.306c47.353 0 85.827-38.474 85.827-85.827v-855.306c0-47.353-38.474-85.827-85.827-85.827zM941.133 941.133h-855.306v-855.306h855.306v855.306z","M248.601 411.376c-8.879-8.879-14.798-20.717-14.798-35.514s5.919-26.636 14.798-35.514c8.879-8.879 20.717-14.798 38.474-14.798s26.636 5.919 38.474 14.798c8.879 8.879 14.798 20.717 14.798 35.514s-5.919 26.636-14.798 38.474c-8.879 8.879-23.676 14.798-38.474 14.798-17.757-2.96-29.595-8.879-38.474-17.757zM242.682 485.364h82.867v361.064h-82.867v-361.064z","M751.723 520.879c26.636 26.636 41.434 65.11 41.434 118.382v207.168h-82.867v-195.329c0-32.555-8.879-56.231-23.676-71.029s-35.514-23.676-65.11-23.676c-29.595 0-56.231 8.879-73.988 26.636s-26.636 44.393-26.636 79.908v183.491h-82.867v-361.064h79.908v47.353c14.798-17.757 32.555-29.595 53.272-38.474s44.393-11.838 71.029-11.838c44.393 0 82.867 11.838 109.503 38.474z"],"attrs":[{},{},{}],"width":1027,"isMulticolor":false,"isMulticolor2":false,"grid":0,"tags":["linkedin"]},"attrs":[{},{},{}],"properties":{"order":67,"id":1,"name":"linkedin","prevSize":32,"code":59652},"setIdx":0,"setId":34,"iconIdx":3},{"icon":{"paths":["M1333.882 157.424l-1331.399 315.344-2.483-157.424 1331.399-315.344z","M1333.882 439.496l-1331.399 314.848-2.483-157.424 1331.399-314.848z","M1333.882 708.656l-1331.399 315.344-2.483-157.424 1331.399-315.344z"],"width":1334,"attrs":[{},{},{}],"isMulticolor":false,"isMulticolor2":false,"tags":["menu"],"grid":0},"attrs":[{},{},{}],"properties":{"order":65,"id":0,"name":"menu","prevSize":32,"code":59651},"setIdx":0,"setId":34,"iconIdx":4},{"icon":{"paths":["M992 384h-352v-352c0-17.664-14.304-32-32-32h-192c-17.696 0-32 14.336-32 32v352h-352c-17.696 0-32 14.336-32 32v192c0 17.696 14.304 32 32 32h352v352c0 17.696 14.304 32 32 32h192c17.696 0 32-14.304 32-32v-352h352c17.696 0 32-14.304 32-32v-192c0-17.664-14.304-32-32-32z"],"attrs":[],"isMulticolor":false,"isMulticolor2":false,"tags":["plus","add","sum"],"grid":16},"attrs":[],"properties":{"id":0,"order":77,"prevSize":32,"code":59653,"name":"plus"},"setIdx":2,"setId":32,"iconIdx":0},{"icon":{"paths":["M32 384h960c17.696 0 32 14.336 32 32v192c0 17.696-14.304 32-32 32h-960c-17.664 0-32-14.304-32-32v-192c0-17.664 14.336-32 32-32z"],"attrs":[],"isMulticolor":false,"isMulticolor2":false,"tags":["minus","subtract"],"grid":16},"attrs":[],"properties":{"id":1,"order":78,"prevSize":32,"code":59654,"name":"less"},"setIdx":2,"setId":32,"iconIdx":1}],"height":1024,"metadata":{"name":"icomoon"},"preferences":{"showGlyphs":true,"showQuickUse":true,"showQuickUse2":true,"showSVGs":true,"fontPref":{"prefix":"icon-","metadata":{"fontFamily":"icomoon","majorVersion":1,"minorVersion":0},"metrics":{"emSize":1024,"baseline":6.25,"whitespace":50},"embed":false,"cssVars":true,"cssVarsFormat":"scss"},"imagePref":{"prefix":"icon-","png":true,"useClassSelector":true,"color":0,"bgColor":16777215,"classSelector":".icon","name":"icomoon"},"historySize":50,"showCodes":true,"gridSize":16}} \ No newline at end of file From 7751140a1caef4aa2e184c882cb8e21d3226f1b1 Mon Sep 17 00:00:00 2001 From: ZMiguel Alves Date: Sat, 9 Mar 2019 18:04:37 +0000 Subject: [PATCH 07/11] revert 2 --- .../20190307182012_teamsV1.Designer.cs | 450 ---------------- api/Migrations/20190307182012_teamsV1.cs | 496 ------------------ api/Migrations/DataContextModelSnapshot.cs | 448 ---------------- 3 files changed, 1394 deletions(-) delete mode 100644 api/Migrations/20190307182012_teamsV1.Designer.cs delete mode 100644 api/Migrations/20190307182012_teamsV1.cs delete mode 100644 api/Migrations/DataContextModelSnapshot.cs 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 - } - } -} From ed591eec6fb877659d7dfd6352d1c1cb2e45ec90 Mon Sep 17 00:00:00 2001 From: ZMiguel Alves Date: Sat, 9 Mar 2019 18:02:34 +0000 Subject: [PATCH 08/11] Revert "coisas" This reverts commit 45c1b37e5716e3f62d9ef6e8f50176934126af78. --- api/app.js | 7 +++++++ 1 file changed, 7 insertions(+) create mode 100644 api/app.js diff --git a/api/app.js b/api/app.js new file mode 100644 index 00000000..3991c3be --- /dev/null +++ b/api/app.js @@ -0,0 +1,7 @@ +var http = require('http'); + +//create a server object: +http.createServer(function (req, res) { + res.write('Hello World!'); //write a response to the client + res.end(); //end the response +}).listen(49152); //the server object listens on port 8080 From dede15911fd72611bae1b8badf35aac4b4bf431d Mon Sep 17 00:00:00 2001 From: ZMiguel Alves Date: Sat, 9 Mar 2019 18:08:39 +0000 Subject: [PATCH 09/11] as --- api/app.js | 7 ------- 1 file changed, 7 deletions(-) delete mode 100644 api/app.js diff --git a/api/app.js b/api/app.js deleted file mode 100644 index 3991c3be..00000000 --- a/api/app.js +++ /dev/null @@ -1,7 +0,0 @@ -var http = require('http'); - -//create a server object: -http.createServer(function (req, res) { - res.write('Hello World!'); //write a response to the client - res.end(); //end the response -}).listen(49152); //the server object listens on port 8080 From 5a2744f8c12f48fe18907fabef77330168f67b4f Mon Sep 17 00:00:00 2001 From: ZMiguel Alves Date: Sat, 9 Mar 2019 18:10:26 +0000 Subject: [PATCH 10/11] fixed merge problems --- App/app/Router.js | 9 +- App/app/screens/Calendar.js | 15 +- App/app/screens/Eventos.js | 8 +- App/app/screens/Home.js | 5 +- App/app/screens/choosePath.js | 217 ++++++++---------- App/app/screens/compras.js | 102 -------- App/app/screens/febrada.js | 92 -------- App/app/store/actions/actionTypes.js | 3 +- App/app/store/actions/api.js | 215 ++--------------- App/app/store/actions/index.js | 3 - App/app/store/reducers/api.js | 21 +- App/ios/app.xcodeproj/project.pbxproj | 55 +---- App/package.json | 1 - api/Controllers/EventLocsVisitedController.cs | 17 +- api/Controllers/TeamsController.cs | 85 ++++--- api/Data/EventLocsVisitedRepository.cs | 23 +- api/Data/ITeamsRepository.cs | 2 +- api/Data/TeamsReposiroty.cs | 16 +- .../Debug/netcoreapp2.1/project.razor.json | 2 +- website/career-path.html | 7 +- website/error-page.html | 10 +- website/faqs.html | 7 +- website/index.html | 18 +- 23 files changed, 226 insertions(+), 707 deletions(-) delete mode 100644 App/app/screens/compras.js delete mode 100644 App/app/screens/febrada.js diff --git a/App/app/Router.js b/App/app/Router.js index 7e32d92d..74783cfe 100755 --- a/App/app/Router.js +++ b/App/app/Router.js @@ -23,8 +23,7 @@ import Scan from './screens/Scan' import Calendar from './screens/Calendar' import Home from './screens/Home' -import febrada from './screens/febrada' -import compras from './screens/compras' + /*Icons*/ @@ -184,12 +183,6 @@ const Stack = createStackNavigator({ }, calendarDetail:{ screen:calendarDetail - }, - febrada:{ - screen:febrada - }, - compras:{ - screen: compras } diff --git a/App/app/screens/Calendar.js b/App/app/screens/Calendar.js index 01a1e59e..bb216504 100644 --- a/App/app/screens/Calendar.js +++ b/App/app/screens/Calendar.js @@ -49,16 +49,13 @@ class Calendar extends React.Component { {key: 'fourth', weekDay: 'seg', day:15}, ], - CP:'SEM' }; componentDidMount() { this.props.getEvents(this.props.user); - - this.props.getSessions(this.props.userDetails.token) - - + console.log('didMount'); + console.log(this.props.events); } _openDetails=()=>{ @@ -138,7 +135,6 @@ class Calendar extends React.Component { }; - constructor() { super() @@ -276,7 +272,7 @@ class Calendar extends React.Component { textAlign:'center', }}> - {this.props.careerPath} + WEB DEVELOPMENT -