Ден Ку hace 3 años
commit
d10c431185
Se han modificado 100 ficheros con 3775 adiciones y 0 borrados
  1. BIN
      .vs/ProjectEvaluation/mvvmrkis.metadata.v2
  2. BIN
      .vs/ProjectEvaluation/mvvmrkis.projects.v2
  3. BIN
      .vs/ProjectEvaluation/rkismvvm.metadata.v2
  4. BIN
      .vs/ProjectEvaluation/rkismvvm.projects.v2
  5. 7 0
      .vs/VSWorkspaceState.json
  6. BIN
      .vs/mvvmRKIS/DesignTimeBuild/.dtbcache.v2
  7. BIN
      .vs/mvvmRKIS/FileContentIndex/0ce82b5c-ff69-4de5-85d3-ba4b9ad406be.vsidx
  8. BIN
      .vs/mvvmRKIS/FileContentIndex/4d54cf43-a857-49bd-ae11-71ed6992e1ca.vsidx
  9. BIN
      .vs/mvvmRKIS/FileContentIndex/8e0c32a9-abe8-468a-a0fe-1fe8eae714eb.vsidx
  10. BIN
      .vs/mvvmRKIS/FileContentIndex/d0839b9b-3112-4281-8614-f60edd5095a2.vsidx
  11. 0 0
      .vs/mvvmRKIS/FileContentIndex/read.lock
  12. 11 0
      .vs/mvvmRKIS/project-colors.json
  13. BIN
      .vs/mvvmRKIS/v17/.futdcache.v1
  14. BIN
      .vs/mvvmRKIS/v17/.suo
  15. BIN
      .vs/rkismvvm/DesignTimeBuild/.dtbcache.v2
  16. BIN
      .vs/rkismvvm/FileContentIndex/3cfe28ef-71bc-4f70-a645-e1712a404be7.vsidx
  17. BIN
      .vs/rkismvvm/FileContentIndex/41f57349-cd52-435c-9de4-a271dfcb0e13.vsidx
  18. BIN
      .vs/rkismvvm/FileContentIndex/5c4794a3-7b1d-42ad-9384-a4e517495152.vsidx
  19. BIN
      .vs/rkismvvm/FileContentIndex/be6377eb-da81-4d65-8dec-119b2735736e.vsidx
  20. 0 0
      .vs/rkismvvm/FileContentIndex/read.lock
  21. BIN
      .vs/rkismvvm/v17/.suo
  22. BIN
      .vs/slnx.sqlite
  23. 25 0
      mvvmRKIS.sln
  24. 8 0
      rkismvvm/.vs/VSWorkspaceState.json
  25. BIN
      rkismvvm/.vs/rkismvvm/FileContentIndex/0af6dd69-b233-4b4c-99af-aa254ce7f90b.vsidx
  26. BIN
      rkismvvm/.vs/rkismvvm/FileContentIndex/1fc194ab-b55d-4b03-b93f-08a17589e126.vsidx
  27. BIN
      rkismvvm/.vs/rkismvvm/FileContentIndex/7e71bf1c-01bb-4216-98cc-6f8c69c557ca.vsidx
  28. BIN
      rkismvvm/.vs/rkismvvm/FileContentIndex/dd8fc106-d0b0-4d5a-a38b-0f2b78b0d767.vsidx
  29. 0 0
      rkismvvm/.vs/rkismvvm/FileContentIndex/read.lock
  30. BIN
      rkismvvm/.vs/rkismvvm/v17/.suo
  31. BIN
      rkismvvm/.vs/slnx.sqlite
  32. 9 0
      rkismvvm/App.xaml
  33. 17 0
      rkismvvm/App.xaml.cs
  34. 10 0
      rkismvvm/AssemblyInfo.cs
  35. 18 0
      rkismvvm/Models/StatusTask.cs
  36. 20 0
      rkismvvm/Models/Task.cs
  37. 25 0
      rkismvvm/Models/User.cs
  38. 37 0
      rkismvvm/RelayCommand.cs
  39. 113 0
      rkismvvm/TaskHelpContext.cs
  40. 37 0
      rkismvvm/Views/ListUsers.xaml
  41. 29 0
      rkismvvm/Views/ListUsers.xaml.cs
  42. 36 0
      rkismvvm/Views/MainWindow.xaml
  43. 30 0
      rkismvvm/Views/MainWindow.xaml.cs
  44. 32 0
      rkismvvm/Views/MenuWindow.xaml
  45. 29 0
      rkismvvm/Views/MenuWindow.xaml.cs
  46. 41 0
      rkismvvm/Views/MyTasks.xaml
  47. 29 0
      rkismvvm/Views/MyTasks.xaml.cs
  48. 30 0
      rkismvvm/Views/Profile.xaml
  49. 29 0
      rkismvvm/Views/Profile.xaml.cs
  50. 40 0
      rkismvvm/Views/Registration.xaml
  51. 29 0
      rkismvvm/Views/Registration.xaml.cs
  52. 40 0
      rkismvvm/Views/TaskHistory.xaml
  53. 29 0
      rkismvvm/Views/TaskHistory.xaml.cs
  54. 44 0
      rkismvvm/Views/Tasks.xaml
  55. 29 0
      rkismvvm/Views/Tasks.xaml.cs
  56. 19 0
      rkismvvm/ViewsModels/BaseViewModels.cs
  57. 49 0
      rkismvvm/ViewsModels/ListUsersViewModel.cs
  58. 79 0
      rkismvvm/ViewsModels/MainWindowViewModel.cs
  59. 243 0
      rkismvvm/ViewsModels/MenuViewModel.cs
  60. 113 0
      rkismvvm/ViewsModels/MyTaskViewModel.cs
  61. 51 0
      rkismvvm/ViewsModels/ProfileViewModel.cs
  62. 120 0
      rkismvvm/ViewsModels/RegistrationViewModel.cs
  63. 62 0
      rkismvvm/ViewsModels/TaskHistoryViewModel.cs
  64. 122 0
      rkismvvm/ViewsModels/TasksViewModel.cs
  65. BIN
      rkismvvm/bin/Debug/net6.0-windows/Castle.Core.dll
  66. BIN
      rkismvvm/bin/Debug/net6.0-windows/Humanizer.dll
  67. BIN
      rkismvvm/bin/Debug/net6.0-windows/Microsoft.Data.SqlClient.dll
  68. BIN
      rkismvvm/bin/Debug/net6.0-windows/Microsoft.EntityFrameworkCore.Abstractions.dll
  69. BIN
      rkismvvm/bin/Debug/net6.0-windows/Microsoft.EntityFrameworkCore.Design.dll
  70. BIN
      rkismvvm/bin/Debug/net6.0-windows/Microsoft.EntityFrameworkCore.Proxies.dll
  71. BIN
      rkismvvm/bin/Debug/net6.0-windows/Microsoft.EntityFrameworkCore.Relational.dll
  72. BIN
      rkismvvm/bin/Debug/net6.0-windows/Microsoft.EntityFrameworkCore.SqlServer.dll
  73. BIN
      rkismvvm/bin/Debug/net6.0-windows/Microsoft.EntityFrameworkCore.dll
  74. BIN
      rkismvvm/bin/Debug/net6.0-windows/Microsoft.Extensions.Caching.Abstractions.dll
  75. BIN
      rkismvvm/bin/Debug/net6.0-windows/Microsoft.Extensions.Caching.Memory.dll
  76. BIN
      rkismvvm/bin/Debug/net6.0-windows/Microsoft.Extensions.Configuration.Abstractions.dll
  77. BIN
      rkismvvm/bin/Debug/net6.0-windows/Microsoft.Extensions.DependencyInjection.Abstractions.dll
  78. BIN
      rkismvvm/bin/Debug/net6.0-windows/Microsoft.Extensions.DependencyInjection.dll
  79. BIN
      rkismvvm/bin/Debug/net6.0-windows/Microsoft.Extensions.Logging.Abstractions.dll
  80. BIN
      rkismvvm/bin/Debug/net6.0-windows/Microsoft.Extensions.Logging.dll
  81. BIN
      rkismvvm/bin/Debug/net6.0-windows/Microsoft.Extensions.Options.dll
  82. BIN
      rkismvvm/bin/Debug/net6.0-windows/Microsoft.Extensions.Primitives.dll
  83. BIN
      rkismvvm/bin/Debug/net6.0-windows/Microsoft.Identity.Client.dll
  84. BIN
      rkismvvm/bin/Debug/net6.0-windows/Microsoft.IdentityModel.JsonWebTokens.dll
  85. BIN
      rkismvvm/bin/Debug/net6.0-windows/Microsoft.IdentityModel.Logging.dll
  86. BIN
      rkismvvm/bin/Debug/net6.0-windows/Microsoft.IdentityModel.Protocols.OpenIdConnect.dll
  87. BIN
      rkismvvm/bin/Debug/net6.0-windows/Microsoft.IdentityModel.Protocols.dll
  88. BIN
      rkismvvm/bin/Debug/net6.0-windows/Microsoft.IdentityModel.Tokens.dll
  89. BIN
      rkismvvm/bin/Debug/net6.0-windows/Newtonsoft.Json.dll
  90. BIN
      rkismvvm/bin/Debug/net6.0-windows/System.IdentityModel.Tokens.Jwt.dll
  91. BIN
      rkismvvm/bin/Debug/net6.0-windows/System.Runtime.Caching.dll
  92. BIN
      rkismvvm/bin/Debug/net6.0-windows/ref/rkismvvm.dll
  93. 2069 0
      rkismvvm/bin/Debug/net6.0-windows/rkismvvm.deps.json
  94. BIN
      rkismvvm/bin/Debug/net6.0-windows/rkismvvm.dll
  95. BIN
      rkismvvm/bin/Debug/net6.0-windows/rkismvvm.exe
  96. BIN
      rkismvvm/bin/Debug/net6.0-windows/rkismvvm.pdb
  97. 15 0
      rkismvvm/bin/Debug/net6.0-windows/rkismvvm.runtimeconfig.json
  98. BIN
      rkismvvm/bin/Debug/net6.0-windows/runtimes/unix/lib/netcoreapp3.1/Microsoft.Data.SqlClient.dll
  99. BIN
      rkismvvm/bin/Debug/net6.0-windows/runtimes/win-arm/native/Microsoft.Data.SqlClient.SNI.dll
  100. 0 0
      rkismvvm/bin/Debug/net6.0-windows/runtimes/win-arm64/native/Microsoft.Data.SqlClient.SNI.dll

BIN
.vs/ProjectEvaluation/mvvmrkis.metadata.v2


BIN
.vs/ProjectEvaluation/mvvmrkis.projects.v2


BIN
.vs/ProjectEvaluation/rkismvvm.metadata.v2


BIN
.vs/ProjectEvaluation/rkismvvm.projects.v2


+ 7 - 0
.vs/VSWorkspaceState.json

@@ -0,0 +1,7 @@
+{
+  "ExpandedNodes": [
+    "",
+    "\\rkismvvm"
+  ],
+  "PreviewInSolutionExplorer": true
+}

BIN
.vs/mvvmRKIS/DesignTimeBuild/.dtbcache.v2


BIN
.vs/mvvmRKIS/FileContentIndex/0ce82b5c-ff69-4de5-85d3-ba4b9ad406be.vsidx


BIN
.vs/mvvmRKIS/FileContentIndex/4d54cf43-a857-49bd-ae11-71ed6992e1ca.vsidx


BIN
.vs/mvvmRKIS/FileContentIndex/8e0c32a9-abe8-468a-a0fe-1fe8eae714eb.vsidx


BIN
.vs/mvvmRKIS/FileContentIndex/d0839b9b-3112-4281-8614-f60edd5095a2.vsidx


+ 0 - 0
.vs/mvvmRKIS/FileContentIndex/read.lock


+ 11 - 0
.vs/mvvmRKIS/project-colors.json

@@ -0,0 +1,11 @@
+{
+  "Version": 1,
+  "ProjectMap": {
+    "7b9f358f-8c59-4972-9246-a3e59e9f5664": {
+      "ProjectGuid": "7b9f358f-8c59-4972-9246-a3e59e9f5664",
+      "DisplayName": "rkismvvm",
+      "ColorIndex": 0
+    }
+  },
+  "NextColorIndex": 1
+}

BIN
.vs/mvvmRKIS/v17/.futdcache.v1


BIN
.vs/mvvmRKIS/v17/.suo


BIN
.vs/rkismvvm/DesignTimeBuild/.dtbcache.v2


BIN
.vs/rkismvvm/FileContentIndex/3cfe28ef-71bc-4f70-a645-e1712a404be7.vsidx


BIN
.vs/rkismvvm/FileContentIndex/41f57349-cd52-435c-9de4-a271dfcb0e13.vsidx


BIN
.vs/rkismvvm/FileContentIndex/5c4794a3-7b1d-42ad-9384-a4e517495152.vsidx


BIN
.vs/rkismvvm/FileContentIndex/be6377eb-da81-4d65-8dec-119b2735736e.vsidx


+ 0 - 0
.vs/rkismvvm/FileContentIndex/read.lock


BIN
.vs/rkismvvm/v17/.suo


BIN
.vs/slnx.sqlite


+ 25 - 0
mvvmRKIS.sln

@@ -0,0 +1,25 @@
+
+Microsoft Visual Studio Solution File, Format Version 12.00
+# Visual Studio Version 17
+VisualStudioVersion = 17.0.32126.317
+MinimumVisualStudioVersion = 10.0.40219.1
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "rkismvvm", "rkismvvm\rkismvvm.csproj", "{7B9F358F-8C59-4972-9246-A3E59E9F5664}"
+EndProject
+Global
+	GlobalSection(SolutionConfigurationPlatforms) = preSolution
+		Debug|Any CPU = Debug|Any CPU
+		Release|Any CPU = Release|Any CPU
+	EndGlobalSection
+	GlobalSection(ProjectConfigurationPlatforms) = postSolution
+		{7B9F358F-8C59-4972-9246-A3E59E9F5664}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+		{7B9F358F-8C59-4972-9246-A3E59E9F5664}.Debug|Any CPU.Build.0 = Debug|Any CPU
+		{7B9F358F-8C59-4972-9246-A3E59E9F5664}.Release|Any CPU.ActiveCfg = Release|Any CPU
+		{7B9F358F-8C59-4972-9246-A3E59E9F5664}.Release|Any CPU.Build.0 = Release|Any CPU
+	EndGlobalSection
+	GlobalSection(SolutionProperties) = preSolution
+		HideSolutionNode = FALSE
+	EndGlobalSection
+	GlobalSection(ExtensibilityGlobals) = postSolution
+		SolutionGuid = {F1EB40F1-F229-4C1B-AA54-CA9C81DA0611}
+	EndGlobalSection
+EndGlobal

+ 8 - 0
rkismvvm/.vs/VSWorkspaceState.json

@@ -0,0 +1,8 @@
+{
+  "ExpandedNodes": [
+    "",
+    "\\ViewsModels"
+  ],
+  "SelectedNode": "\\ViewsModels\\TasksViewModel.cs",
+  "PreviewInSolutionExplorer": false
+}

BIN
rkismvvm/.vs/rkismvvm/FileContentIndex/0af6dd69-b233-4b4c-99af-aa254ce7f90b.vsidx


BIN
rkismvvm/.vs/rkismvvm/FileContentIndex/1fc194ab-b55d-4b03-b93f-08a17589e126.vsidx


BIN
rkismvvm/.vs/rkismvvm/FileContentIndex/7e71bf1c-01bb-4216-98cc-6f8c69c557ca.vsidx


BIN
rkismvvm/.vs/rkismvvm/FileContentIndex/dd8fc106-d0b0-4d5a-a38b-0f2b78b0d767.vsidx


+ 0 - 0
rkismvvm/.vs/rkismvvm/FileContentIndex/read.lock


BIN
rkismvvm/.vs/rkismvvm/v17/.suo


BIN
rkismvvm/.vs/slnx.sqlite


+ 9 - 0
rkismvvm/App.xaml

@@ -0,0 +1,9 @@
+<Application x:Class="rkismvvm.App"
+             xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
+             xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
+             xmlns:local="clr-namespace:rkismvvm"
+             StartupUri="/Views/MainWindow.xaml">
+    <Application.Resources>
+         
+    </Application.Resources>
+</Application>

+ 17 - 0
rkismvvm/App.xaml.cs

@@ -0,0 +1,17 @@
+using System;
+using System.Collections.Generic;
+using System.Configuration;
+using System.Data;
+using System.Linq;
+using System.Threading.Tasks;
+using System.Windows;
+
+namespace rkismvvm
+{
+    /// <summary>
+    /// Interaction logic for App.xaml
+    /// </summary>
+    public partial class App : Application
+    {
+    }
+}

+ 10 - 0
rkismvvm/AssemblyInfo.cs

@@ -0,0 +1,10 @@
+using System.Windows;
+
+[assembly: ThemeInfo(
+    ResourceDictionaryLocation.None, //where theme specific resource dictionaries are located
+                                     //(used if a resource is not found in the page,
+                                     // or application resource dictionaries)
+    ResourceDictionaryLocation.SourceAssembly //where the generic resource dictionary is located
+                                              //(used if a resource is not found in the page,
+                                              // app, or any theme specific resource dictionaries)
+)]

+ 18 - 0
rkismvvm/Models/StatusTask.cs

@@ -0,0 +1,18 @@
+using System;
+using System.Collections.Generic;
+
+namespace rkismvvm
+{
+    public partial class StatusTask
+    {
+        public StatusTask()
+        {
+            Tasks = new HashSet<Task>();
+        }
+
+        public int StatusTaskId { get; set; }
+        public string StatusName { get; set; } = null!;
+
+        public virtual ICollection<Task> Tasks { get; set; }
+    }
+}

+ 20 - 0
rkismvvm/Models/Task.cs

@@ -0,0 +1,20 @@
+using System;
+using System.Collections.Generic;
+
+namespace rkismvvm
+{
+    public partial class Task
+    {
+        public int TaskId { get; set; }
+        public string TaskName { get; set; } = null!;
+        public string TaskDescrip { get; set; } = null!;
+        public DateTime TaskDate { get; set; }
+        public int UserGiveId { get; set; }
+        public int UserTakeId { get; set; }
+        public int StatusTaskId { get; set; }
+
+        public virtual StatusTask StatusTask { get; set; } = null!;
+        public virtual User UserGive { get; set; } = null!;
+        public virtual User UserTake { get; set; } = null!;
+    }
+}

+ 25 - 0
rkismvvm/Models/User.cs

@@ -0,0 +1,25 @@
+using System;
+using System.Collections.Generic;
+
+namespace rkismvvm
+{
+    public partial class User
+    {
+        public User()
+        {
+            TaskUserGives = new HashSet<Task>();
+            TaskUserTakes = new HashSet<Task>();
+        }
+
+        public int UserId { get; set; }
+        public string LastName { get; set; } = null!;
+        public string Name { get; set; } = null!;
+        public string MiddleName { get; set; } = null!;
+        public string Login { get; set; } = null!;
+        public string Password { get; set; } = null!;
+        public string PhoneNum { get; set; } = null!;
+
+        public virtual ICollection<Task> TaskUserGives { get; set; }
+        public virtual ICollection<Task> TaskUserTakes { get; set; }
+    }
+}

+ 37 - 0
rkismvvm/RelayCommand.cs

@@ -0,0 +1,37 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+using System.Windows.Input;
+
+namespace rkismvvm
+{
+    public class RelayCommand : ICommand
+    {
+        private Action<object> execute;
+        private Func<object, bool> canExecute;
+
+        public event EventHandler CanExecuteChanged
+        {
+            add { CommandManager.RequerySuggested += value; }
+            remove { CommandManager.RequerySuggested -= value; }
+        }
+
+        public RelayCommand(Action<object> execute, Func<object, bool> canExecute = null)
+        {
+            this.execute = execute;
+            this.canExecute = canExecute;
+        }
+
+        public bool CanExecute(object parameter)
+        {
+            return this.canExecute == null || this.canExecute(parameter);
+        }
+
+        public void Execute(object parameter)
+        {
+            this.execute(parameter);
+        }
+    }
+}

+ 113 - 0
rkismvvm/TaskHelpContext.cs

@@ -0,0 +1,113 @@
+using System;
+using System.Collections.Generic;
+using Microsoft.EntityFrameworkCore;
+using Microsoft.EntityFrameworkCore.Metadata;
+
+namespace rkismvvm
+{
+    public partial class TaskHelpContext : DbContext
+    {
+        public TaskHelpContext()
+        {
+        }
+
+        public TaskHelpContext(DbContextOptions<TaskHelpContext> options)
+            : base(options)
+        {
+        }
+
+        public virtual DbSet<StatusTask> StatusTasks { get; set; } = null!;
+        public virtual DbSet<Task> Tasks { get; set; } = null!;
+        public virtual DbSet<User> Users { get; set; } = null!;
+
+        protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
+        {
+            optionsBuilder.UseLazyLoadingProxies();
+            if (!optionsBuilder.IsConfigured)
+            {
+                optionsBuilder.UseSqlServer("Data Source=(localdb)\\mssqllocaldb; Initial Catalog=TaskHelp;Trusted_Connection=True;");
+
+            }
+        }
+
+        protected override void OnModelCreating(ModelBuilder modelBuilder)
+        {
+            modelBuilder.Entity<StatusTask>(entity =>
+            {
+                
+                entity.ToTable("StatusTask");
+
+                entity.Property(e => e.StatusTaskId)
+                    .ValueGeneratedNever()
+                    .HasColumnName("StatusTaskID");
+
+                entity.Property(e => e.StatusName).HasMaxLength(20);
+            });
+
+            modelBuilder.Entity<Task>(entity =>
+            {
+                entity.ToTable("Task");
+
+                entity.Property(e => e.TaskId)
+                    .ValueGeneratedNever()
+                    .HasColumnName("TaskID");
+
+                entity.Property(e => e.StatusTaskId).HasColumnName("StatusTaskID");
+
+                entity.Property(e => e.TaskDate).HasColumnType("datetime");
+
+                entity.Property(e => e.TaskName).HasMaxLength(50);
+
+                entity.Property(e => e.UserGiveId).HasColumnName("UserGiveID");
+
+                entity.Property(e => e.UserTakeId).HasColumnName("UserTakeID");
+
+                entity.HasOne(d => d.StatusTask)
+                    .WithMany(p => p.Tasks)
+                    .HasForeignKey(d => d.StatusTaskId)
+                    .OnDelete(DeleteBehavior.ClientSetNull)
+                    .HasConstraintName("FK_Task_StatusTask");
+
+                entity.HasOne(d => d.UserGive)
+                    .WithMany(p => p.TaskUserGives)
+                    .HasForeignKey(d => d.UserGiveId)
+                    .OnDelete(DeleteBehavior.ClientSetNull)
+                    .HasConstraintName("FK_Task_User");
+
+                entity.HasOne(d => d.UserTake)
+                    .WithMany(p => p.TaskUserTakes)
+                    .HasForeignKey(d => d.UserTakeId)
+                    .OnDelete(DeleteBehavior.ClientSetNull)
+                    .HasConstraintName("FK_Task_User1");
+            });
+
+            modelBuilder.Entity<User>(entity =>
+            {
+                entity.HasKey(e => e.UserId);
+                entity.ToTable("User");
+
+                entity.Property(e => e.UserId)
+                    .ValueGeneratedNever()
+                    .HasColumnName("UserID");
+
+                entity.Property(e => e.LastName).HasMaxLength(50);
+
+                entity.Property(e => e.Login).HasMaxLength(20);
+
+                entity.Property(e => e.MiddleName).HasMaxLength(50);
+
+                entity.Property(e => e.Name).HasMaxLength(50);
+
+                entity.Property(e => e.Password).HasMaxLength(20);
+
+                entity.Property(e => e.PhoneNum)
+                    .HasMaxLength(11)
+                    .IsFixedLength();
+            });
+
+            OnModelCreatingPartial(modelBuilder);
+        }
+
+        partial void OnModelCreatingPartial(ModelBuilder modelBuilder);
+    }
+}

+ 37 - 0
rkismvvm/Views/ListUsers.xaml

@@ -0,0 +1,37 @@
+<Window x:Class="rkismvvm.Views.ListUsers"
+        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
+        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
+        xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
+        xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
+        xmlns:local="clr-namespace:rkismvvm.Views"
+        mc:Ignorable="d"
+        Title="ListUsers" Height="450" Width="800">
+    <Grid>
+        <Grid.RowDefinitions>
+            <RowDefinition Height="80*"/>
+            <RowDefinition Height="20*"/>
+        </Grid.RowDefinitions>
+        <Grid Grid.Row="1">
+            <Grid.RowDefinitions>
+                <RowDefinition Height="50*"/>
+                <RowDefinition Height="50*"/>
+            </Grid.RowDefinitions>
+            <Grid.ColumnDefinitions>
+                <ColumnDefinition />
+                <ColumnDefinition />
+                <ColumnDefinition />
+                <ColumnDefinition />
+            </Grid.ColumnDefinitions>
+            <Button Grid.Row="0" Grid.Column="0" Grid.RowSpan="2" Content="Назад" Command="{Binding Back}" FontSize="18"/>
+        </Grid>
+        <DataGrid AutoGenerateColumns="False" ItemsSource="{Binding Users}" Grid.Row="0">
+            <DataGrid.Columns>
+                <DataGridTextColumn Header="Логин" Width="*" Binding="{Binding Login}"/>
+                <DataGridTextColumn Header="Имя" Width="*" Binding="{Binding Name}"/>
+                <DataGridTextColumn Header="Фимилия"  Width="*" Binding="{Binding MiddleName}"/>
+                <DataGridTextColumn Header="Отчество" Width="*" Binding="{Binding LastName}"/>
+                <DataGridTextColumn Header="Телефон"  Width="*" Binding="{Binding PhoneNum}"/>
+            </DataGrid.Columns>
+        </DataGrid>
+    </Grid>
+</Window>

+ 29 - 0
rkismvvm/Views/ListUsers.xaml.cs

@@ -0,0 +1,29 @@
+using rkismvvm.ViewsModels;
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+using System.Windows;
+using System.Windows.Controls;
+using System.Windows.Data;
+using System.Windows.Documents;
+using System.Windows.Input;
+using System.Windows.Media;
+using System.Windows.Media.Imaging;
+using System.Windows.Shapes;
+
+namespace rkismvvm.Views
+{
+    /// <summary>
+    /// Логика взаимодействия для ListUsers.xaml
+    /// </summary>
+    public partial class ListUsers : Window
+    {
+        public ListUsers()
+        {
+            DataContext = new ListUsersViewModel();
+            InitializeComponent();
+        }
+    }
+}

+ 36 - 0
rkismvvm/Views/MainWindow.xaml

@@ -0,0 +1,36 @@
+<Window x:Class="rkismvvm.Views.MainWindow"
+        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
+        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
+        xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
+        xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
+        mc:Ignorable="d"
+        Title="MainWindow" Height="400" Width="400">
+
+    <Grid>
+        <Grid.RowDefinitions>
+
+            <RowDefinition Height="50*"></RowDefinition>
+            <RowDefinition Height="25*"></RowDefinition>
+            <RowDefinition Height="25*"></RowDefinition>
+            <RowDefinition Height="25*"></RowDefinition>
+            <RowDefinition Height="25*"></RowDefinition>
+            <RowDefinition Height="25*"></RowDefinition>
+            <RowDefinition Height="25*"></RowDefinition>
+            <RowDefinition Height="50*"></RowDefinition>
+        </Grid.RowDefinitions>
+        <Grid.ColumnDefinitions>
+            <ColumnDefinition  Width="100*"></ColumnDefinition>
+            <ColumnDefinition  Width="25*"></ColumnDefinition>
+            <ColumnDefinition  Width="50*"></ColumnDefinition>
+            <ColumnDefinition  Width="25*"></ColumnDefinition>
+            <ColumnDefinition  Width="100*"></ColumnDefinition>
+        </Grid.ColumnDefinitions>
+        <Button Grid.Column="2" Grid.Row="6" Content="Войти" Command="{Binding Auth}" CommandParameter="{Binding ElementName=PbPassword}" />
+        <Button Grid.Column="1" Grid.ColumnSpan="3" Grid.Row="7" Height="40" Width="120" Content="Зарегистрироваться" Command="{Binding OpenReg}"/>
+        <TextBox Text="{Binding Login}" Grid.Column="1" Grid.Row="2"  Grid.ColumnSpan="3" FontSize="18"  />
+        <PasswordBox Grid.Column="1" Name="PbPassword" Grid.Row="4"  Grid.ColumnSpan="3" FontSize="18"/>
+        <Label Grid.Column="1" Grid.Row="1" Grid.ColumnSpan="3" Content="Логин" HorizontalAlignment="Center" VerticalAlignment="Bottom" FontFamily="Segoe UI" FontWeight="Normal"/>
+        <Label Grid.Column="1" Grid.Row="3" Grid.ColumnSpan="3" Content="Пароль" VerticalAlignment="Bottom" HorizontalAlignment="Center" FontFamily="Segoe UI" FontWeight="Normal"/>
+
+    </Grid>
+</Window>

+ 30 - 0
rkismvvm/Views/MainWindow.xaml.cs

@@ -0,0 +1,30 @@
+using rkismvvm.ViewsModels;
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+using System.Windows;
+using System.Windows.Controls;
+using System.Windows.Data;
+using System.Windows.Documents;
+using System.Windows.Input;
+using System.Windows.Media;
+using System.Windows.Media.Imaging;
+using System.Windows.Navigation;
+using System.Windows.Shapes;
+
+namespace rkismvvm.Views
+{
+    /// <summary>
+    /// Interaction logic for MainWindow.xaml
+    /// </summary>
+    public partial class MainWindow : Window
+    {
+        public MainWindow()
+        {
+            DataContext = new MainWindowViewModel();
+            InitializeComponent();
+        }
+    }
+}

+ 32 - 0
rkismvvm/Views/MenuWindow.xaml

@@ -0,0 +1,32 @@
+<Window x:Class="rkismvvm.Views.MenuWindow"
+        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
+        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
+        xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
+        xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
+        mc:Ignorable="d"
+        Title="Menu" Height="400" Width="400">
+
+    <Grid>
+        <Grid.RowDefinitions>
+            <RowDefinition Height="50*"/>
+            <RowDefinition Height="10*"/>
+            <RowDefinition Height="50*"/>
+            <RowDefinition Height="10*"/>
+            <RowDefinition Height="50*"/>
+
+        </Grid.RowDefinitions>
+        <Grid.ColumnDefinitions>
+            <ColumnDefinition Width="50*"/>
+            <ColumnDefinition Width="10*"/>
+            <ColumnDefinition Width="50*"/>
+            <ColumnDefinition Width="10*"/>
+            <ColumnDefinition Width="50*"/>
+        </Grid.ColumnDefinitions>
+        <Button Grid.Row="2" Grid.Column="0" Content="Профиль" FontSize="16" Command="{Binding OpenProfile}"/>
+        <Button Grid.Row="2" Grid.Column="2" Content="Пользователи"  FontSize="16" Command="{Binding OpenUsers}"/>
+        <Button Grid.Row="2" Grid.Column="4" Content="Задачи" FontSize="16" Command="{Binding OpenTasks}" />
+        <Button Grid.Row="5" Grid.Column="4" Content="Мои Задачи" FontSize="16" Command="{Binding OpenMyTask}" />
+        <Button Grid.Row="5" Grid.Column="2" Content="История задач" FontSize="16" Command="{Binding OpenTaskHistory}" />
+        <Button Grid.Row="5" Grid.Column="0" Content="Создать отчет" FontSize="16" Command="{Binding CreateReport}" />
+    </Grid>
+</Window>

+ 29 - 0
rkismvvm/Views/MenuWindow.xaml.cs

@@ -0,0 +1,29 @@
+using rkismvvm.ViewsModels;
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+using System.Windows;
+using System.Windows.Controls;
+using System.Windows.Data;
+using System.Windows.Documents;
+using System.Windows.Input;
+using System.Windows.Media;
+using System.Windows.Media.Imaging;
+using System.Windows.Shapes;
+
+namespace rkismvvm.Views
+{
+    /// <summary>
+    /// Логика взаимодействия для MenuWindow.xaml
+    /// </summary>
+    public partial class MenuWindow : Window
+    {
+        public MenuWindow()
+        {
+            DataContext = new MainMenuViewModel();
+            InitializeComponent();
+        }
+    }
+}

+ 41 - 0
rkismvvm/Views/MyTasks.xaml

@@ -0,0 +1,41 @@
+<Window x:Class="rkismvvm.Views.MyTasks"
+        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
+        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
+        xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
+        xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
+        xmlns:local="clr-namespace:rkismvvm.Views" 
+        mc:Ignorable="d"
+        Title="MyTasks" Height="450" Width="800">
+    <Grid>
+        <Grid.RowDefinitions>
+            <RowDefinition Height="80*"/>
+            <RowDefinition Height="20*"/>
+        </Grid.RowDefinitions>
+        <Grid Grid.Row="1">
+            <Grid.RowDefinitions>
+                <RowDefinition Height="50*"/>
+                <RowDefinition Height="50*"/>
+            </Grid.RowDefinitions>
+            <Grid.ColumnDefinitions>
+                <ColumnDefinition />
+                <ColumnDefinition />
+                <ColumnDefinition />
+                <ColumnDefinition />
+            </Grid.ColumnDefinitions>
+            <Button Grid.Row="0" Grid.Column="0" Grid.RowSpan="2" Content="Назад" Command="{Binding Back}" FontSize="18"/>
+            <Button Grid.Row="0" Grid.Column="2" Grid.RowSpan="2" Content="Обновить статус" Command="{Binding UpdateCommand}" FontSize="18"/>
+        </Grid>
+        <DataGrid AutoGenerateColumns="False" ItemsSource="{Binding Tasks}" SelectedItem="{Binding SelectedTask}"  Grid.Row="0">
+            <DataGrid.Columns>
+                <DataGridTextColumn Header="Номер"  Width="20*" Binding="{Binding TaskId}"/>
+                <DataGridTextColumn Header="Название" Width="50*" Binding="{Binding TaskName}"/>
+                <DataGridTextColumn Header="Описание"  Width="50*" Binding="{Binding TaskDescrip}"/>
+                <DataGridTextColumn Header="Дата создания" Width="50*" Binding="{Binding TaskDate}"/>
+                <DataGridTextColumn Header="Имя создавшего"  Width="50*" Binding="{Binding UserGive.Login}"/>
+                <DataGridTextColumn Header="Принявший" Width="50*" Binding="{Binding UserTake.Login}"/>
+                <DataGridTextColumn Header="Статус" Width="50*" Binding="{Binding StatusTask.StatusName}"/>
+            </DataGrid.Columns>
+        </DataGrid>
+
+    </Grid>
+</Window>

+ 29 - 0
rkismvvm/Views/MyTasks.xaml.cs

@@ -0,0 +1,29 @@
+using rkismvvm.ViewsModels;
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+using System.Windows;
+using System.Windows.Controls;
+using System.Windows.Data;
+using System.Windows.Documents;
+using System.Windows.Input;
+using System.Windows.Media;
+using System.Windows.Media.Imaging;
+using System.Windows.Shapes;
+
+namespace rkismvvm.Views
+{
+    /// <summary>
+    /// Логика взаимодействия для MyTasks.xaml
+    /// </summary>
+    public partial class MyTasks : Window
+    {
+        public MyTasks()
+        {
+            InitializeComponent();
+            DataContext = new MyTaskViewModel();
+        }
+    }
+}

+ 30 - 0
rkismvvm/Views/Profile.xaml

@@ -0,0 +1,30 @@
+<Window x:Class="rkismvvm.Views.Profile"
+        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
+        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
+        xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
+        xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
+        xmlns:local="clr-namespace:rkismvvm.Views"
+        mc:Ignorable="d"
+        Title="Profile" Height="400" Width="400">
+    <Grid>
+        <Grid.ColumnDefinitions>
+            <ColumnDefinition/>
+
+        </Grid.ColumnDefinitions>
+        <Grid.RowDefinitions>
+            <RowDefinition/>
+            <RowDefinition/>
+            <RowDefinition/>
+            <RowDefinition/>
+            <RowDefinition/>
+            <RowDefinition/>
+        </Grid.RowDefinitions>
+        <Label Grid.Row="0" Grid.Column="0" Grid.ColumnSpan="2" Content="{Binding User.LastName}" HorizontalContentAlignment="Center" HorizontalAlignment="Center" FontSize="16"/>
+        <Label Grid.Row="1" Grid.Column="0" Grid.ColumnSpan="2" Content="{Binding User.Name}" HorizontalContentAlignment="Center" HorizontalAlignment="Center" FontSize="16"/>
+        <Label Grid.Row="2" Grid.Column="0" Grid.ColumnSpan="2" Content="{Binding User.MiddleName}" HorizontalContentAlignment="Center" HorizontalAlignment="Center" FontSize="16"/>
+        <Label Grid.Row="3" Grid.Column="0" Grid.ColumnSpan="2" Content="{Binding User.Login}" HorizontalContentAlignment="Center" HorizontalAlignment="Center" FontSize="16"/>
+        <Label Grid.Row="4" Grid.Column="0" Grid.ColumnSpan="2" Content="{Binding User.PhoneNum}" HorizontalContentAlignment="Center" HorizontalAlignment="Center" FontSize="16"/>
+        <Button Grid.Row="5"  Width="150" Content="Назад" Command="{Binding Back}" FontSize="18"/>
+
+    </Grid>
+</Window>

+ 29 - 0
rkismvvm/Views/Profile.xaml.cs

@@ -0,0 +1,29 @@
+using rkismvvm.ViewsModels;
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+using System.Windows;
+using System.Windows.Controls;
+using System.Windows.Data;
+using System.Windows.Documents;
+using System.Windows.Input;
+using System.Windows.Media;
+using System.Windows.Media.Imaging;
+using System.Windows.Shapes;
+
+namespace rkismvvm.Views
+{
+    /// <summary>
+    /// Логика взаимодействия для Profile.xaml
+    /// </summary>
+    public partial class Profile : Window
+    {
+        public Profile()
+        {
+            DataContext = new ProfileViewModel();
+            InitializeComponent();
+        }
+    }
+}

+ 40 - 0
rkismvvm/Views/Registration.xaml

@@ -0,0 +1,40 @@
+<Window x:Class="rkismvvm.Views.Registration"
+        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
+        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
+        xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
+        xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
+        xmlns:local="clr-namespace:rkismvvm.Views"
+        mc:Ignorable="d"
+        Title="Registration" Height="400" Width="800">
+    <Grid>
+        <Grid.ColumnDefinitions>
+            <ColumnDefinition Width="40*"/>
+            <ColumnDefinition Width="60*"/>
+
+        </Grid.ColumnDefinitions>
+        <Grid.RowDefinitions>
+            <RowDefinition/>
+            <RowDefinition/>
+            <RowDefinition/>
+            <RowDefinition/>
+            <RowDefinition/>
+            <RowDefinition/>
+            <RowDefinition/>
+        </Grid.RowDefinitions>
+        <TextBox Grid.Row="0" Grid.Column="1" Text="{Binding LastName}" Height="40" FontSize="16"/>
+        <TextBox Grid.Row="1" Grid.Column="1" Text="{Binding Name}"  Height="40" FontSize="16"/>
+        <TextBox Grid.Row="2" Grid.Column="1" Text="{Binding MiddleName}"  Height="40" FontSize="16"/>
+        <TextBox Grid.Row="3" Grid.Column="1" Text="{Binding PhoneNum}"  Height="40" FontSize="16"/>
+        <TextBox Grid.Row="4" Grid.Column="1" Text="{Binding Login}"  Height="40" FontSize="16"/>
+        <PasswordBox  Grid.Row="5"  Grid.Column="1" Name="PbPassword" Height="40" FontSize="16" />
+        <Label   Grid.Row="0" Grid.Column="0"  Content="Фамилия" FontSize="16" HorizontalAlignment="Left" VerticalAlignment="Center"/>
+        <Label   Grid.Row="1" Grid.Column="0"  Content="Имя" FontSize="16" HorizontalAlignment="Left" VerticalAlignment="Center"/>
+        <Label   Grid.Row="2" Grid.Column="0"  Content="Отчество" FontSize="16" HorizontalAlignment="Left" VerticalAlignment="Center"/>
+        <Label   Grid.Row="3" Grid.Column="0"  Content="Номер тел. (79005553535)" FontSize="16" HorizontalAlignment="Left" VerticalAlignment="Center"/>
+        <Label   Grid.Row="4" Grid.Column="0"  Content="Логин" FontSize="16" HorizontalAlignment="Left" VerticalAlignment="Center"/>
+        <Label   Grid.Row="5" Grid.Column="0"  Content="Пароль" FontSize="16" HorizontalAlignment="Left" VerticalAlignment="Center"/>
+
+        <Button Grid.Row="7"  Grid.Column="1" Width="200" Content="Зарегистрироваться" Command="{Binding Reg}" CommandParameter="{Binding ElementName=PbPassword}" FontSize="18"/>
+        <Button Grid.Row="7"  Grid.Column="0" Width="150" Content="Назад" Command="{Binding Back}" FontSize="18"/>
+    </Grid>
+</Window>

+ 29 - 0
rkismvvm/Views/Registration.xaml.cs

@@ -0,0 +1,29 @@
+using rkismvvm.ViewsModels;
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+using System.Windows;
+using System.Windows.Controls;
+using System.Windows.Data;
+using System.Windows.Documents;
+using System.Windows.Input;
+using System.Windows.Media;
+using System.Windows.Media.Imaging;
+using System.Windows.Shapes;
+
+namespace rkismvvm.Views
+{
+    /// <summary>
+    /// Логика взаимодействия для Registration.xaml
+    /// </summary>
+    public partial class Registration : Window
+    {
+        public Registration()
+        {
+            InitializeComponent();
+            DataContext = new RegistrationViewModel();
+        }
+    }
+}

+ 40 - 0
rkismvvm/Views/TaskHistory.xaml

@@ -0,0 +1,40 @@
+<Window x:Class="rkismvvm.Views.TaskHistory"
+        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
+        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
+        xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
+        xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
+        xmlns:local="clr-namespace:rkismvvm.Views"
+        mc:Ignorable="d"
+        Title="TaskHistory" Height="450" Width="800">
+    <Grid>
+        <Grid.RowDefinitions>
+            <RowDefinition Height="80*"/>
+            <RowDefinition Height="20*"/>
+        </Grid.RowDefinitions>
+        <Grid Grid.Row="1">
+            <Grid.RowDefinitions>
+                <RowDefinition Height="50*"/>
+                <RowDefinition Height="50*"/>
+            </Grid.RowDefinitions>
+            <Grid.ColumnDefinitions>
+                <ColumnDefinition />
+                <ColumnDefinition/>
+                <ColumnDefinition />
+                <ColumnDefinition/>
+            </Grid.ColumnDefinitions>
+            <Button Grid.Row="0" Grid.Column="0" Grid.RowSpan="2" Content="Назад" Command="{Binding Back}" FontSize="18" />
+        </Grid>
+        <DataGrid AutoGenerateColumns="False" ItemsSource="{Binding Tasks}"  Grid.Row="0">
+            <DataGrid.Columns>
+                <DataGridTextColumn Header="Номер"  Width="20*" Binding="{Binding TaskId}"/>
+                <DataGridTextColumn Header="Название" Width="50*" Binding="{Binding TaskName}"/>
+                <DataGridTextColumn Header="Описание"  Width="50*" Binding="{Binding TaskDescrip}"/>
+                <DataGridTextColumn Header="Дата создания" Width="50*" Binding="{Binding TaskDate}"/>
+                <DataGridTextColumn Header="Имя создавшего"  Width="50*" Binding="{Binding UserGive.Login}"/>
+                <DataGridTextColumn Header="Принявший" Width="50*" Binding="{Binding UserTake.Login}"/>
+                <DataGridTextColumn Header="Статус" Width="50*" Binding="{Binding StatusTask.StatusName}"/>
+            </DataGrid.Columns>
+        </DataGrid>
+
+    </Grid>
+</Window>

+ 29 - 0
rkismvvm/Views/TaskHistory.xaml.cs

@@ -0,0 +1,29 @@
+using rkismvvm.ViewsModels;
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+using System.Windows;
+using System.Windows.Controls;
+using System.Windows.Data;
+using System.Windows.Documents;
+using System.Windows.Input;
+using System.Windows.Media;
+using System.Windows.Media.Imaging;
+using System.Windows.Shapes;
+
+namespace rkismvvm.Views
+{
+    /// <summary>
+    /// Логика взаимодействия для TaskHistory.xaml
+    /// </summary>
+    public partial class TaskHistory : Window
+    {
+        public TaskHistory()
+        {
+            InitializeComponent();
+            DataContext = new TaskHistoryViewModel();
+        }
+    }
+}

+ 44 - 0
rkismvvm/Views/Tasks.xaml

@@ -0,0 +1,44 @@
+<Window x:Class="rkismvvm.Views.Tasks"
+        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
+        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
+        xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
+        xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
+        xmlns:local="clr-namespace:rkismvvm.Views"
+        mc:Ignorable="d"
+        Title="Tasks" Height="450" Width="800">
+    <Grid>
+        <Grid.RowDefinitions>
+            <RowDefinition Height="80*"/>
+            <RowDefinition Height="20*"/>
+        </Grid.RowDefinitions>
+        <Grid Grid.Row="1">
+            <Grid.RowDefinitions>
+                <RowDefinition Height="50*"/>
+                <RowDefinition Height="50*"/>
+            </Grid.RowDefinitions>
+            <Grid.ColumnDefinitions>
+                <ColumnDefinition />
+                <ColumnDefinition />
+                <ColumnDefinition />
+                <ColumnDefinition />
+            </Grid.ColumnDefinitions>
+            <Button Grid.Row="0" Grid.Column="0" Grid.RowSpan="2" Content="Назад" Command="{Binding Back}" FontSize="18"/>
+            <Button Grid.Row="0" Grid.Column="2" Grid.RowSpan="2" Content="Взять задачу" Command="{Binding UpdateCommand}" FontSize="18"/>
+
+            <TextBox Grid.Row="0" Grid.Column="1" FontSize="16" Width="200" Height="31" Cursor="Arrow" Text="{Binding Login, UpdateSourceTrigger=PropertyChanged}"/>
+            <Button Grid.Row="1" Grid.Column="1" Content="Найти по логину" Command="{Binding Find}" Cursor="Hand" Width="150"/>
+        </Grid>
+        <DataGrid AutoGenerateColumns="False" ItemsSource="{Binding Tasks}" SelectedItem="{Binding SelectedTask}"  Grid.Row="0">
+            <DataGrid.Columns>
+                <DataGridTextColumn Header="Номер"  Width="20*" Binding="{Binding TaskId}"/>
+                <DataGridTextColumn Header="Название" Width="50*" Binding="{Binding TaskName}"/>
+                <DataGridTextColumn Header="Описание"  Width="50*" Binding="{Binding TaskDescrip}"/>
+                <DataGridTextColumn Header="Дата создания" Width="50*" Binding="{Binding TaskDate}"/>
+                <DataGridTextColumn Header="Имя создавшего"  Width="50*" Binding="{Binding UserGive.Login}"/>
+                <DataGridTextColumn Header="Принявший" Width="50*" Binding="{Binding UserTake.Login}"/>
+                <DataGridTextColumn Header="Статус" Width="50*" Binding="{Binding StatusTask.StatusName}"/>
+
+            </DataGrid.Columns>
+        </DataGrid>
+    </Grid>
+</Window>

+ 29 - 0
rkismvvm/Views/Tasks.xaml.cs

@@ -0,0 +1,29 @@
+using rkismvvm.ViewsModels;
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+using System.Windows;
+using System.Windows.Controls;
+using System.Windows.Data;
+using System.Windows.Documents;
+using System.Windows.Input;
+using System.Windows.Media;
+using System.Windows.Media.Imaging;
+using System.Windows.Shapes;
+
+namespace rkismvvm.Views
+{
+    /// <summary>
+    /// Логика взаимодействия для Tasks.xaml
+    /// </summary>
+    public partial class Tasks : Window
+    {
+        public Tasks()
+        {
+            InitializeComponent();
+            DataContext = new TasksViewModel();
+        }
+    }
+}

+ 19 - 0
rkismvvm/ViewsModels/BaseViewModels.cs

@@ -0,0 +1,19 @@
+using System;
+using System.Collections.Generic;
+using System.ComponentModel;
+using System.Linq;
+using System.Runtime.CompilerServices;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace rkismvvm.ViewsModels
+{
+    public class BaseViewModel : INotifyPropertyChanged
+    {
+        public event PropertyChangedEventHandler PropertyChanged;
+        public void OnPropertyChanged([CallerMemberName] string property = "")
+        {
+            PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(property));
+        }
+    }
+}

+ 49 - 0
rkismvvm/ViewsModels/ListUsersViewModel.cs

@@ -0,0 +1,49 @@
+using rkismvvm.Views;
+using System;
+using System.Collections.Generic;
+using System.Collections.ObjectModel;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace rkismvvm.ViewsModels
+{
+    public class ListUsersViewModel: BaseViewModel
+    {
+        private RelayCommand _back;
+        public RelayCommand Back
+        {
+            get
+            {
+                return _back ??
+                (_back = new RelayCommand(obj =>
+                {
+                    MenuWindow menu = new MenuWindow();
+                    menu.Show();
+                    foreach (var win in App.Current.Windows)
+                    {
+                        if (win is ListUsers list)
+                        {
+                            list.Close();
+                        }
+                    }
+                }));
+            }
+        }
+        private ObservableCollection<User> _users;
+        public ObservableCollection<User> Users
+        {
+            get => _users;
+            set
+            {
+                _users = value;
+                OnPropertyChanged();
+            }
+        }
+        public ListUsersViewModel()
+        {
+            TaskHelpContext contex = new TaskHelpContext();
+            Users = new ObservableCollection<User>(contex.Users);
+        }
+    }
+}

+ 79 - 0
rkismvvm/ViewsModels/MainWindowViewModel.cs

@@ -0,0 +1,79 @@
+using rkismvvm.Views;
+using System;
+using System.Collections.Generic;
+using System.Collections.ObjectModel;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+using System.Windows;
+using System.Windows.Controls;
+
+
+namespace rkismvvm.ViewsModels
+{
+    public class MainWindowViewModel : BaseViewModel
+    {
+        private static string _login;
+        public static string Login
+        {
+            get { return _login; }
+            set
+            {
+                _login = value;
+                BaseViewModel baseViewModel = new BaseViewModel();
+                baseViewModel.OnPropertyChanged();
+            }
+        }
+        public static User CurrentUser { get; set; }
+
+        private RelayCommand _auth;
+        public RelayCommand Auth
+        {
+            get
+            {
+                return _auth ?? (_auth = new RelayCommand(x =>
+                {
+                    var password = ((PasswordBox)x).Password;
+                    TaskHelpContext context = new TaskHelpContext();
+                    var user = context.Users.FirstOrDefault(x => x.Login == _login && x.Password == password);
+                    if (user != null)
+                    {
+                        CurrentUser = user;
+                        MenuWindow mw = new MenuWindow();
+                        mw.Show();
+                            foreach (var win in App.Current.Windows)
+                            {
+                                if (win is MainWindow mainwindow)
+                                {
+                                    mainwindow.Close();
+                                }
+                            }
+                    }
+                    else
+                        MessageBox.Show("Плохо", "Регистрация", MessageBoxButton.OK);
+
+                }));
+            }
+        }
+        private RelayCommand _openreg;
+        public RelayCommand OpenReg
+        {
+            get
+            {
+                return _openreg ??
+                (_openreg = new RelayCommand(x =>
+                {
+                    Registration registration = new Registration();
+                    registration.Show();
+                    foreach (var win in App.Current.Windows)
+                    {
+                        if (win is MainWindow mw)
+                        {
+                            mw.Close();
+                        }
+                    }
+                }));
+            }
+        }
+    }
+}

+ 243 - 0
rkismvvm/ViewsModels/MenuViewModel.cs

@@ -0,0 +1,243 @@
+using Microsoft.Win32;
+using rkismvvm.Views;
+using System;
+using System.Collections.Generic;
+using System.Collections.ObjectModel;
+using System.ComponentModel;
+using System.Linq;
+using System.Runtime.CompilerServices;
+using System.Text;
+using System.Threading.Tasks;
+using Excel = Microsoft.Office.Interop.Excel;
+using Word = Microsoft.Office.Interop.Word;
+
+namespace rkismvvm.ViewsModels
+{
+    public class MainMenuViewModel : BaseViewModel
+    {
+
+        private RelayCommand _opentasks;
+        public RelayCommand OpenTasks
+        {
+            get
+            {
+                return _opentasks ??
+                (_opentasks = new RelayCommand(obj =>
+                {
+
+                    Tasks tasks = new Tasks();
+                    tasks.Show();
+                    foreach (var win in App.Current.Windows)
+                    {
+                        if (win is MenuWindow mw)
+                        {
+                            mw.Close();
+                        }
+                    }
+                }));
+            }
+        }
+        private RelayCommand _openusers;
+        public RelayCommand OpenUsers
+        {
+            get
+            {
+                return _openusers ??
+                (_openusers = new RelayCommand(x =>
+                {
+                    ListUsers listUsers = new ListUsers();
+                    listUsers.Show();
+                    foreach (var win in App.Current.Windows)
+                    {
+                        if (win is MenuWindow mw)
+                        {
+                            mw.Close();
+                        }
+                    }
+                }));
+            }
+        }
+        private RelayCommand _openprofile;
+        public RelayCommand OpenProfile
+        {
+            get
+            {
+                return _openprofile ??
+                (_openprofile = new RelayCommand(x =>
+                {
+                    Profile profile = new Profile();
+                    profile.Show();
+                    foreach (var win in App.Current.Windows)
+                    {
+                        if (win is MenuWindow mw)
+                        {
+                            mw.Close();
+                        }
+                    }
+                }));
+            }
+        }
+        private RelayCommand _openmytask;
+        public RelayCommand OpenMyTask
+        {
+            get
+            {
+                return _openmytask ??
+                (_openmytask = new RelayCommand(x =>
+                {
+                    MyTasks myTasks = new MyTasks();
+                    myTasks.Show();
+                    foreach (var win in App.Current.Windows)
+                    {
+                        if (win is MenuWindow mw)
+                        {
+                            mw.Close();
+                        }
+                    }
+                }));
+            }
+
+
+        }
+        private RelayCommand _opentaskhistory;
+        public RelayCommand OpenTaskHistory
+        {
+            get
+            {
+                return _opentaskhistory ??
+                (_opentaskhistory = new RelayCommand(x =>
+                {
+                    TaskHistory history = new TaskHistory();
+                    history.Show();
+                    foreach (var win in App.Current.Windows)
+                    {
+                        if (win is MenuWindow mw)
+                        {
+                            mw.Close();
+                        }
+                    }
+                }));
+            }
+
+
+        }
+        
+            private ObservableCollection<Task> _tasks;
+            public ObservableCollection<Task> Tasks
+            {
+                get => _tasks;
+                set
+                {
+                    _tasks = value;
+                    OnPropertyChanged();
+                }
+            }
+            public MainMenuViewModel()
+            {
+                TaskHelpContext context = new TaskHelpContext();
+                Tasks = new ObservableCollection<Task>(context.Tasks);
+            }
+            private RelayCommand _createreport;
+            public RelayCommand CreateReport
+            {
+                get => _createreport ??
+                    (_createreport = new RelayCommand((x) =>
+                    {
+                        SaveFileDialog saveFile = new SaveFileDialog();
+                        saveFile.FileName = "report";
+                        saveFile.Filter = "Excel files (.xlsx)|*.xlsx|Word files (.docx)|*.docx|Pdf files (.pdf)|*.pdf";
+                        if (saveFile.ShowDialog() == true)
+                        {
+                            switch (saveFile.FilterIndex)
+                            {
+                                case 1:
+                                    Excel.Application app = new Excel.Application();
+                                    Excel.Workbook workbook = app.Workbooks.Add();
+                                    Excel.Worksheet worksheet = app.Worksheets[1];
+                                    worksheet.Name = "Задачи";
+                                    worksheet.Range["A1"].Value = "Номер";
+                                    worksheet.Range["B1"].Value = "Наименование";
+                                    worksheet.Range["C1"].Value = "Описание";
+                                    worksheet.Range["D1"].Value = "Дата публикации";
+                                    worksheet.Range["E1"].Value = "Создатель";
+                                    worksheet.Range["F1"].Value = "Исполнитель";
+                                    worksheet.Range["G1"].Value = "Статус";
+
+                                    for (int i = 0; i < _tasks.Count; i++)
+                                    {
+                                        if (_tasks[i] != null)
+                                        {
+                                            var task = _tasks[i];
+                                            worksheet.Range[$"A{i + 2}"].Value = task.TaskId;
+                                            worksheet.Range[$"B{i + 2}"].Value = task.TaskName;
+                                            worksheet.Range[$"C{i + 2}"].Value = task.TaskDescrip;
+                                            worksheet.Range[$"D{i + 2}"].Value = task.TaskDate;
+                                            worksheet.Range[$"E{i + 2}"].Value = task.UserGive.LastName + " " + task.UserGive.Name + " " + task.UserGive.MiddleName;
+                                            worksheet.Range[$"F{i + 2}"].Value = task.UserTake.LastName + " " + task.UserTake.Name + " " + task.UserTake.MiddleName;
+                                            worksheet.Range[$"G{i + 2}"].Value = task.StatusTask.StatusName;
+                                        }
+                                    }
+                                    workbook.SaveAs(saveFile.FileName);
+                                    workbook.Close();
+                                    app.Quit();
+                                    break;
+                                case 2:
+                                case 3:
+                                    Word.Application wordApp = new Word.Application();
+                                    Word.Document document = wordApp.Documents.Add();
+                                    Word.Paragraph paragraph = document.Paragraphs.Add();
+                                    Word.Range range = paragraph.Range;
+                                    Word.Table table = document.Tables.Add(range, _tasks.Count + 1, 7);
+                                    Word.Range cellRange;
+                                    cellRange = table.Cell(1, 1).Range;
+                                    cellRange.Text = "Номер";
+                                    cellRange = table.Cell(1, 2).Range;
+                                    cellRange.Text = "Наименование";
+                                    cellRange = table.Cell(1, 3).Range;
+                                    cellRange.Text = "Описание";
+                                    cellRange = table.Cell(1, 4).Range;
+                                    cellRange.Text = "Дата публикации";
+                                    cellRange = table.Cell(1, 5).Range;
+                                    cellRange.Text = "Создатель";
+                                    cellRange = table.Cell(1, 6).Range;
+                                    cellRange.Text = "Исполнитель";
+                                    cellRange = table.Cell(1, 7).Range;
+                                    cellRange.Text = "Статус";
+                                    for (int i = 0; i < _tasks.Count; i++)
+                                    {
+                                        var task = _tasks[i];
+                                        cellRange = table.Cell(i + 2, 1).Range;
+                                        cellRange.Text = task.TaskId.ToString();
+                                        cellRange = table.Cell(i + 2, 2).Range;
+                                        cellRange.Text = task.TaskName;
+                                        cellRange = table.Cell(i + 2, 3).Range;
+                                        cellRange.Text = task.TaskDescrip;
+                                        cellRange = table.Cell(i + 2, 4).Range;
+                                        cellRange.Text = task.TaskDate.ToString("d");
+                                        cellRange = table.Cell(i + 2, 5).Range;
+                                        cellRange.Text = task.UserGive.LastName + " " + task.UserGive.Name + " " + task.UserGive.MiddleName;
+                                        cellRange = table.Cell(i + 2, 6).Range;
+                                        cellRange.Text = task.UserTake.LastName + " " + task.UserTake.Name + " " + task.UserTake.MiddleName;
+                                        cellRange = table.Cell(i + 2, 7).Range;
+                                        cellRange.Text = task.StatusTask.StatusName;
+
+                                    }
+                                    if (saveFile.FilterIndex == 2)
+                                    {
+                                        document.SaveAs2(saveFile.FileName);
+                                    }
+                                    else
+                                    {
+                                        document.SaveAs2(saveFile.FileName, Word.WdSaveFormat.wdFormatPDF);
+                                    }
+                                    break;
+                            }
+                        }
+
+                    }));
+            }
+
+    }
+
+}
+

+ 113 - 0
rkismvvm/ViewsModels/MyTaskViewModel.cs

@@ -0,0 +1,113 @@
+using rkismvvm.Views;
+using System;
+using System.Collections.Generic;
+using System.Collections.ObjectModel;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+using System.Windows;
+
+namespace rkismvvm.ViewsModels
+{
+    public class MyTaskViewModel : BaseViewModel
+    {
+        private RelayCommand _back;
+        public RelayCommand Back
+        {
+            get
+            {
+                return _back ??
+                (_back = new RelayCommand(obj =>
+                {
+                    MenuWindow menu = new MenuWindow();
+                    menu.Show();
+                    foreach (var win in App.Current.Windows)
+                    {
+                        if (win is MyTasks mytasks)
+                        {
+                            mytasks.Close();
+                        }
+                    }
+                }));
+            }
+        }
+        private ObservableCollection<Task> _tasks;
+        public ObservableCollection<Task> Tasks
+        {
+            get => _tasks;
+            set
+            {
+                _tasks = value;
+                OnPropertyChanged();
+            }
+        }
+        private User _user;
+        public User User
+        {
+            get => _user;
+            set
+            {
+                _user = value;
+                OnPropertyChanged();
+            }
+        }
+
+        private Task _selectedtask;
+        public Task SelectedTask
+        {
+            get => _selectedtask;
+            set
+            {
+                _selectedtask = value;
+                OnPropertyChanged();
+            }
+        }
+        private RelayCommand? _update;
+        public RelayCommand UpdateCommand
+        {
+            get
+            {
+                return _update ??
+                    (_update = new RelayCommand(x =>
+
+                    {
+                        if (_selectedtask== null)
+                        {
+                            MessageBox.Show("Выберете задачу", "Изменение статуса", MessageBoxButton.OK);
+                            return;
+
+                        }
+                        int st= _selectedtask.StatusTaskId;
+                        TaskHelpContext context = new TaskHelpContext();
+                        var task = context.Tasks.FirstOrDefault(x => x.TaskId == _selectedtask.TaskId);
+
+
+                        if (task.StatusTaskId==3)
+                        {
+                            st = 1;
+                        }
+                        else
+                        {
+                            st++;
+                        }
+                        task.StatusTaskId = st;
+                        task.StatusTask = context.StatusTasks.Find(st);
+                        context.SaveChanges();
+                        Tasks.Clear();
+                        Tasks = new ObservableCollection<Task>(context.Tasks.Where(x => x.UserGive.UserId == _user.UserId));
+                        OnPropertyChanged(nameof(Tasks));
+                    }
+                    ));
+            }
+        }
+
+
+        public MyTaskViewModel()
+        {
+            _user = MainWindowViewModel.CurrentUser;
+            TaskHelpContext context = new TaskHelpContext();
+            Tasks = new ObservableCollection<Task>(context.Tasks.Where(x => x.UserGive.UserId == _user.UserId));
+        }
+
+    }
+}

+ 51 - 0
rkismvvm/ViewsModels/ProfileViewModel.cs

@@ -0,0 +1,51 @@
+using rkismvvm.Views;
+using System;
+using System.Collections.Generic;
+using System.ComponentModel;
+using System.Linq;
+using System.Runtime.CompilerServices;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace rkismvvm.ViewsModels
+{
+    class ProfileViewModel : BaseViewModel
+    {
+       
+        private RelayCommand _back;
+        public RelayCommand Back
+        {
+            get
+            {
+                return _back ??
+                (_back = new RelayCommand(obj =>
+                {
+                    MenuWindow menu = new MenuWindow();
+                    menu.Show();
+                    foreach (var win in App.Current.Windows)
+                    {
+                        if (win is Profile profile)
+                        {
+                            profile.Close();
+                        }
+                    }
+                }));
+            }
+        }
+        private User _user;
+        public User User
+        {
+            get => _user;
+            set
+            {
+                _user = value;
+                OnPropertyChanged();
+            }
+        }
+        public ProfileViewModel()
+        {
+            _user = MainWindowViewModel.CurrentUser;
+        }
+
+    }
+}

+ 120 - 0
rkismvvm/ViewsModels/RegistrationViewModel.cs

@@ -0,0 +1,120 @@
+using rkismvvm.Views;
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+using System.Windows;
+using System.Windows.Controls;
+
+namespace rkismvvm.ViewsModels
+{
+    public class RegistrationViewModel: BaseViewModel
+    {
+        private static string _login;
+        public static string Login
+        {
+            get { return _login; }
+            set
+            {
+                _login = value;
+
+            }
+        }
+        private static string _phonenum;
+        public static string PhoneNum
+        {
+            get { return _phonenum; }
+            set
+            {
+                _phonenum = value;
+
+            }
+        }
+        private static string _lastname;
+        public static string LastName
+        {
+            get { return _lastname; }
+            set
+            {
+                _lastname = value;
+;
+            }
+        }
+        private static string _name;
+        public static string Name
+        {
+            get { return _name; }
+            set
+            {
+                _name = value;
+
+            }
+        }
+        private static string _middlename;
+        public static string MiddleName
+        {
+            get { return _middlename; }
+            set
+            {
+                _middlename = value;
+
+            }
+        }
+
+        private RelayCommand _reg;
+        public RelayCommand Reg
+        {
+            get
+            {
+                return _reg ?? (_reg = new RelayCommand(x =>
+                {
+                    var password = ((PasswordBox)x).Password;
+                    TaskHelpContext context = new TaskHelpContext();
+                    User user = new User
+                    {
+                        UserId = context.Users.Count()+1,
+                        Login = _login,
+                        Password = password,
+                        LastName = _lastname,
+                        Name = _name,
+                        MiddleName = _middlename,
+                        PhoneNum = _phonenum
+                    };
+                    context.Users.Add(user);
+                    context.SaveChanges();
+
+                    MenuWindow mw = new MenuWindow();
+                        mw.Show();
+                        foreach (var win in App.Current.Windows)
+                        {
+                            if (win is Registration registration)
+                            {
+                                registration.Close();
+                            }
+                        }
+                }));
+            }
+        }
+        private RelayCommand _back;
+        public RelayCommand Back
+        {
+            get
+            {
+                return _back ??
+                (_back = new RelayCommand(obj =>
+                {
+                    MainWindow main = new MainWindow();
+                    main.Show();
+                    foreach (var win in App.Current.Windows)
+                    {
+                        if (win is MyTasks mytasks)
+                        {
+                            mytasks.Close();
+                        }
+                    }
+                }));
+            }
+        }
+    }
+}

+ 62 - 0
rkismvvm/ViewsModels/TaskHistoryViewModel.cs

@@ -0,0 +1,62 @@
+using rkismvvm.Views;
+using System;
+using System.Collections.Generic;
+using System.Collections.ObjectModel;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace rkismvvm.ViewsModels
+{
+    public class TaskHistoryViewModel : BaseViewModel
+    {
+        private RelayCommand _back;
+        public RelayCommand Back
+        {
+            get
+            {
+                return _back ??
+                (_back = new RelayCommand(obj =>
+                {
+                    MenuWindow menu = new MenuWindow();
+                    menu.Show();
+                    foreach (var win in App.Current.Windows)
+                    {
+                        if (win is TaskHistory taskhistory)
+                        {
+                            taskhistory.Close();
+                        }
+                    }
+                }));
+            }
+        }
+        private ObservableCollection<Task> _tasks;
+        public ObservableCollection<Task> Tasks
+        {
+            get => _tasks;
+            set
+            {
+                _tasks = value;
+                OnPropertyChanged();
+            }
+        }
+        private User _user;
+        public User User
+        {
+            get => _user;
+            set
+            {
+                _user = value;
+                OnPropertyChanged();
+            }
+        }
+
+        public TaskHistoryViewModel()
+        {
+            _user = MainWindowViewModel.CurrentUser;
+            TaskHelpContext context = new TaskHelpContext();
+            Tasks = new ObservableCollection<Task>(context.Tasks.Where(x => x.UserTake.UserId == _user.UserId && x.StatusTaskId==3));
+        }
+
+    }
+}

+ 122 - 0
rkismvvm/ViewsModels/TasksViewModel.cs

@@ -0,0 +1,122 @@
+using Microsoft.EntityFrameworkCore;
+using rkismvvm.Views;
+using System;
+using System.Collections.Generic;
+using System.Collections.ObjectModel;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+using System.Windows;
+
+namespace rkismvvm.ViewsModels
+{
+    public class TasksViewModel: BaseViewModel
+    {
+        private RelayCommand _back;
+        public RelayCommand Back
+        {
+            get
+            {
+                return _back ??
+                (_back = new RelayCommand(obj =>
+                {
+                    MenuWindow menu = new MenuWindow();
+                    menu.Show();
+                    foreach (var win in App.Current.Windows)
+                    {
+                        if (win is Tasks tasks)
+                        {
+                            tasks.Close();
+                        }
+                    }
+                }));
+            }
+        }
+        private ObservableCollection<Task> _tasks;
+        public ObservableCollection<Task> Tasks
+        {
+            get => _tasks;
+            set
+            {
+                _tasks = value;
+                OnPropertyChanged();
+            }
+        }
+        private Task _selectedtask;
+        public Task SelectedTask
+        {
+            get => _selectedtask;
+            set
+            {
+                _selectedtask = value;
+                OnPropertyChanged();
+            }
+        }
+        private RelayCommand? _update;
+        public RelayCommand UpdateCommand
+        {
+            get
+            {
+                return _update ??
+                    (_update = new RelayCommand(x =>
+
+                    {
+                        if (_selectedtask == null)
+                        {
+                            MessageBox.Show("Выберете задачу", "Изменение статуса", MessageBoxButton.OK);
+                            return;
+
+                        }
+                        TaskHelpContext context = new TaskHelpContext();
+                        var task = context.Tasks.FirstOrDefault(x => x.StatusTaskId == _selectedtask.StatusTaskId );
+                        task.StatusTaskId = 2;
+                        task.StatusTask = context.StatusTasks.Find(2);
+                        context.SaveChanges();
+                        Tasks.Clear();
+                        Tasks = new ObservableCollection<Task>(context.Tasks.Where(x => x.StatusTaskId!=3));
+                        OnPropertyChanged(nameof(Tasks));
+                    }
+                    ));
+            }
+        }
+        private string _login;
+        public string Login
+        {
+            get => _login;
+            set
+            {
+                _login = value;
+                OnPropertyChanged();
+            }
+        }
+        private RelayCommand? _find;
+        public RelayCommand Find
+        {
+            get
+            {
+                return _find ??
+                (_find = new RelayCommand(x =>
+                {
+                    TaskHelpContext context = new TaskHelpContext();
+                    if (_login==null || _login =="")
+                    {
+                        Tasks.Clear();
+                        Tasks = new ObservableCollection<Task>(context.Tasks.Where(x => x.StatusTaskId != 3));
+                        return;
+                    }
+                    var task = context.Tasks.Where(x => x.UserGive.Login == _login);
+                    Tasks.Clear();
+                    Tasks = new ObservableCollection<Task>(task);
+                    OnPropertyChanged(nameof(Tasks));
+                }));
+            }
+        }
+
+        public TasksViewModel()
+        {
+            TaskHelpContext context = new TaskHelpContext();
+            Tasks = new ObservableCollection<Task>(context.Tasks.Where(x => x.StatusTaskId!=3));
+        }
+
+    }
+}

BIN
rkismvvm/bin/Debug/net6.0-windows/Castle.Core.dll


BIN
rkismvvm/bin/Debug/net6.0-windows/Humanizer.dll


BIN
rkismvvm/bin/Debug/net6.0-windows/Microsoft.Data.SqlClient.dll


BIN
rkismvvm/bin/Debug/net6.0-windows/Microsoft.EntityFrameworkCore.Abstractions.dll


BIN
rkismvvm/bin/Debug/net6.0-windows/Microsoft.EntityFrameworkCore.Design.dll


BIN
rkismvvm/bin/Debug/net6.0-windows/Microsoft.EntityFrameworkCore.Proxies.dll


BIN
rkismvvm/bin/Debug/net6.0-windows/Microsoft.EntityFrameworkCore.Relational.dll


BIN
rkismvvm/bin/Debug/net6.0-windows/Microsoft.EntityFrameworkCore.SqlServer.dll


BIN
rkismvvm/bin/Debug/net6.0-windows/Microsoft.EntityFrameworkCore.dll


BIN
rkismvvm/bin/Debug/net6.0-windows/Microsoft.Extensions.Caching.Abstractions.dll


BIN
rkismvvm/bin/Debug/net6.0-windows/Microsoft.Extensions.Caching.Memory.dll


BIN
rkismvvm/bin/Debug/net6.0-windows/Microsoft.Extensions.Configuration.Abstractions.dll


BIN
rkismvvm/bin/Debug/net6.0-windows/Microsoft.Extensions.DependencyInjection.Abstractions.dll


BIN
rkismvvm/bin/Debug/net6.0-windows/Microsoft.Extensions.DependencyInjection.dll


BIN
rkismvvm/bin/Debug/net6.0-windows/Microsoft.Extensions.Logging.Abstractions.dll


BIN
rkismvvm/bin/Debug/net6.0-windows/Microsoft.Extensions.Logging.dll


BIN
rkismvvm/bin/Debug/net6.0-windows/Microsoft.Extensions.Options.dll


BIN
rkismvvm/bin/Debug/net6.0-windows/Microsoft.Extensions.Primitives.dll


BIN
rkismvvm/bin/Debug/net6.0-windows/Microsoft.Identity.Client.dll


BIN
rkismvvm/bin/Debug/net6.0-windows/Microsoft.IdentityModel.JsonWebTokens.dll


BIN
rkismvvm/bin/Debug/net6.0-windows/Microsoft.IdentityModel.Logging.dll


BIN
rkismvvm/bin/Debug/net6.0-windows/Microsoft.IdentityModel.Protocols.OpenIdConnect.dll


BIN
rkismvvm/bin/Debug/net6.0-windows/Microsoft.IdentityModel.Protocols.dll


BIN
rkismvvm/bin/Debug/net6.0-windows/Microsoft.IdentityModel.Tokens.dll


BIN
rkismvvm/bin/Debug/net6.0-windows/Newtonsoft.Json.dll


BIN
rkismvvm/bin/Debug/net6.0-windows/System.IdentityModel.Tokens.Jwt.dll


BIN
rkismvvm/bin/Debug/net6.0-windows/System.Runtime.Caching.dll


BIN
rkismvvm/bin/Debug/net6.0-windows/ref/rkismvvm.dll


La diferencia del archivo ha sido suprimido porque es demasiado grande
+ 2069 - 0
rkismvvm/bin/Debug/net6.0-windows/rkismvvm.deps.json


BIN
rkismvvm/bin/Debug/net6.0-windows/rkismvvm.dll


BIN
rkismvvm/bin/Debug/net6.0-windows/rkismvvm.exe


BIN
rkismvvm/bin/Debug/net6.0-windows/rkismvvm.pdb


+ 15 - 0
rkismvvm/bin/Debug/net6.0-windows/rkismvvm.runtimeconfig.json

@@ -0,0 +1,15 @@
+{
+  "runtimeOptions": {
+    "tfm": "net6.0",
+    "frameworks": [
+      {
+        "name": "Microsoft.NETCore.App",
+        "version": "6.0.0"
+      },
+      {
+        "name": "Microsoft.WindowsDesktop.App",
+        "version": "6.0.0"
+      }
+    ]
+  }
+}

BIN
rkismvvm/bin/Debug/net6.0-windows/runtimes/unix/lib/netcoreapp3.1/Microsoft.Data.SqlClient.dll


BIN
rkismvvm/bin/Debug/net6.0-windows/runtimes/win-arm/native/Microsoft.Data.SqlClient.SNI.dll


+ 0 - 0
rkismvvm/bin/Debug/net6.0-windows/runtimes/win-arm64/native/Microsoft.Data.SqlClient.SNI.dll


Algunos archivos no se mostraron porque demasiados archivos cambiaron en este cambio