73 lines
2.5 KiB
C#
73 lines
2.5 KiB
C#
using FoodsharingSiegen.Contracts;
|
|
using FoodsharingSiegen.Contracts.Entity;
|
|
using Microsoft.EntityFrameworkCore;
|
|
|
|
namespace FoodsharingSiegen.Server.Data.Service
|
|
{
|
|
public class UserService : ServiceBase
|
|
{
|
|
public UserService(FsContext context) : base(context)
|
|
{
|
|
|
|
}
|
|
|
|
public async Task<OperationResult<User>> AddUserAsync(User user)
|
|
{
|
|
try
|
|
{
|
|
if (await Context.Users.AnyAsync(x => x.Mail.ToLower().Equals(user.Mail.ToLower())))
|
|
return new OperationResult<User>(new Exception("Diese E-Mail Adresse wird bereits verwendet"));
|
|
|
|
user.Created = DateTime.UtcNow;
|
|
|
|
await Context.Users.AddAsync(user);
|
|
|
|
var saveResult = await Context.SaveChangesAsync();
|
|
if (saveResult == 0) return new OperationResult<User>(new Exception("Fehler bei der Registrierung"));
|
|
|
|
return new OperationResult<User>(user);
|
|
}
|
|
catch (Exception e)
|
|
{
|
|
return new OperationResult<User>(e);
|
|
}
|
|
|
|
}
|
|
|
|
public async Task<OperationResult> Update(User user)
|
|
{
|
|
try
|
|
{
|
|
Context.Users.Update(user);
|
|
var saveR = await Context.SaveChangesAsync();
|
|
|
|
if(saveR < 1) return new OperationResult(new Exception("Fehler beim speichern"));
|
|
return new OperationResult();
|
|
}
|
|
catch (Exception e)
|
|
{
|
|
return new OperationResult(e);
|
|
}
|
|
}
|
|
|
|
////////////////////////////////////////////////////////////////////////////////////////////////////
|
|
/// <summary> Gets users asynchronous. </summary>
|
|
///
|
|
/// <remarks> A Beging, 20.10.2021. </remarks>
|
|
///
|
|
/// <returns> An asynchronous result that yields the users. </returns>
|
|
////////////////////////////////////////////////////////////////////////////////////////////////////
|
|
public async Task<OperationResult<List<User>>> GetUsersAsync()
|
|
{
|
|
try
|
|
{
|
|
var users = await Context.Users.ToListAsync();
|
|
return new OperationResult<List<User>>(users);
|
|
}
|
|
catch (Exception e)
|
|
{
|
|
return new OperationResult<List<User>>(e);
|
|
}
|
|
}
|
|
}
|
|
} |