commit 632f4decc6ac3db1b42c2d420710164c6b81d530
Author: Milan Hotovec <silent@students.zcu.cz>
Date:   Thu May 27 20:25:07 2021 +0200

    Minor changes

diff --git a/src/Modules/Goal/Application/Leuze.Modules.Goal.Application.UI/Pages/Components/CreateGoalDefinition.razor b/src/Modules/Goal/Application/Leuze.Modules.Goal.Application.UI/Pages/Components/CreateGoalDefinition.razor
deleted file mode 100644
index 0a260fe..0000000
--- a/src/Modules/Goal/Application/Leuze.Modules.Goal.Application.UI/Pages/Components/CreateGoalDefinition.razor
+++ /dev/null
@@ -1,232 +0,0 @@
-﻿@inject IMediator _mediator
-@inject IToastService toastService
-@inject IStringLocalizer<CreateGoalDefinition> T
-<aside class="@_aside review_detail">
-    <div class="review_detail_header">
-        <div>@T["Title"]</div>
-        <div>
-            <div class="close_button" @onclick="Close">
-                <i class="fal fa-times"></i>
-            </div>
-        </div>
-    </div>
-    <div class="review_detail_body">
-        <div class="input_row">
-            <label class="input_label">@T["Name"]</label>
-            <input type="text" @bind-value="Name" />
-        </div>
-        <div class="input_row">
-            <label class="input_label">@T["User"]</label>
-            <select asp-for="SelectedUser">
-                @foreach (var user in UnassignedUsers)
-                {
-                    //<option value="" disabled>@T["SelectUser"]</option>
-                    <option value="@user.Id">@user.Name</option>
-                }
-            </select>
-        </div>
-        <div class="input_row">
-            <label class="input_label">@T["Hours"]</label>
-            <input type="number" @bind-value="Hours" />
-        </div>
-        <div class="input_row">
-            <label class="input_label">@T["Finance"]</label>
-            <input type="number" @bind-value="FinanceBase"/>
-        </div>
-    </div>
-    <div class="review_detail_footer">
-        <button @onclick="Create">@T["Create"]</button>
-        <button @onclick="Close">@T["Cancel"]</button>
-    </div>
-</aside>
-
-<BlazorStyled.Styled @bind-Classname="@_aside">
-    right: @(Show ? "0" : "-615")px;
-</BlazorStyled.Styled>
-<BlazorStyled.Styled>
-    .input_row {
-    margin-bottom: 24px;
-    }
-    .input_row select {
-    width: 100%;
-    padding: 12px 16px;
-    border-radius: 4px;
-    border: 1px solid rgb(200, 200, 200);
-    font-size: 14px;
-    }
-    .input_row input:not([type="checkbox"]) {
-    width: calc(100% - 34px);
-    padding: 12px 16px;
-    border-radius: 4px;
-    border: 1px solid #C8C8C8;
-    font-size: 14px;
-    }
-    .input_row label.input_label {
-    font-size: 16px;
-    font-weight: 700;
-    color: #111111;
-    padding-bottom: 4px;
-    display: block;
-    }
-</BlazorStyled.Styled>
-<BlazorStyled.Styled>
-    .review_detail {
-    width: 600px;
-    height: 100%;
-    position: fixed;
-    top: 0;
-    transition: .25s right;
-    background-color: white;
-    -webkit-box-shadow: 0 0 5px 0 rgba(0, 0, 0, 0.05);
-    -moz-box-shadow: 0 0 5px 0 rgba(0, 0, 0, 0.05);
-    box-shadow: 0 0 5px 0 rgba(0, 0, 0, 0.05);
-    }
-
-    .review_detail_header > div {
-    height: 100%;
-    display: flex;
-    align-items: center;
-    }
-
-    .review_detail_header {
-    padding: 12px 24px;
-    border-bottom: 1px solid #11111122;
-    height: 26px;
-    display: flex;
-    align-items: center;
-    justify-content: space-between;
-    }
-
-    .review_detail_body{
-    padding: 16px 24px;
-    height: calc(100% - 143px - 50px - 12px);
-    overflow-y: auto;
-    overflow-x: hidden;
-    }
-
-    .review_detail_footer{
-    height: 36px;
-    background-color: #F6F8F9;
-    position: absolute;
-    bottom: 0;
-    left: 0;
-    width: calc(100% - 50px);
-    display: grid;
-    padding: 24px;
-    grid-template-columns: repeat(2, 1fr);
-    }
-
-    .review_detail_footer button:first-child{
-    margin-right: 12px;
-    }
-
-    .review_detail_footer button:last-child{
-    margin-left: 12px;
-    }
-    .review_button {
-    color: red;
-    cursor: pointer;
-    opacity: .75;
-    }
-
-    .review_button:hover {
-    opacity: 1;
-    }
-
-    .review_button.accepted {
-    color: green;
-    }
-
-    .review_button:not(:last-child) {
-    margin-right: 16px;
-    }
-    .review_detail_body .review_description {
-    padding: 8px 12px;
-    border: 1px solid white;
-    width: calc(100% - 24px);
-    outline: none;
-    margin: 12px 24px 24px 24px;
-    }
-
-    .review_detail_body .review_description_title {
-    margin: 0 24px;
-    }
-
-    .review_description_paragraph{
-    margin: 12px 24px 24px 24px;
-    }
-
-    .review_detail_body .review_description:hover{
-    border: 1px solid #EEEEEE;
-    }
-
-    .review_detail_body .review_description:focus{
-    border: 1px solid #A8A8A8;
-    }
-</BlazorStyled.Styled>
-
-@code {
-
-    private string _aside;
-
-    private Guid _asideId = default(Guid);
-
-    [Parameter]
-    public Guid AsideId
-    {
-        get { return _asideId; }
-        set
-        {
-            _asideId = value;
-            InitAside();
-        }
-    }
-
-    [Parameter]
-    public bool Show { get; set; } = false;
-
-    [Parameter]
-    public GlobalDefinitionArea Area { get; set; } = GlobalDefinitionArea.Default();
-
-    [Parameter]
-    public EventCallback CloseAside { get; set; }
-
-    private string Name { get; set; } = $"";
-    private List<UserShortDto> UnassignedUsers { get; set; } = new();
-    public Guid SelectedUser { get; set; } = default(Guid);
-    private double Hours { get; set; } = 0;
-    private double FinanceBase { get; set; } = 0;
-
-    private async Task InitAside()
-    {
-        var response = await _mediator.Send(new GetAreaById.Query(AsideId));
-
-        if (response.IsSuccess)
-        {
-            //toastService.ShowSuccess("Oblast úspěšně vytvořena");
-            Area = response.Result.area;
-        }
-        else toastService.ShowError($"Oblast se nepodařilo načíst {response.Errors.FirstOrDefault() ?? ""}");
-
-        var response2 = await _mediator.Send(new GetAllUnassignedInArea.Query(AsideId));
-
-        if (response2.IsSuccess)
-        {
-            //toastService.ShowSuccess("Oblast úspěšně vytvořena");
-            UnassignedUsers = response2.Result.list;
-        }
-        else toastService.ShowError($"Seznam nepřiřazených uživatelů se nepodařilo načíst {response2.Errors.FirstOrDefault() ?? ""}");
-    }
-
-    private async Task Create()
-    {
-        toastService.ShowError($"Selected: {SelectedUser}");
-    }
-
-    private async Task Close()
-    {
-        //ResetValues();
-        await CloseAside.InvokeAsync();
-    }
-
-}
diff --git a/src/Modules/Goal/Application/Leuze.Modules.Goal.Application.UI/Pages/Components/CreateGoalDefinitionAside.razor b/src/Modules/Goal/Application/Leuze.Modules.Goal.Application.UI/Pages/Components/CreateGoalDefinitionAside.razor
new file mode 100644
index 0000000..783ba68
--- /dev/null
+++ b/src/Modules/Goal/Application/Leuze.Modules.Goal.Application.UI/Pages/Components/CreateGoalDefinitionAside.razor
@@ -0,0 +1,301 @@
+﻿@inject IMediator _mediator
+@inject IToastService toastService
+@inject IStringLocalizer<CreateGoalDefinitionAside> T
+<aside class="@_aside review_detail">
+    <div class="review_detail_header">
+        <div>@((AsideId != default(Guid)) ? T["TitleEdit"] : T["TitleCreate"] )</div>
+        <div>
+            <div class="close_button" @onclick="Close">
+                <i class="fal fa-times"></i>
+            </div>
+        </div>
+    </div>
+    <div class="review_detail_body">
+        <div class="input_row">
+            <label class="input_label">@T["Name"]</label>
+            <input type="text" @bind-value="Name" />
+        </div>
+        @if (AsideId == default(Guid))
+        {
+            <div class="input_row">
+                <label class="input_label">@T["User"]</label>
+                <select @bind="SelectedUser">
+                    @foreach (var user in UnassignedUsers)
+                    {
+                        //<option value="" disabled>@T["SelectUser"]</option>
+                        <option value="@user.Id">@user.Name</option>
+                    }
+                </select>
+            </div>
+        }
+        <div class="input_row">
+            <label class="input_label">@T["Hours"]</label>
+            <input type="number" @bind-value="Hours" />
+        </div>
+        <div class="input_row">
+            <label class="input_label">@T["Finance"]</label>
+            <input type="number" @bind-value="FinanceBase" />
+        </div>
+    </div>
+    <div class="review_detail_footer">
+        <button @onclick="Create">@T["Create"]</button>
+        <button @onclick="Close">@T["Cancel"]</button>
+    </div>
+</aside>
+
+<BlazorStyled.Styled @bind-Classname="@_aside">
+    right: @(Show ? "0" : "-615")px;
+</BlazorStyled.Styled>
+<BlazorStyled.Styled>
+    .input_row {
+    margin-bottom: 24px;
+    }
+    .input_row select {
+    width: 100%;
+    padding: 12px 16px;
+    border-radius: 4px;
+    border: 1px solid rgb(200, 200, 200);
+    font-size: 14px;
+    }
+    .input_row input:not([type="checkbox"]) {
+    width: calc(100% - 34px);
+    padding: 12px 16px;
+    border-radius: 4px;
+    border: 1px solid #C8C8C8;
+    font-size: 14px;
+    }
+    .input_row label.input_label {
+    font-size: 16px;
+    font-weight: 700;
+    color: #111111;
+    padding-bottom: 4px;
+    display: block;
+    }
+</BlazorStyled.Styled>
+<BlazorStyled.Styled>
+    .review_detail {
+    width: 600px;
+    height: 100%;
+    position: fixed;
+    top: 0;
+    transition: .25s right;
+    background-color: white;
+    -webkit-box-shadow: 0 0 5px 0 rgba(0, 0, 0, 0.05);
+    -moz-box-shadow: 0 0 5px 0 rgba(0, 0, 0, 0.05);
+    box-shadow: 0 0 5px 0 rgba(0, 0, 0, 0.05);
+    }
+
+    .review_detail_header > div {
+    height: 100%;
+    display: flex;
+    align-items: center;
+    }
+
+    .review_detail_header {
+    padding: 12px 24px;
+    border-bottom: 1px solid #11111122;
+    height: 26px;
+    display: flex;
+    align-items: center;
+    justify-content: space-between;
+    }
+
+    .review_detail_body{
+    padding: 16px 24px;
+    height: calc(100% - 143px - 50px - 12px);
+    overflow-y: auto;
+    overflow-x: hidden;
+    }
+
+    .review_detail_footer{
+    height: 36px;
+    background-color: #F6F8F9;
+    position: absolute;
+    bottom: 0;
+    left: 0;
+    width: calc(100% - 50px);
+    display: grid;
+    padding: 24px;
+    grid-template-columns: repeat(2, 1fr);
+    }
+
+    .review_detail_footer button:first-child{
+    margin-right: 12px;
+    }
+
+    .review_detail_footer button:last-child{
+    margin-left: 12px;
+    }
+    .review_button {
+    color: red;
+    cursor: pointer;
+    opacity: .75;
+    }
+
+    .review_button:hover {
+    opacity: 1;
+    }
+
+    .review_button.accepted {
+    color: green;
+    }
+
+    .review_button:not(:last-child) {
+    margin-right: 16px;
+    }
+    .review_detail_body .review_description {
+    padding: 8px 12px;
+    border: 1px solid white;
+    width: calc(100% - 24px);
+    outline: none;
+    margin: 12px 24px 24px 24px;
+    }
+
+    .review_detail_body .review_description_title {
+    margin: 0 24px;
+    }
+
+    .review_description_paragraph{
+    margin: 12px 24px 24px 24px;
+    }
+
+    .review_detail_body .review_description:hover{
+    border: 1px solid #EEEEEE;
+    }
+
+    .review_detail_body .review_description:focus{
+    border: 1px solid #A8A8A8;
+    }
+</BlazorStyled.Styled>
+
+@code {
+
+    private string _aside;
+
+    private Guid _asideId = default(Guid);
+
+    [Parameter]
+    public Guid AsideId
+    {
+        get { return _asideId; }
+        set
+        {
+            _asideId = value;
+            InitEdit();
+        }
+    }
+
+    private Guid _areaId = default(Guid);
+
+    [Parameter]
+    public Guid AreaId
+    {
+        get { return _areaId; }
+        set
+        {
+            _areaId = value;
+            InitAside();
+        }
+    }
+
+    [Parameter]
+    public bool Show { get; set; } = false;
+
+    [Parameter]
+    public GlobalDefinitionArea Area { get; set; } = GlobalDefinitionArea.Default();
+
+    [Parameter]
+    public EventCallback CloseAside { get; set; }
+
+    [Parameter]
+    public EventCallback ReloadTable { get; set; }
+
+    private string Name { get; set; } = $"";
+    private List<UserShortDto> UnassignedUsers { get; set; } = new();
+    public Guid SelectedUser { get; set; } = default(Guid);
+    private double Hours { get; set; } = 0;
+    private double FinanceBase { get; set; } = 0;
+
+    private async Task InitAside()
+    {
+        if (AreaId != default(Guid))
+        {
+            var response = await _mediator.Send(new GetAreaById.Query(AreaId));
+
+            if (response.IsSuccess)
+            {
+                //toastService.ShowSuccess("Oblast úspěšně vytvořena");
+                Area = response.Result.area;
+            }
+            else toastService.ShowError($"Oblast se nepodařilo načíst {response.Errors.FirstOrDefault() ?? ""}");
+
+            var response2 = await _mediator.Send(new GetAllUnassignedInArea.Query(AreaId));
+
+            if (response2.IsSuccess)
+            {
+                //toastService.ShowSuccess("Oblast úspěšně vytvořena");
+                UnassignedUsers = response2.Result.list;
+            }
+            else toastService.ShowError($"Seznam nepřiřazených uživatelů se nepodařilo načíst {response2.Errors.FirstOrDefault() ?? ""}");
+        }
+    }
+
+    private async Task InitEdit()
+    {
+        if (AsideId != default(Guid))
+        {
+            var response = await _mediator.Send(new GetGoalDefinitionById.Query(AsideId));
+
+            if (response.IsSuccess)
+            {
+                //toastService.ShowSuccess("Oblast úspěšně vytvořena");
+                Name = response.Result.item.Name;
+                Hours = response.Result.item.VariProjectHours ?? 0;
+                FinanceBase = response.Result.item.FinanceBase;
+            }
+            else toastService.ShowError($"Definici se nepodařilo načíst {response.Errors.FirstOrDefault() ?? ""}");
+        }
+    }
+
+    private async Task Create()
+    {
+        if (AsideId != default(Guid))
+        {
+            await Edit();
+        }
+        else
+        {
+            var response = await _mediator.Send(new CreateGoalDefinition.Command(SelectedUser, AreaId, Name, Hours, FinanceBase));
+
+            if (response.IsSuccess)
+            {
+                toastService.ShowSuccess("Definice úspěšně založena");
+                ReloadTable.InvokeAsync();
+                await Close();
+            }
+            else toastService.ShowError($"Definici se nepodařilo vytvořit: {response.Errors.FirstOrDefault() ?? ""}");
+            //toastService.ShowError($"Selected: {SelectedUser}");
+        }
+    }
+
+    private async Task Edit()
+    {
+        var response = await _mediator.Send(new EditGoalDefinition.Command(AsideId, Name, Hours, FinanceBase));
+
+        if (response.IsSuccess)
+        {
+            toastService.ShowSuccess("Definice úspěšně editována");
+            ReloadTable.InvokeAsync();
+            await Close();
+        }
+        else toastService.ShowError($"Definici se nepodařilo editovat: {response.Errors.FirstOrDefault() ?? ""}");
+        //toastService.ShowError($"Selected: {SelectedUser}");
+    }
+
+    private async Task Close()
+    {
+        //ResetValues();
+        await CloseAside.InvokeAsync();
+    }
+
+}
diff --git a/src/Modules/Goal/Application/Leuze.Modules.Goal.Application.UI/Pages/GoalRanges.razor b/src/Modules/Goal/Application/Leuze.Modules.Goal.Application.UI/Pages/GoalRanges.razor
index e3ea765..3f3fe9f 100644
--- a/src/Modules/Goal/Application/Leuze.Modules.Goal.Application.UI/Pages/GoalRanges.razor
+++ b/src/Modules/Goal/Application/Leuze.Modules.Goal.Application.UI/Pages/GoalRanges.razor
@@ -31,20 +31,20 @@
                 <td>@(range.VariCompanySuccess ?? 0)</td>
                 <td>
                     <div class="flex">
-                        <div @onclick="() => DownloadAreaFile(range.Id)">
+                        <div class="button-ui" @onclick="() => DownloadAreaFile(range.Id)">
                             <i class="fal fa-download"></i>
                             @T["Export"]
                         </div>
 
-                        <div @onclick='() => _nav.NavigateTo($"/goals/overview/{range.Id}")'>
+                        <div class="button-ui" @onclick='() => _nav.NavigateTo($"/goals/overview/{range.Id}")'>
                             <i class="fal fa-eye"></i>
                             @T["Open"]
                         </div>
-                        <div @onclick="() => OpenAside(range.Id)">
+                        <div class="button-ui" @onclick="() => OpenAside(range.Id)">
                             <i class="fal fa-edit"></i>
                             @T["Edit"]
                         </div>
-                        <div @onclick="() => RemoveArea(range.Id)">
+                        <div class="button-ui" @onclick="() => RemoveArea(range.Id)">
                             <i class="fal fa-trash"></i>
                             @T["Remove"]
                         </div>
diff --git a/src/Modules/Goal/Application/Leuze.Modules.Goal.Application.UI/Pages/GoalsManagement.razor b/src/Modules/Goal/Application/Leuze.Modules.Goal.Application.UI/Pages/GoalsManagement.razor
index 967ceb2..c9ae01e 100644
--- a/src/Modules/Goal/Application/Leuze.Modules.Goal.Application.UI/Pages/GoalsManagement.razor
+++ b/src/Modules/Goal/Application/Leuze.Modules.Goal.Application.UI/Pages/GoalsManagement.razor
@@ -41,15 +41,15 @@
                 <td>
                     <div class="flex">
                         <AuthorizeView Roles="TL">
-                            <div @onclick='() => _nav.NavigateTo($"/goals/detail/{range.Id}")'>
+                            <div  class="button-ui" @onclick='() => _nav.NavigateTo($"/goals/detail/{range.Id}")'>
                                 <i class="fal fa-eye"></i>
                                 @T["Open"]
                             </div>
-                            <div @onclick="() => OpenAside(range.Id)">
+                            <div class="button-ui" @onclick="() => OpenAside(range.Id)">
                                 <i class="fal fa-edit"></i>
                                 @T["Edit"]
                             </div>
-                            <div @onclick="() => RemoveDefinition(range.Id)">
+                            <div class="button-ui" @onclick="() => RemoveDefinition(range.Id)">
                                 <i class="fal fa-trash"></i>
                                 @T["Remove"]
                             </div>
@@ -74,7 +74,7 @@
 else
 {
     <div>Loading...</div>}
-<Leuze.Modules.Goal.Application.UI.Pages.Components.CreateGoalDefinition Show="ShowAside" AsideId="Id" CloseAside="CloseAside" />
+<Leuze.Modules.Goal.Application.UI.Pages.Components.CreateGoalDefinitionAside Show="ShowAside" AsideId="DetailId" AreaId="Id" ReloadTable="GetMyDefinitions" CloseAside="CloseAside" />
 
 <BlazorStyled.Styled>
     .button-ui {
@@ -203,6 +203,8 @@ else
 @code { [Parameter]
     public Guid Id { get; set; } = default(Guid);
 
+    public Guid DetailId { get; set; } = default(Guid);
+
     private List<GoalDefinition> Definitions { get; set; } = new();
 
     private int PageNumber { get; set; } = 1;
@@ -213,9 +215,9 @@ else
 
     private bool ShowAside { get; set; } = false;
 
-    private void OpenAside(Guid id) => (ShowAside) = (true);
+    private void OpenAside(Guid id) => (ShowAside, DetailId) = (true, id);
 
-    private void CloseAside() => (ShowAside) = (false);
+    private void CloseAside() => (ShowAside, DetailId) = (false, default(Guid));
 
     private async Task GetMyDefinitions()
     {
@@ -229,7 +231,14 @@ else
 
     private async Task InitAllDefinitions()
     {
-        toastService.ShowError($"NOT IMPLEMENTED (yet) !");
+        var response = await _mediator.Send(new CreateAllForArea.Command(Id));
+
+        if (response.IsSuccess)
+        {
+            toastService.ShowSuccess("Definice úspěšně vytvořeny!");
+            await GetMyDefinitions();
+        }
+        else toastService.ShowError($"Definice se nepodařilo vytvořit: {response.Errors.FirstOrDefault() ?? ""}");
     }
 
     private async Task RemoveDefinition(Guid id)
diff --git a/src/Modules/Goal/Application/Leuze.Modules.Goal.Application.UI/Resources/Pages/Components/CreateGoalDefinition.cs-CZ.resx b/src/Modules/Goal/Application/Leuze.Modules.Goal.Application.UI/Resources/Pages/Components/CreateGoalDefinition.cs-CZ.resx
index 692ce42..b8628fa 100644
--- a/src/Modules/Goal/Application/Leuze.Modules.Goal.Application.UI/Resources/Pages/Components/CreateGoalDefinition.cs-CZ.resx
+++ b/src/Modules/Goal/Application/Leuze.Modules.Goal.Application.UI/Resources/Pages/Components/CreateGoalDefinition.cs-CZ.resx
@@ -135,9 +135,12 @@
   <data name="SelectUser" xml:space="preserve">
     <value>Zvolte uživatele</value>
   </data>
-  <data name="Title" xml:space="preserve">
+  <data name="TitleCreate" xml:space="preserve">
     <value>Vytvořit definici cílů</value>
   </data>
+  <data name="TitleEdit" xml:space="preserve">
+    <value>Editovat definici cílů</value>
+  </data>
   <data name="User" xml:space="preserve">
     <value>Přiřazený uživatel</value>
   </data>
diff --git a/src/Modules/Goal/Application/Leuze.Modules.Goal.Application/CQRS/GoalDefinitions/Commands/CreateAllForArea.cs b/src/Modules/Goal/Application/Leuze.Modules.Goal.Application/CQRS/GoalDefinitions/Commands/CreateAllForArea.cs
new file mode 100644
index 0000000..6fd40c4
--- /dev/null
+++ b/src/Modules/Goal/Application/Leuze.Modules.Goal.Application/CQRS/GoalDefinitions/Commands/CreateAllForArea.cs
@@ -0,0 +1,83 @@
+﻿using Leuze.Core.Application.CQRS;
+using Leuze.Core.Domain.Domains.Users.DTOs;
+using Leuze.Core.Domain.Repositories;
+using Leuze.Modules.Goal.Application.CQRS.GoalDefinitions.Queries;
+using Leuze.Modules.Goal.Domain.Domains;
+using Leuze.Modules.Goal.Domain.Repositories;
+using MediatR;
+using Microsoft.AspNetCore.Components.Authorization;
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Security.Claims;
+using System.Text;
+using System.Threading;
+using System.Threading.Tasks;
+
+namespace Leuze.Modules.Goal.Application.CQRS.GoalDefinitions.Commands
+{
+    public static class CreateAllForArea
+    {
+        public record Command(Guid areaId) : IBaseRequest<Response>;
+
+        public record Response();
+
+
+        public class Handler : IBaseRequestHandler<Command, Response>
+        {
+            private readonly IMediator _mediator;
+            private readonly IGlobalDefinitionAreaRepository _globalDefinitionAreaRepo;
+            private readonly IGoalDefinitionRepository _goalDefinitionRepo;
+            private readonly AuthenticationStateProvider _authenticationStateProvider;
+            private readonly IDomainUserRepository _domainUserRepo;
+
+            public Handler(IMediator mediator, IGlobalDefinitionAreaRepository globalDefinitionAreaRepo, IGoalDefinitionRepository goalDefinitionRepo, AuthenticationStateProvider authStateProvider, IDomainUserRepository domainUserRepo)
+            {
+                _mediator = mediator;
+                _globalDefinitionAreaRepo = globalDefinitionAreaRepo;
+                _goalDefinitionRepo = goalDefinitionRepo;
+                _authenticationStateProvider = authStateProvider;
+                _domainUserRepo = domainUserRepo;
+            }
+
+            public async Task<RequestResponse<Response>> Handle(Command request, CancellationToken cancellationToken)
+            {
+                //TODO: user muze byt null, ale to my nechceme!!!
+                var state = await _authenticationStateProvider.GetAuthenticationStateAsync();
+                var id = Guid.Parse(state.User!.FindFirst(ClaimTypes.NameIdentifier)!.Value);
+                var creator = await _domainUserRepo.GetByIdAsync(id);
+                var area = await _globalDefinitionAreaRepo.GetByIdAsync(request.areaId);
+                List<UserShortDto> usersList = new();
+
+                if (creator == null)
+                {
+                    return RequestResponse<Response>.CreateErrorResponse($"Creator user with id: {id} not found!");
+                }
+                if (area == null)
+                {
+                    return RequestResponse<Response>.CreateErrorResponse($"Area with id: {request.areaId} not found!");
+                }
+
+                var response = await _mediator.Send(new GetAllUnassignedInArea.Query(request.areaId));
+                if (response.IsSuccess)
+                {
+                    usersList = response.Result.list;
+                }
+                else 
+                {
+                    return RequestResponse<Response>.CreateErrorResponse($"Unable to obtain users list!");
+                }
+
+                foreach(var user in usersList)
+                {
+                    var owner = await _domainUserRepo.GetByIdAsync(user.Id);
+                    GoalDefinition item = new(owner, creator, area, $"{owner.Name.FullName} ({area.GetShortName()})");
+
+                    await _goalDefinitionRepo.AddAsync(item);
+                }
+
+                return RequestResponse<Response>.CreateSuccessResponse(new());
+            }
+        }
+    }
+}
diff --git a/src/Modules/Goal/Application/Leuze.Modules.Goal.Application/CQRS/GoalDefinitions/Commands/CreateGoalDefinition.cs b/src/Modules/Goal/Application/Leuze.Modules.Goal.Application/CQRS/GoalDefinitions/Commands/CreateGoalDefinition.cs
index 0b10f56..832a9ab 100644
--- a/src/Modules/Goal/Application/Leuze.Modules.Goal.Application/CQRS/GoalDefinitions/Commands/CreateGoalDefinition.cs
+++ b/src/Modules/Goal/Application/Leuze.Modules.Goal.Application/CQRS/GoalDefinitions/Commands/CreateGoalDefinition.cs
@@ -15,21 +15,21 @@ namespace Leuze.Modules.Goal.Application.CQRS.Goals.Commands
 {
     public static class CreateGoalDefinition
     {
-        public record Command(Guid GoalDefinitionId, string Name, string Description) : IBaseRequest<Response>;
+        public record Command(Guid ownerId, Guid areaId, string Name, double hourVari, double FinanceBase) : IBaseRequest<Response>;
 
-        public record Response(GoalItem item);
+        public record Response(GoalDefinition item);
 
 
         public class Handler : IBaseRequestHandler<Command, Response>
         {
-            private readonly IGoalItemRepository _goalItemRepo;
+            private readonly IGlobalDefinitionAreaRepository _globalDefinitionAreaRepo;
             private readonly IGoalDefinitionRepository _goalDefinitionRepo;
             private readonly AuthenticationStateProvider _authenticationStateProvider;
             private readonly IDomainUserRepository _domainUserRepo;
 
-            public Handler(IGoalItemRepository goalItemRepo, IGoalDefinitionRepository goalDefinitionRepo, AuthenticationStateProvider authStateProvider, IDomainUserRepository domainUserRepo)
+            public Handler(IGlobalDefinitionAreaRepository globalDefinitionAreaRepo, IGoalDefinitionRepository goalDefinitionRepo, AuthenticationStateProvider authStateProvider, IDomainUserRepository domainUserRepo)
             {
-                _goalItemRepo = goalItemRepo;
+                _globalDefinitionAreaRepo = globalDefinitionAreaRepo;
                 _goalDefinitionRepo = goalDefinitionRepo;
                 _authenticationStateProvider = authStateProvider;
                 _domainUserRepo = domainUserRepo;
@@ -37,20 +37,37 @@ namespace Leuze.Modules.Goal.Application.CQRS.Goals.Commands
 
             public async Task<RequestResponse<Response>> Handle(Command request, CancellationToken cancellationToken)
             {
+                if (request.Name == null || request.Name == "")
+                {
+                    return RequestResponse<Response>.CreateErrorResponse($"Definition name cannot be empty!");
+                }
+
                 //TODO: user muze byt null, ale to my nechceme!!!
                 var state = await _authenticationStateProvider.GetAuthenticationStateAsync();
                 var id = Guid.Parse(state.User!.FindFirst(ClaimTypes.NameIdentifier)!.Value);
-                var user = await _domainUserRepo.GetByIdAsync(id);
-                var goalDef = await _goalDefinitionRepo.GetByIdAsync(request.GoalDefinitionId);
+                var creator = await _domainUserRepo.GetByIdAsync(id);
+                var owner = await _domainUserRepo.GetByIdAsync(request.ownerId);
+                var area = await _globalDefinitionAreaRepo.GetByIdAsync(request.areaId);
+
+                if(creator == null)
+                {
+                    return RequestResponse<Response>.CreateErrorResponse($"Creator user with id: {id} not found!");
+                }
+
+                if (owner == null)
+                {
+                    return RequestResponse<Response>.CreateErrorResponse($"Owner user with id: {request.ownerId} not found!");
+                }
 
-                if(goalDef == null)
+                if (area == null)
                 {
-                    return RequestResponse<Response>.CreateErrorResponse($"Goal definition with id: {request.GoalDefinitionId} not found!");
+                    return RequestResponse<Response>.CreateErrorResponse($"Area with id: {request.areaId} not found!");
                 }
 
-                GoalItem item = new(goalDef, user, request.Name, request.Description);
+                GoalDefinition item = new(owner, creator, area, request.Name, request.FinanceBase);
+                item.SetVariProjectHours(request.hourVari);
 
-                await _goalItemRepo.AddAsync(item);
+                await _goalDefinitionRepo.AddAsync(item);
 
                 return RequestResponse<Response>.CreateSuccessResponse(new(item));
             }
diff --git a/src/Modules/Goal/Application/Leuze.Modules.Goal.Application/CQRS/GoalDefinitions/Commands/EditGoalDefinition.cs b/src/Modules/Goal/Application/Leuze.Modules.Goal.Application/CQRS/GoalDefinitions/Commands/EditGoalDefinition.cs
new file mode 100644
index 0000000..b57cc66
--- /dev/null
+++ b/src/Modules/Goal/Application/Leuze.Modules.Goal.Application/CQRS/GoalDefinitions/Commands/EditGoalDefinition.cs
@@ -0,0 +1,75 @@
+﻿using Leuze.Core.Application.CQRS;
+using Leuze.Core.Domain.Domains.Users.DTOs;
+using Leuze.Core.Domain.Repositories;
+using Leuze.Modules.Goal.Application.CQRS.GoalDefinitions.Queries;
+using Leuze.Modules.Goal.Domain.Domains;
+using Leuze.Modules.Goal.Domain.Repositories;
+using MediatR;
+using Microsoft.AspNetCore.Components.Authorization;
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Security.Claims;
+using System.Text;
+using System.Threading;
+using System.Threading.Tasks;
+
+namespace Leuze.Modules.Goal.Application.CQRS.GoalDefinitions.Commands
+{
+    public static class EditGoalDefinition
+    {
+        public record Command(Guid definitionId, string Name, double hourVari, double FinanceBase) : IBaseRequest<Response>;
+
+        public record Response(GoalDefinition item);
+
+
+        public class Handler : IBaseRequestHandler<Command, Response>
+        {
+            private readonly IGlobalDefinitionAreaRepository _globalDefinitionAreaRepo;
+            private readonly IGoalDefinitionRepository _goalDefinitionRepo;
+            private readonly AuthenticationStateProvider _authenticationStateProvider;
+            private readonly IDomainUserRepository _domainUserRepo;
+
+            public Handler(IGlobalDefinitionAreaRepository globalDefinitionAreaRepo, IGoalDefinitionRepository goalDefinitionRepo, AuthenticationStateProvider authStateProvider, IDomainUserRepository domainUserRepo)
+            {
+                _globalDefinitionAreaRepo = globalDefinitionAreaRepo;
+                _goalDefinitionRepo = goalDefinitionRepo;
+                _authenticationStateProvider = authStateProvider;
+                _domainUserRepo = domainUserRepo;
+            }
+
+            public async Task<RequestResponse<Response>> Handle(Command request, CancellationToken cancellationToken)
+            {
+                if (request.Name == null || request.Name == "")
+                {
+                    return RequestResponse<Response>.CreateErrorResponse($"Definition name cannot be empty!");
+                }
+
+                //TODO: user muze byt null, ale to my nechceme!!!
+                var state = await _authenticationStateProvider.GetAuthenticationStateAsync();
+                var id = Guid.Parse(state.User!.FindFirst(ClaimTypes.NameIdentifier)!.Value);
+                var creator = await _domainUserRepo.GetByIdAsync(id);
+                var definition = await _goalDefinitionRepo.GetByIdAsync(request.definitionId);
+
+                if (creator == null)
+                {
+                    return RequestResponse<Response>.CreateErrorResponse($"Creator user with id: {id} not found!");
+                }
+
+                if (definition == null)
+                {
+                    return RequestResponse<Response>.CreateErrorResponse($"Definition with id: {request.definitionId} not found!");
+                }
+
+                
+                definition.SetName(request.Name);
+                definition.SetVariProjectHours(request.hourVari);
+                definition.SetFinanceBase(request.FinanceBase);
+
+                await _goalDefinitionRepo.UpdateRepo();
+
+                return RequestResponse<Response>.CreateSuccessResponse(new(definition));
+            }
+        }
+    }
+}
diff --git a/src/Modules/Goal/Application/Leuze.Modules.Goal.Application/CQRS/GoalDefinitions/Queries/GetAllUnassignedInArea.cs b/src/Modules/Goal/Application/Leuze.Modules.Goal.Application/CQRS/GoalDefinitions/Queries/GetAllUnassignedInArea.cs
index 3224037..092647d 100644
--- a/src/Modules/Goal/Application/Leuze.Modules.Goal.Application/CQRS/GoalDefinitions/Queries/GetAllUnassignedInArea.cs
+++ b/src/Modules/Goal/Application/Leuze.Modules.Goal.Application/CQRS/GoalDefinitions/Queries/GetAllUnassignedInArea.cs
@@ -40,8 +40,10 @@ namespace Leuze.Modules.Goal.Application.CQRS.GoalDefinitions.Queries
                 var id = Guid.Parse(state.User!.FindFirst(ClaimTypes.NameIdentifier)!.Value);
                 var user = await _domainUserRepo.GetByIdAsync(id);
 
+                //TODO: Change with list of TL and MA only
                 //var goalDefs = await _goalDefinitionRepo.GetAllForAreaAsync(request.areaId);
                 var allUsers = await _domainUserRepo.GetListAsync(id);
+                //allUsers = allUsers.Where(o => o.) //Remove admins
                 var areaDefs = await _goalDefinitionRepo.GetAllForAreaAsync(request.areaId);
                 var assignedList = areaDefs.Select(o => new UserShortDto(o.Owner.UserId, o.Owner.Name.FullName)).ToList();
 
diff --git a/src/Modules/Goal/Domain/Leuze.Modules.Goal.Domain/Domains/GlobalDefinitionArea.cs b/src/Modules/Goal/Domain/Leuze.Modules.Goal.Domain/Domains/GlobalDefinitionArea.cs
index 9b09f66..296043d 100644
--- a/src/Modules/Goal/Domain/Leuze.Modules.Goal.Domain/Domains/GlobalDefinitionArea.cs
+++ b/src/Modules/Goal/Domain/Leuze.Modules.Goal.Domain/Domains/GlobalDefinitionArea.cs
@@ -55,5 +55,10 @@ namespace Leuze.Modules.Goal.Domain.Domains
         {
             this.VariCompanySuccess = vari;
         }
+
+        public string GetShortName()
+        {
+            return $"{From.ToShortDateString()}-{To.ToShortDateString()}";
+        }
     }
 }
diff --git a/src/Modules/Goal/Domain/Leuze.Modules.Goal.Domain/Repositories/ICommentRepository.cs b/src/Modules/Goal/Domain/Leuze.Modules.Goal.Domain/Repositories/ICommentRepository.cs
index 464c725..ad884e9 100644
--- a/src/Modules/Goal/Domain/Leuze.Modules.Goal.Domain/Repositories/ICommentRepository.cs
+++ b/src/Modules/Goal/Domain/Leuze.Modules.Goal.Domain/Repositories/ICommentRepository.cs
@@ -23,5 +23,7 @@ namespace Leuze.Modules.Goal.Domain.Repositories
         Task<bool> EditAsync(Guid id, string text);
         Task<bool> SetPrivate(Guid id);
         Task<bool> SetPublic(Guid id);
+
+        Task<bool> UpdateRepo();
     }
 }
diff --git a/src/Modules/Goal/Domain/Leuze.Modules.Goal.Domain/Repositories/IGlobalDefinitionAreaRepository.cs b/src/Modules/Goal/Domain/Leuze.Modules.Goal.Domain/Repositories/IGlobalDefinitionAreaRepository.cs
index d04bafb..6617cc4 100644
--- a/src/Modules/Goal/Domain/Leuze.Modules.Goal.Domain/Repositories/IGlobalDefinitionAreaRepository.cs
+++ b/src/Modules/Goal/Domain/Leuze.Modules.Goal.Domain/Repositories/IGlobalDefinitionAreaRepository.cs
@@ -26,6 +26,6 @@ namespace Leuze.Modules.Goal.Domain.Repositories
 
         Task<List<GlobalDefinitionArea>> GetAllWithinTimeRange(DateTime from, DateTime to);
 
-
+        Task<bool> UpdateRepo();
     }
 }
diff --git a/src/Modules/Goal/Domain/Leuze.Modules.Goal.Domain/Repositories/IGoalDefinitionRepository.cs b/src/Modules/Goal/Domain/Leuze.Modules.Goal.Domain/Repositories/IGoalDefinitionRepository.cs
index 9842149..7f8a2e1 100644
--- a/src/Modules/Goal/Domain/Leuze.Modules.Goal.Domain/Repositories/IGoalDefinitionRepository.cs
+++ b/src/Modules/Goal/Domain/Leuze.Modules.Goal.Domain/Repositories/IGoalDefinitionRepository.cs
@@ -33,5 +33,7 @@ namespace Leuze.Modules.Goal.Domain.Repositories
         Task<bool> LockByOwner(Guid id);
         Task<bool> LockBySupervisor(Guid id);
         Task<bool> LocksReset(Guid id);
+
+        Task<bool> UpdateRepo();
     }
 }
diff --git a/src/Modules/Goal/Domain/Leuze.Modules.Goal.Domain/Repositories/IGoalItemRepository.cs b/src/Modules/Goal/Domain/Leuze.Modules.Goal.Domain/Repositories/IGoalItemRepository.cs
index 6302073..0a2f547 100644
--- a/src/Modules/Goal/Domain/Leuze.Modules.Goal.Domain/Repositories/IGoalItemRepository.cs
+++ b/src/Modules/Goal/Domain/Leuze.Modules.Goal.Domain/Repositories/IGoalItemRepository.cs
@@ -34,5 +34,7 @@ namespace Leuze.Modules.Goal.Domain.Repositories
         Task<bool> LockBySupervisor(Guid id);
         Task<bool> LocksReset(Guid id);
 
+        Task<bool> UpdateRepo();
+
     }
 }
diff --git a/src/Modules/Goal/Domain/Leuze.Modules.Goal.Domain/Repositories/IGoalUpdateRepository.cs b/src/Modules/Goal/Domain/Leuze.Modules.Goal.Domain/Repositories/IGoalUpdateRepository.cs
index e975808..602fb44 100644
--- a/src/Modules/Goal/Domain/Leuze.Modules.Goal.Domain/Repositories/IGoalUpdateRepository.cs
+++ b/src/Modules/Goal/Domain/Leuze.Modules.Goal.Domain/Repositories/IGoalUpdateRepository.cs
@@ -19,5 +19,7 @@ namespace Leuze.Modules.Goal.Domain.Repositories
         Task<List<GoalUpdate>> GetAllForGoalAsync(Guid goalId);
 
         Task<List<GoalUpdate>> GetAllAsync();
+
+        Task<bool> UpdateRepo();
     }
 }
diff --git a/src/Modules/Goal/Domain/Leuze.Modules.Goal.Domain/Repositories/IReviewRepository.cs b/src/Modules/Goal/Domain/Leuze.Modules.Goal.Domain/Repositories/IReviewRepository.cs
index 539b9d5..941c103 100644
--- a/src/Modules/Goal/Domain/Leuze.Modules.Goal.Domain/Repositories/IReviewRepository.cs
+++ b/src/Modules/Goal/Domain/Leuze.Modules.Goal.Domain/Repositories/IReviewRepository.cs
@@ -19,5 +19,7 @@ namespace Leuze.Modules.Goal.Domain.Repositories
         Task<List<Review>> GetAllForGoalAsync(Guid goalId);
 
         Task<List<Review>> GetAllAsync();
+
+        Task<bool> UpdateRepo();
     }
 }
diff --git a/src/Modules/Goal/Infrastructure/Leuze.Modules.Goal.Infrastructure.Persistence/DependencyInjection.cs b/src/Modules/Goal/Infrastructure/Leuze.Modules.Goal.Infrastructure.Persistence/DependencyInjection.cs
index 147e8e7..13b8fe0 100644
--- a/src/Modules/Goal/Infrastructure/Leuze.Modules.Goal.Infrastructure.Persistence/DependencyInjection.cs
+++ b/src/Modules/Goal/Infrastructure/Leuze.Modules.Goal.Infrastructure.Persistence/DependencyInjection.cs
@@ -54,7 +54,7 @@ namespace Leuze.Modules.Goal.Infrastructure.Persistence
             {
                 var context = serviceScope.ServiceProvider.GetRequiredService<LeuzeDbContext>();
                 var appSettings = serviceScope.ServiceProvider.GetRequiredService<IOptions<AppSettings>>().Value;
-
+                
                 //TODO: This is debug delet this
                 var user = context.Set<DomainUser>().Where(item => item.EmailAddress.Email == "ma@test.cz").FirstOrDefault();
                 GlobalDefinitionArea area = new GlobalDefinitionArea(user, DateTime.Now, DateTime.Now.AddDays(10));
diff --git a/src/Modules/Goal/Infrastructure/Leuze.Modules.Goal.Infrastructure.Persistence/Repositories/CommentRepository.cs b/src/Modules/Goal/Infrastructure/Leuze.Modules.Goal.Infrastructure.Persistence/Repositories/CommentRepository.cs
index c7d0c7a..9251605 100644
--- a/src/Modules/Goal/Infrastructure/Leuze.Modules.Goal.Infrastructure.Persistence/Repositories/CommentRepository.cs
+++ b/src/Modules/Goal/Infrastructure/Leuze.Modules.Goal.Infrastructure.Persistence/Repositories/CommentRepository.cs
@@ -78,5 +78,11 @@ namespace Leuze.Modules.Goal.Infrastructure.Persistence.Repositories
             await storageContext.SaveChangesAsync();
             return true;
         }
+
+        public async Task<bool> UpdateRepo()
+        {
+            await storageContext.SaveChangesAsync();
+            return true;
+        }
     }
 }
diff --git a/src/Modules/Goal/Infrastructure/Leuze.Modules.Goal.Infrastructure.Persistence/Repositories/GlobalDefinitionAreaRepository.cs b/src/Modules/Goal/Infrastructure/Leuze.Modules.Goal.Infrastructure.Persistence/Repositories/GlobalDefinitionAreaRepository.cs
index 78641d9..0fa10fd 100644
--- a/src/Modules/Goal/Infrastructure/Leuze.Modules.Goal.Infrastructure.Persistence/Repositories/GlobalDefinitionAreaRepository.cs
+++ b/src/Modules/Goal/Infrastructure/Leuze.Modules.Goal.Infrastructure.Persistence/Repositories/GlobalDefinitionAreaRepository.cs
@@ -78,5 +78,11 @@ namespace Leuze.Modules.Goal.Infrastructure.Persistence.Repositories
         {
             return await dbSet.Where(item => ((from >= item.From && from <= item.To) || (to <= item.To && to >= item.From))).ToListAsync();
         }
+
+        public async Task<bool> UpdateRepo()
+        {
+            await storageContext.SaveChangesAsync();
+            return true;
+        }
     }
 }
diff --git a/src/Modules/Goal/Infrastructure/Leuze.Modules.Goal.Infrastructure.Persistence/Repositories/GoalDefinitionRepository.cs b/src/Modules/Goal/Infrastructure/Leuze.Modules.Goal.Infrastructure.Persistence/Repositories/GoalDefinitionRepository.cs
index bc609c9..6a04534 100644
--- a/src/Modules/Goal/Infrastructure/Leuze.Modules.Goal.Infrastructure.Persistence/Repositories/GoalDefinitionRepository.cs
+++ b/src/Modules/Goal/Infrastructure/Leuze.Modules.Goal.Infrastructure.Persistence/Repositories/GoalDefinitionRepository.cs
@@ -114,5 +114,11 @@ namespace Leuze.Modules.Goal.Infrastructure.Persistence.Repositories
             await storageContext.SaveChangesAsync();
             return true;
         }
+
+        public async Task<bool> UpdateRepo()
+        {
+            await storageContext.SaveChangesAsync();
+            return true;
+        }
     }
 }
diff --git a/src/Modules/Goal/Infrastructure/Leuze.Modules.Goal.Infrastructure.Persistence/Repositories/GoalItemRepository.cs b/src/Modules/Goal/Infrastructure/Leuze.Modules.Goal.Infrastructure.Persistence/Repositories/GoalItemRepository.cs
index 9229868..28b7073 100644
--- a/src/Modules/Goal/Infrastructure/Leuze.Modules.Goal.Infrastructure.Persistence/Repositories/GoalItemRepository.cs
+++ b/src/Modules/Goal/Infrastructure/Leuze.Modules.Goal.Infrastructure.Persistence/Repositories/GoalItemRepository.cs
@@ -118,5 +118,11 @@ namespace Leuze.Modules.Goal.Infrastructure.Persistence.Repositories
             await storageContext.SaveChangesAsync();
             return true;
         }
+
+        public async Task<bool> UpdateRepo()
+        {
+            await storageContext.SaveChangesAsync();
+            return true;
+        }
     }
 }
diff --git a/src/Modules/Goal/Infrastructure/Leuze.Modules.Goal.Infrastructure.Persistence/Repositories/GoalUpdateRepository.cs b/src/Modules/Goal/Infrastructure/Leuze.Modules.Goal.Infrastructure.Persistence/Repositories/GoalUpdateRepository.cs
index 0914602..dc68597 100644
--- a/src/Modules/Goal/Infrastructure/Leuze.Modules.Goal.Infrastructure.Persistence/Repositories/GoalUpdateRepository.cs
+++ b/src/Modules/Goal/Infrastructure/Leuze.Modules.Goal.Infrastructure.Persistence/Repositories/GoalUpdateRepository.cs
@@ -50,5 +50,11 @@ namespace Leuze.Modules.Goal.Infrastructure.Persistence.Repositories
         {
             return dbSet.ToList(); //TODO: Await??
         }
+
+        public async Task<bool> UpdateRepo()
+        {
+            await storageContext.SaveChangesAsync();
+            return true;
+        }
     }
 }
diff --git a/src/Modules/Goal/Infrastructure/Leuze.Modules.Goal.Infrastructure.Persistence/Repositories/ReviewRepository.cs b/src/Modules/Goal/Infrastructure/Leuze.Modules.Goal.Infrastructure.Persistence/Repositories/ReviewRepository.cs
index da63e22..513b16d 100644
--- a/src/Modules/Goal/Infrastructure/Leuze.Modules.Goal.Infrastructure.Persistence/Repositories/ReviewRepository.cs
+++ b/src/Modules/Goal/Infrastructure/Leuze.Modules.Goal.Infrastructure.Persistence/Repositories/ReviewRepository.cs
@@ -50,5 +50,11 @@ namespace Leuze.Modules.Goal.Infrastructure.Persistence.Repositories
         {
             return dbSet.ToList(); //TODO: Await??
         }
+
+        public async Task<bool> UpdateRepo()
+        {
+            await storageContext.SaveChangesAsync();
+            return true;
+        }
     }
 }
