Init
This commit is contained in:
parent
6012168a59
commit
e96bb672bf
@ -4,7 +4,7 @@ using System.Linq;
|
|||||||
using System.Text;
|
using System.Text;
|
||||||
using System.Threading.Tasks;
|
using System.Threading.Tasks;
|
||||||
|
|
||||||
namespace Demo.domain.Models
|
namespace Demo.Domain.Models
|
||||||
{
|
{
|
||||||
public class GroupLocalEntity
|
public class GroupLocalEntity
|
||||||
{
|
{
|
||||||
|
@ -4,7 +4,7 @@ using System.Linq;
|
|||||||
using System.Text;
|
using System.Text;
|
||||||
using System.Threading.Tasks;
|
using System.Threading.Tasks;
|
||||||
|
|
||||||
namespace Demo.domain.Models
|
namespace Demo.Domain.Models
|
||||||
{
|
{
|
||||||
internal class PresenceLocalEntity
|
internal class PresenceLocalEntity
|
||||||
{
|
{
|
||||||
|
@ -4,7 +4,7 @@ using System.Linq;
|
|||||||
using System.Text;
|
using System.Text;
|
||||||
using System.Threading.Tasks;
|
using System.Threading.Tasks;
|
||||||
|
|
||||||
namespace Demo.domain.Models
|
namespace Demo.Domain.Models
|
||||||
{
|
{
|
||||||
public class UserLocalEnity : IEquatable<UserLocalEnity>
|
public class UserLocalEnity : IEquatable<UserLocalEnity>
|
||||||
{
|
{
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
using Demo.domain.Models;
|
using Demo.Domain.Models;
|
||||||
using System;
|
using System;
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
using System.Linq;
|
using System.Linq;
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
using Demo.Data.LocalData;
|
using Demo.Data.LocalData;
|
||||||
using Demo.domain.Models;
|
using Demo.Domain.Models;
|
||||||
using System;
|
using System;
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
using System.Linq;
|
using System.Linq;
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
using Demo.Data.LocalData;
|
using Demo.Data.LocalData;
|
||||||
using Demo.domain.Models;
|
using Demo.Domain.Models;
|
||||||
using System;
|
using System;
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
using System.Linq;
|
using System.Linq;
|
||||||
|
@ -4,7 +4,7 @@ using System.Linq;
|
|||||||
using System.Text;
|
using System.Text;
|
||||||
using System.Threading.Tasks;
|
using System.Threading.Tasks;
|
||||||
|
|
||||||
namespace Demo.domain.Models
|
namespace Demo.Domain.Models
|
||||||
{
|
{
|
||||||
public class Group
|
public class Group
|
||||||
{
|
{
|
||||||
|
@ -4,7 +4,7 @@ using System.Linq;
|
|||||||
using System.Text;
|
using System.Text;
|
||||||
using System.Threading.Tasks;
|
using System.Threading.Tasks;
|
||||||
|
|
||||||
namespace Demo.domain.Models
|
namespace Demo.Domain.Models
|
||||||
{
|
{
|
||||||
public class Presence
|
public class Presence
|
||||||
{
|
{
|
||||||
|
@ -4,7 +4,7 @@ using System.Linq;
|
|||||||
using System.Text;
|
using System.Text;
|
||||||
using System.Threading.Tasks;
|
using System.Threading.Tasks;
|
||||||
|
|
||||||
namespace Demo.domain.Models
|
namespace Demo.Domain.Models
|
||||||
{
|
{
|
||||||
public class User
|
public class User
|
||||||
{
|
{
|
||||||
|
33
Demo/Domain/UseCase/GroupUseCase.cs
Normal file
33
Demo/Domain/UseCase/GroupUseCase.cs
Normal file
@ -0,0 +1,33 @@
|
|||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Linq;
|
||||||
|
using System.Text;
|
||||||
|
using System.Threading.Tasks;
|
||||||
|
using Demo.Domain.Models;
|
||||||
|
|
||||||
|
namespace Demo.Domain.UseCase
|
||||||
|
{
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
public class GroupUseCase
|
||||||
|
{
|
||||||
|
private List<Group> _groups = new List<Group>();
|
||||||
|
private int _nextId;
|
||||||
|
|
||||||
|
public IEnumerable<Group> GetAllGroups() => _groups;
|
||||||
|
|
||||||
|
public void AddGroup(string name)
|
||||||
|
{
|
||||||
|
_groups.Add(new Group { Id = _nextId++, Name = name });
|
||||||
|
}
|
||||||
|
|
||||||
|
public void UpdateGroupName(Guid id, string newName, bool Id)
|
||||||
|
{
|
||||||
|
var group = _groups.FirstOrDefault(g => Id);
|
||||||
|
if (group != null)
|
||||||
|
group.Name = newName;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
@ -1,46 +1,44 @@
|
|||||||
using Demo.Data.Repository;
|
using Demo.Data.Repository;
|
||||||
using Demo.domain.Models;
|
using Demo.Domain.Models;
|
||||||
using System;
|
using System;
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
using System.Linq;
|
using System.Linq;
|
||||||
using System.Text;
|
using System.Text;
|
||||||
using System.Threading.Tasks;
|
using System.Threading.Tasks;
|
||||||
|
|
||||||
namespace Demo.Domain.UseCase
|
|
||||||
|
public class UserUseCase
|
||||||
{
|
{
|
||||||
public class UserUseCase
|
private List<User> _users = new List<User>();
|
||||||
|
private UserRepositoryImpl userRepositoryImpl;
|
||||||
|
private GroupRepositoryImpl groupRepositoryImpl;
|
||||||
|
|
||||||
|
public UserUseCase(UserRepositoryImpl userRepositoryImpl, GroupRepositoryImpl groupRepositoryImpl)
|
||||||
{
|
{
|
||||||
private UserRepositoryImpl _repositoryUserImpl;
|
this.userRepositoryImpl = userRepositoryImpl;
|
||||||
private GroupRepositoryImpl _repositoryGroupImpl;
|
this.groupRepositoryImpl = groupRepositoryImpl;
|
||||||
|
}
|
||||||
|
|
||||||
public UserUseCase(UserRepositoryImpl repositoryImpl, GroupRepositoryImpl repositoryGroupImpl)
|
public IEnumerable<User> GetAllUsers() => _users;
|
||||||
|
|
||||||
|
public User FindUserByGuid(Guid id) => _users.FirstOrDefault(u => u. Guid == id);
|
||||||
|
|
||||||
|
public void DeleteUserByGuid(Guid id)
|
||||||
{
|
{
|
||||||
_repositoryUserImpl = repositoryImpl;
|
var user = _users.FirstOrDefault(u => u.Guid == id);
|
||||||
_repositoryGroupImpl = repositoryGroupImpl;
|
if (user != null)
|
||||||
|
_users.Remove(user);
|
||||||
}
|
}
|
||||||
|
|
||||||
public List<Group> GetAllGroups() => _repositoryGroupImpl.GetAllGroups()
|
public void UpdateUserByGuid(Guid id, string newName)
|
||||||
.Select(it => new Group { Id = it.Id, Name = it.Name}).ToList();
|
{
|
||||||
public List<User> GetAllUsers() => _repositoryUserImpl.GetAllUsers
|
var user = _users.FirstOrDefault(u => u.Guid == id);
|
||||||
.Join(_repositoryGroupImpl.GetAllGroups(),
|
if (user != null)
|
||||||
user => user.GroupID,
|
user.FIO = newName;
|
||||||
group => group.Id,
|
}
|
||||||
(user, group) =>
|
|
||||||
new User { FIO = user.FIO,
|
|
||||||
Guid = user.Guid,
|
|
||||||
Group = new Group {Id = group.Id, Name = group.Name } }
|
|
||||||
).ToList();
|
|
||||||
|
|
||||||
public bool RemoveUserByGuid(Guid userGuid) {
|
internal bool RemoveUserByGuid(Guid guidUser)
|
||||||
return _repositoryUserImpl.RemoveUserByGuid(userGuid);
|
{
|
||||||
}
|
throw new NotImplementedException();
|
||||||
public User UpdateUser(User user) {
|
|
||||||
UserLocalEnity userLocalEnity = new UserLocalEnity { FIO = user.FIO, GroupID = user.Group.Id, Guid = user.Guid };
|
|
||||||
UserLocalEnity? result = _repositoryUserImpl.UpdateUser(userLocalEnity);
|
|
||||||
if (result == null) throw new Exception("");
|
|
||||||
Group? group = GetAllGroups().FirstOrDefault(it => it.Id == result!.GroupID);
|
|
||||||
if (group == null) throw new Exception("");
|
|
||||||
return new User { FIO = user.FIO, Guid = user.Guid, Group = group};
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -1,6 +1,5 @@
|
|||||||
|
|
||||||
using Demo.Data.Repository;
|
using Demo.Data.Repository;
|
||||||
using Demo.Domain.UseCase;
|
|
||||||
using Demo.UI;
|
using Demo.UI;
|
||||||
|
|
||||||
GroupRepositoryImpl groupRepositoryImpl = new GroupRepositoryImpl();
|
GroupRepositoryImpl groupRepositoryImpl = new GroupRepositoryImpl();
|
||||||
|
@ -1,11 +1,4 @@
|
|||||||
using Demo.Domain.UseCase;
|
namespace Demo.UI
|
||||||
using System;
|
|
||||||
using System.Collections.Generic;
|
|
||||||
using System.Linq;
|
|
||||||
using System.Text;
|
|
||||||
using System.Threading.Tasks;
|
|
||||||
|
|
||||||
namespace Demo.UI
|
|
||||||
{
|
{
|
||||||
public class MainMenuUI
|
public class MainMenuUI
|
||||||
{
|
{
|
||||||
|
@ -1,9 +1,4 @@
|
|||||||
using Demo.Domain.UseCase;
|
using System.Text;
|
||||||
using System;
|
|
||||||
using System.Collections.Generic;
|
|
||||||
using System.Linq;
|
|
||||||
using System.Text;
|
|
||||||
using System.Threading.Tasks;
|
|
||||||
|
|
||||||
namespace Demo.UI
|
namespace Demo.UI
|
||||||
{
|
{
|
||||||
|
Loading…
Reference in New Issue
Block a user