using BuddyFinance.Admin.Controllers; using BuddyFinance.Admin.Models; using BuddyFinance.Common.Integration; using BuddyFinance.Integration.Models; using BuddyFinance.Integration.Models.Account; using BuddyFinance.Integration.Models.Enums; using Microsoft.AspNetCore.Mvc; using Microsoft.AspNetCore.Mvc.Rendering; using Microsoft.Extensions.Configuration; using System.Collections.Generic; using System.Linq; namespace BuddyFinance.Admin.Areas.Admin.Controllers { [Area("Admin")] public class AccountsController : BaseController { public AccountsController(IConfiguration configuration, BuddyFinanceDbContext dbContext) : base(configuration, dbContext) { } public IActionResult Index() { var accounts = new List(); var helperResponse = WebApiHelper.Get>>(API_BASE + "account/", "all", _token); if (helperResponse.ErrorCode == 0) { var apiResponse = helperResponse.Result; if (apiResponse.ErrorCode == 0) accounts = apiResponse.Result.Where(m => m.Id != SessionManager.Current.CurrentUser.UserId).ToList(); else ViewBag.Message = "Could not get user accounts." + apiResponse.ErrorMessage; } else ViewBag.Message = "Could not get user accounts." + helperResponse.ErrorMessage; return View(accounts); } public IActionResult Create() { var model = new UserAccountModel(); PopulateLists(); return PartialView("_UserForm", model); } public IActionResult Update(int userId) { var model = new UserAccountModel(); var message = ""; var helperResponse = WebApiHelper.Get>(API_BASE + "account/", userId + "", _token); if (helperResponse.ErrorCode == 0) { var apiResponse = helperResponse.Result; if (apiResponse.ErrorCode == 0) model = apiResponse.Result; else message = "Could not get user account." + apiResponse.ErrorMessage; } else message = "Could not get user account." + helperResponse.ErrorMessage; //ViewBag.RoleList = new List //{ // new SelectListItem { // Value = ((int)UserRoleEnum.Admin).ToString(), // Text = UserTypeEnum.Admin // } // , // new SelectListItem { // Value = ((int)UserRoleEnum.SuperAdmin).ToString(), // Text = UserTypeEnum.SAdmin // } //}; PopulateLists(); return PartialView("_UserForm", model); } void PopulateLists() { var roleList = new List { new SelectListItem { Value = ((int)UserRoleEnum.Admin).ToString(), Text = UserTypeEnum.Admin } }; if (SessionManager.Current.CurrentUser.UserType == UserTypeEnum.SAdmin) { roleList.Add(new SelectListItem { Value = ((int)UserRoleEnum.SuperAdmin).ToString(), Text = UserTypeEnum.SAdmin }); } ViewBag.RoleList = roleList; } } }