39 lines
1.2 KiB
C#
39 lines
1.2 KiB
C#
using Microsoft.AspNet.Identity;
|
|
using Microsoft.AspNet.Mvc;
|
|
using System.Security.Claims;
|
|
using System.Threading.Tasks;
|
|
using System.Linq;
|
|
using Yavsc.Models;
|
|
using Yavsc.Abstract.Identity;
|
|
|
|
namespace Yavsc.ApiControllers.accounting
|
|
{
|
|
[Route("~/api/profile")]
|
|
public class ProfileApiController: Controller
|
|
{
|
|
UserManager<ApplicationUser> _userManager;
|
|
ApplicationDbContext _dbContext;
|
|
public ProfileApiController(ApplicationDbContext dbContext, UserManager<ApplicationUser> userManager)
|
|
{
|
|
_dbContext = dbContext;
|
|
_userManager = userManager;
|
|
}
|
|
|
|
[HttpGet("{allow}",Name ="setmonthlyemail")]
|
|
public async Task<object> SetMonthlyEmail(bool allow)
|
|
{
|
|
var user = await _userManager.FindByIdAsync(User.GetUserId());
|
|
user.AllowMonthlyEmail = allow;
|
|
_dbContext.SaveChanges(User.GetUserId());
|
|
return Ok(new { monthlyEmailPrefSaved = allow });
|
|
}
|
|
|
|
[HttpGet("userhint/{name}")]
|
|
public UserInfo[] GetUserHint(string name)
|
|
{
|
|
return _dbContext.Users.Where(u=>u.UserName.IndexOf(name)>0)
|
|
.Select(u=>new UserInfo(u.Id, u.UserName, u.Avatar))
|
|
.Take(10).ToArray();
|
|
}
|
|
}
|
|
} |