83 lines
2.5 KiB
C#
83 lines
2.5 KiB
C#
using System;
|
|
using System.Collections.Generic;
|
|
using System.Linq;
|
|
using System.Threading.Tasks;
|
|
using Church.Net.Entity;
|
|
using WebAPI.Logics;
|
|
using WebAPI.Logics.Interface;
|
|
using Microsoft.AspNetCore.Authorization;
|
|
using Microsoft.AspNetCore.Mvc;
|
|
|
|
namespace WebAPI.Controllers
|
|
{
|
|
[Route("[controller]/[action]")]
|
|
[Authorize]
|
|
[ApiController]
|
|
public class PastoralDomainController : ApiControllerBase<PastoralDomain>
|
|
{
|
|
private readonly PastoralDomainLogic logic;
|
|
|
|
public PastoralDomainController(PastoralDomainLogic logic) : base(logic)
|
|
{
|
|
this.logic = logic;
|
|
}
|
|
|
|
[HttpGet]
|
|
public Task<IEnumerable<PastoralDomain>> GetCurrentUserPastoralDomain()
|
|
{
|
|
return Task.Run(() =>
|
|
{
|
|
return logic.GetCurrentUserPastoralDomain();
|
|
});
|
|
}
|
|
}
|
|
|
|
[Route("[controller]/[action]")]
|
|
[ApiController]
|
|
[Authorize]
|
|
public class DomainMemberShipController : CombinedKeyApiControllerBase<PastoralDomainMembers>
|
|
{
|
|
public DomainMemberShipController(ICombinedKeyCrudLogic<PastoralDomainMembers> logic) : base(logic)
|
|
{
|
|
}
|
|
|
|
|
|
[HttpPost]
|
|
public int AssignCellGroups(IEnumerable<PastoralDomainMembers> relations)
|
|
{
|
|
logic.Delete(r => relations.Any(rr => (r.FamilyMemberId == rr.FamilyMemberId)));
|
|
foreach (var relation in relations)
|
|
{
|
|
//logic.Delete(r => r.FamilyMemberId == relation.FamilyMemberId);
|
|
logic.Create(relation);
|
|
}
|
|
return 1;
|
|
}
|
|
|
|
[HttpGet]
|
|
public int AddMemberIntoGroup(string domainId, string memberId)
|
|
{
|
|
return logic.CreateOrUpdate(new PastoralDomainMembers() { PastoralDomainId = domainId, FamilyMemberId = memberId });
|
|
}
|
|
|
|
[HttpGet]
|
|
public int RemoveMemberFromGroup(string domainId, string memberId)
|
|
{
|
|
return logic.Delete(r => r.PastoralDomainId == domainId && r.FamilyMemberId == memberId);
|
|
}
|
|
|
|
[HttpPost]
|
|
public int UpdateMembersInGroup(PastoralDomain domain)
|
|
{
|
|
logic.Delete(r => r.PastoralDomainId == domain.Id);
|
|
foreach (var member in domain.FamilyMembers)
|
|
{
|
|
//logic.Delete(r => r.FamilyMemberId == relation.FamilyMemberId);
|
|
logic.Create(new PastoralDomainMembers() { PastoralDomainId = domain.Id, FamilyMemberId = member.Id });
|
|
}
|
|
return 1;
|
|
}
|
|
|
|
}
|
|
}
|