diff --git a/AzureDevOpsStateTracker.Functions/AzureDevOpsStateTracker.Functions.sln b/AzureDevOpsStateTracker.Functions/AzureDevOpsStateTracker.Functions.sln
index 79411da..da8e283 100644
--- a/AzureDevOpsStateTracker.Functions/AzureDevOpsStateTracker.Functions.sln
+++ b/AzureDevOpsStateTracker.Functions/AzureDevOpsStateTracker.Functions.sln
@@ -5,7 +5,7 @@ VisualStudioVersion = 16.0.31229.75
MinimumVisualStudioVersion = 10.0.40219.1
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "AzureDevOpsStateTracker.Functions", "AzureDevOpsStateTracker.Functions.csproj", "{3C86C085-C8C6-46BB-8315-D4348928034C}"
EndProject
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "AzureDevopsStateTracker", "..\AzureDevopsStateTracker\AzureDevopsStateTracker.csproj", "{04EC1CF9-5BEA-4E1D-9C1F-201FBD805B44}"
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "AzureDevopsStateTracker", "..\AzureDevopsStateTracker\AzureDevopsStateTracker.csproj", "{9F58B2EA-6594-41E5-8BAD-DAC7DF9CADA7}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
@@ -17,10 +17,10 @@ Global
{3C86C085-C8C6-46BB-8315-D4348928034C}.Debug|Any CPU.Build.0 = Debug|Any CPU
{3C86C085-C8C6-46BB-8315-D4348928034C}.Release|Any CPU.ActiveCfg = Release|Any CPU
{3C86C085-C8C6-46BB-8315-D4348928034C}.Release|Any CPU.Build.0 = Release|Any CPU
- {04EC1CF9-5BEA-4E1D-9C1F-201FBD805B44}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {04EC1CF9-5BEA-4E1D-9C1F-201FBD805B44}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {04EC1CF9-5BEA-4E1D-9C1F-201FBD805B44}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {04EC1CF9-5BEA-4E1D-9C1F-201FBD805B44}.Release|Any CPU.Build.0 = Release|Any CPU
+ {9F58B2EA-6594-41E5-8BAD-DAC7DF9CADA7}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {9F58B2EA-6594-41E5-8BAD-DAC7DF9CADA7}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {9F58B2EA-6594-41E5-8BAD-DAC7DF9CADA7}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {9F58B2EA-6594-41E5-8BAD-DAC7DF9CADA7}.Release|Any CPU.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
diff --git a/AzureDevopsStateTracker/Migrations/20210720105645_FunctionToTimeInitial.Designer.cs b/AzureDevopsStateTracker/Migrations/20210720105645_FunctionToTimeInitial.Designer.cs
new file mode 100644
index 0000000..9a8b8ed
--- /dev/null
+++ b/AzureDevopsStateTracker/Migrations/20210720105645_FunctionToTimeInitial.Designer.cs
@@ -0,0 +1,154 @@
+//
+using System;
+using AzureDevopsStateTracker.Data;
+using AzureDevopsStateTracker.Data.Context;
+using Microsoft.EntityFrameworkCore;
+using Microsoft.EntityFrameworkCore.Infrastructure;
+using Microsoft.EntityFrameworkCore.Metadata;
+using Microsoft.EntityFrameworkCore.Migrations;
+using Microsoft.EntityFrameworkCore.Storage.ValueConversion;
+
+namespace AzureDevopsStateTracker.Migrations
+{
+ [DbContext(typeof(AzureDevopsStateTrackerContext))]
+ [Migration("20210720105645_FunctionToTimeInitial")]
+ partial class FunctionToTimeInitial
+ {
+ protected override void BuildTargetModel(ModelBuilder modelBuilder)
+ {
+#pragma warning disable 612, 618
+ modelBuilder
+ .HasDefaultSchema(DataBaseConfig.SchemaName)
+ .HasAnnotation("ProductVersion", "3.1.16")
+ .HasAnnotation("Relational:MaxIdentifierLength", 128)
+ .HasAnnotation("SqlServer:ValueGenerationStrategy", SqlServerValueGenerationStrategy.IdentityColumn);
+
+ modelBuilder.Entity("AzureDevopsStateTracker.Entities.TimeByState", b =>
+ {
+ b.Property("Id")
+ .HasColumnType("varchar(200)");
+
+ b.Property("CreatedAt")
+ .HasColumnType("datetime2");
+
+ b.Property("State")
+ .HasColumnType("varchar(200)");
+
+ b.Property("TotalTime")
+ .HasColumnType("float");
+
+ b.Property("TotalWorkedTime")
+ .HasColumnType("float");
+
+ b.Property("WorkItemId")
+ .HasColumnType("varchar(200)");
+
+ b.HasKey("Id");
+
+ b.HasIndex("WorkItemId");
+
+ b.ToTable("TimeByStates");
+ });
+
+ modelBuilder.Entity("AzureDevopsStateTracker.Entities.WorkItem", b =>
+ {
+ b.Property("Id")
+ .HasColumnType("varchar(200)");
+
+ b.Property("Activity")
+ .HasColumnType("varchar(200)");
+
+ b.Property("AreaPath")
+ .HasColumnType("varchar(200)");
+
+ b.Property("AssignedTo")
+ .HasColumnType("varchar(200)");
+
+ b.Property("CreatedAt")
+ .HasColumnType("datetime2");
+
+ b.Property("CreatedBy")
+ .HasColumnType("varchar(200)");
+
+ b.Property("Effort")
+ .HasColumnType("varchar(200)");
+
+ b.Property("IterationPath")
+ .HasColumnType("varchar(200)");
+
+ b.Property("OriginalEstimate")
+ .HasColumnType("varchar(200)");
+
+ b.Property("StoryPoints")
+ .HasColumnType("varchar(200)");
+
+ b.Property("Tags")
+ .HasColumnType("varchar(200)");
+
+ b.Property("TeamProject")
+ .HasColumnType("varchar(200)");
+
+ b.Property("Title")
+ .HasColumnType("varchar(200)");
+
+ b.Property("Type")
+ .HasColumnType("varchar(200)");
+
+ b.Property("WorkItemParentId")
+ .HasColumnType("varchar(200)");
+
+ b.HasKey("Id");
+
+ b.ToTable("WorkItems");
+ });
+
+ modelBuilder.Entity("AzureDevopsStateTracker.Entities.WorkItemChange", b =>
+ {
+ b.Property("Id")
+ .HasColumnType("varchar(200)");
+
+ b.Property("ChangedBy")
+ .HasColumnType("varchar(200)");
+
+ b.Property("CreatedAt")
+ .HasColumnType("datetime2");
+
+ b.Property("NewDate")
+ .HasColumnType("datetime2");
+
+ b.Property("NewState")
+ .HasColumnType("varchar(200)");
+
+ b.Property("OldDate")
+ .HasColumnType("datetime2");
+
+ b.Property("OldState")
+ .HasColumnType("varchar(200)");
+
+ b.Property("WorkItemId")
+ .HasColumnType("varchar(200)");
+
+ b.HasKey("Id");
+
+ b.HasIndex("WorkItemId");
+
+ b.ToTable("WorkItemsChange");
+ });
+
+ modelBuilder.Entity("AzureDevopsStateTracker.Entities.TimeByState", b =>
+ {
+ b.HasOne("AzureDevopsStateTracker.Entities.WorkItem", "WorkItem")
+ .WithMany("TimeByStates")
+ .HasForeignKey("WorkItemId");
+ });
+
+ modelBuilder.Entity("AzureDevopsStateTracker.Entities.WorkItemChange", b =>
+ {
+ b.HasOne("AzureDevopsStateTracker.Entities.WorkItem", "WorkItem")
+ .WithMany("WorkItemsChanges")
+ .HasForeignKey("WorkItemId");
+ });
+#pragma warning restore 612, 618
+ }
+ }
+}
diff --git a/AzureDevopsStateTracker/Migrations/20210720105645_FunctionToTimeInitial.cs b/AzureDevopsStateTracker/Migrations/20210720105645_FunctionToTimeInitial.cs
new file mode 100644
index 0000000..d6dd362
--- /dev/null
+++ b/AzureDevopsStateTracker/Migrations/20210720105645_FunctionToTimeInitial.cs
@@ -0,0 +1,24 @@
+using AzureDevopsStateTracker.Data;
+using Microsoft.EntityFrameworkCore.Migrations;
+
+namespace AzureDevopsStateTracker.Migrations
+{
+ public partial class FunctionToTimeInitial : Migration
+ {
+ protected override void Up(MigrationBuilder migrationBuilder)
+ {
+ var rawFunction = @"CREATE OR ALTER FUNCTION ToTime (@segundos float)
+ RETURNS TIME
+ AS BEGIN
+ return CONVERT(TIME, DATEADD(SECOND, @segundos + 86400000, 0), 114)
+ END";
+ migrationBuilder.Sql(rawFunction);
+ }
+
+ protected override void Down(MigrationBuilder migrationBuilder)
+ {
+ var dropFunction = @$"DROP FUNCTION IF EXISTS {DataBaseConfig.SchemaName}.ToTime";
+ migrationBuilder.Sql(dropFunction);
+ }
+ }
+}