Favoriten
This commit is contained in:
@@ -38,6 +38,7 @@
|
||||
<RowDefinition Height="auto" />
|
||||
<RowDefinition Height="auto" />
|
||||
<RowDefinition Height="auto" />
|
||||
<RowDefinition Height="auto" />
|
||||
</Grid.RowDefinitions>
|
||||
|
||||
<Label Grid.Row="0" Grid.Column="0">Name</Label>
|
||||
@@ -93,8 +94,17 @@
|
||||
IsChecked="{Binding ViewModel.IsPublic}"
|
||||
IsEnabled="{Binding IsEditingMode, UpdateSourceTrigger=PropertyChanged}" />
|
||||
|
||||
<StackPanel
|
||||
<Label Grid.Row="5" Grid.Column="0">Favorite</Label>
|
||||
<dxe:CheckEdit
|
||||
Grid.Row="5"
|
||||
Grid.Column="2"
|
||||
Margin="3"
|
||||
IsChecked="{Binding ViewModel.IsFavorite}"
|
||||
IsEnabled="{Binding IsEditingMode, UpdateSourceTrigger=PropertyChanged}" />
|
||||
|
||||
|
||||
<StackPanel
|
||||
Grid.Row="6"
|
||||
Grid.ColumnSpan="3"
|
||||
Margin="0,19,0,0"
|
||||
HorizontalAlignment="Right"
|
||||
|
||||
@@ -20,6 +20,7 @@ namespace BeWo.ViewModel
|
||||
private bool _IsOwnsoftPrompt;
|
||||
private string _OwnsoftRefLink;
|
||||
private bool _IsSelected;
|
||||
private bool _IsFavorite;
|
||||
|
||||
public AiPromptbausteinPromptVM(AiPromptbausteinPromptDC dc) : base(dc, dc.Oid)
|
||||
{
|
||||
@@ -91,6 +92,12 @@ namespace BeWo.ViewModel
|
||||
get => _OwnsoftRefLink;
|
||||
set => SetProperty(ref _OwnsoftRefLink, value, nameof(OwnsoftRefLink), () => DataContract.OwnsoftRefLink);
|
||||
}
|
||||
|
||||
public bool IsFavorite
|
||||
{
|
||||
get => _IsFavorite;
|
||||
set => SetProperty(ref _IsFavorite, value, nameof(IsFavorite), () => DataContract.IsFavorite);
|
||||
}
|
||||
|
||||
public bool CanEdit
|
||||
{
|
||||
@@ -122,6 +129,7 @@ namespace BeWo.ViewModel
|
||||
_ShowPromptByTenant = pDataContract.ShowPromptByTenant;
|
||||
_IsOwnsoftPrompt = pDataContract.IsOwnsoftPrompt;
|
||||
_OwnsoftRefLink = pDataContract.OwnsoftRefLink;
|
||||
_IsFavorite = pDataContract.IsFavorite;
|
||||
}
|
||||
|
||||
protected override AiPromptbausteinPromptDC MapToDataContract(AiPromptbausteinPromptDC pDataContract, bool doCommit)
|
||||
@@ -137,6 +145,7 @@ namespace BeWo.ViewModel
|
||||
pDataContract.ShowPromptByTenant = _ShowPromptByTenant;
|
||||
pDataContract.IsOwnsoftPrompt = _IsOwnsoftPrompt;
|
||||
pDataContract.OwnsoftRefLink = _OwnsoftRefLink;
|
||||
pDataContract.IsFavorite = _IsFavorite;
|
||||
|
||||
return pDataContract;
|
||||
}
|
||||
@@ -154,6 +163,7 @@ namespace BeWo.ViewModel
|
||||
ShowPromptByTenant = pDataContract.ShowPromptByTenant;
|
||||
IsOwnsoftPrompt = pDataContract.IsOwnsoftPrompt;
|
||||
OwnsoftRefLink = pDataContract.OwnsoftRefLink;
|
||||
IsFavorite = pDataContract.IsFavorite;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -254,7 +254,7 @@ namespace BeWo.ViewModel.View.Administration
|
||||
void OpenEditFolderDialog()
|
||||
{
|
||||
var sel_folder = SelectedFolder;
|
||||
var sel_dc = sel_folder.CommitToDataContract();
|
||||
var sel_dc = sel_folder.CopyToEmptyDataContract();
|
||||
var edit_vm = new AiPromptbausteinFolderVM(sel_dc);
|
||||
|
||||
var vm = new AiPromptbausteinFolderViewModel(edit_vm, false);
|
||||
@@ -336,7 +336,7 @@ namespace BeWo.ViewModel.View.Administration
|
||||
void OpenEditPromptDialog()
|
||||
{
|
||||
var sel_prompt = SelectedPrompt;
|
||||
var sel_dc = sel_prompt.CommitToDataContract();
|
||||
var sel_dc = sel_prompt.CopyToEmptyDataContract();
|
||||
var edit_vm = new AiPromptbausteinPromptVM(sel_dc);
|
||||
|
||||
var vm = new AiPromptbausteinPromptViewModel(edit_vm, false);
|
||||
|
||||
@@ -25,10 +25,10 @@ namespace BeWo.Data.Entities
|
||||
|
||||
public virtual int Position { get; set; }
|
||||
|
||||
public virtual bool IsExpanded { get; set; }
|
||||
|
||||
public virtual AiActionType ActionType { get; set; }
|
||||
|
||||
public virtual bool IsFavorite { get; set; }
|
||||
|
||||
public virtual IList<AiPromptbausteinFolder> SubFolders { get; set; } = new List<AiPromptbausteinFolder>();
|
||||
|
||||
public virtual IList<AiPromptbausteinPrompt> SubPrompts { get; set; } = new List<AiPromptbausteinPrompt>();
|
||||
|
||||
@@ -35,5 +35,7 @@ namespace BeWo.Data.Entities
|
||||
public virtual bool IsOwnsoftPrompt { get; set; }
|
||||
|
||||
public virtual string OwnsoftRefLink { get; set; }
|
||||
|
||||
public virtual IList<ApplicationUser> UserFavorites { get; set;} = new List<ApplicationUser>();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -24,5 +24,10 @@
|
||||
<property name="ShowPromptByTenant"/>
|
||||
<property name="IsOwnsoftPrompt"/>
|
||||
<property name="OwnsoftRefLink"/>
|
||||
|
||||
<bag name="UserFavorites" table="aipromptbausteinprompt2userfavorite" generic="true" cascade="none" batch-size="250">
|
||||
<key column="AiPromptbausteinPromptOid" />
|
||||
<many-to-many column="ApplicationUserOid" class="BeWo.Data.Entities.ApplicationUser, BeWo.Data" />
|
||||
</bag>
|
||||
</class>
|
||||
</hibernate-mapping>
|
||||
|
||||
@@ -22,7 +22,6 @@ namespace BeWo.Service.DCEntityMapper
|
||||
pDataContract.ParentFolderOid = pEntity.ParentFolderOid;
|
||||
pDataContract.IsPublic = pEntity.IsPublic;
|
||||
pDataContract.Position = pEntity.Position;
|
||||
pDataContract.IsExpanded = pEntity.IsExpanded;
|
||||
pDataContract.ActionType = pEntity.ActionType;
|
||||
pDataContract.SubFolders = MapperFactory.AiPromptbausteinFolder.MapToNewDCs(pEntity.SubFolders);
|
||||
pDataContract.SubPrompts = MapperFactory.AiPromptbausteinPrompt.MapToNewDCs(pEntity.SubPrompts);
|
||||
|
||||
@@ -3,6 +3,7 @@ using System.Linq;
|
||||
|
||||
using BeWo.Data.Access;
|
||||
using BeWo.Data.Entities;
|
||||
using BeWo.Data.Security;
|
||||
using BeWo.Service.ServiceImplementations;
|
||||
using BS.Shared;
|
||||
using BS.Shared.Core;
|
||||
@@ -12,6 +13,8 @@ namespace BeWo.Service.DCEntityMapper
|
||||
{
|
||||
public class AiPromptbausteinPromptDC_AiPromptbausteinPrompt : BeWoDataContract_BeWoEntityBase<AiPromptbausteinPrompt, AiPromptbausteinPromptDC>
|
||||
{
|
||||
public ApplicationUser CurrentApplicationUser => UserRightHelper.GetLoggedInUserWithOid();
|
||||
|
||||
public override AiPromptbausteinPromptDC MergeWithDC(AiPromptbausteinPrompt pEntity, AiPromptbausteinPromptDC pDataContract)
|
||||
{
|
||||
base.MergeWithDC(pEntity, pDataContract);
|
||||
@@ -27,6 +30,7 @@ namespace BeWo.Service.DCEntityMapper
|
||||
pDataContract.ShowPromptByTenant = pEntity.ShowPromptByTenant;
|
||||
pDataContract.IsOwnsoftPrompt = pEntity.IsOwnsoftPrompt;
|
||||
pDataContract.OwnsoftRefLink = pEntity.OwnsoftRefLink;
|
||||
pDataContract.IsFavorite = pEntity.UserFavorites.Contains(CurrentApplicationUser);
|
||||
|
||||
return pDataContract;
|
||||
}
|
||||
@@ -47,6 +51,16 @@ namespace BeWo.Service.DCEntityMapper
|
||||
//pEntity.IsOwnsoftPrompt = pDataContract.IsOwnsoftPrompt;
|
||||
//pEntity.OwnsoftRefLink = pDataContract.OwnsoftRefLink;
|
||||
|
||||
var user = CurrentApplicationUser;
|
||||
if (pDataContract.IsFavorite && !pEntity.UserFavorites.Contains(user))
|
||||
{
|
||||
pEntity.UserFavorites.Add(user);
|
||||
}
|
||||
else if(!pDataContract.IsFavorite && pEntity.UserFavorites.Contains(user))
|
||||
{
|
||||
pEntity.UserFavorites.Remove(user);
|
||||
}
|
||||
|
||||
return pEntity;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -19,6 +19,7 @@ namespace BS.Shared.DataContracts
|
||||
[DataMember] public bool ShowPromptByTenant { get; set; }
|
||||
[DataMember] public bool IsOwnsoftPrompt { get; set; }
|
||||
[DataMember] public string OwnsoftRefLink { get; set; }
|
||||
[DataMember] public bool IsFavorite { get; set; }
|
||||
|
||||
[DataMember] public bool CanEdit { get; set; }
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user