user create controller
user create controller
{
if (WalletAppWorkSpace == null)
{
return RedirectToAction("Login", "Login");
}
ViewData["WalletAppWorkSpace"] = WalletAppWorkSpace;
ViewBag.UserType = new List<SelectListItem>()
{
new SelectListItem {Text = "Admin", Value = "ADMIN" },
new SelectListItem {Text = "Wallet", Value = "Wallet_User" },
new SelectListItem {Text = "Profile Builder", Value =
"Profile_Builder" }
};
return View();
}
[HttpPost]
public async Task<ActionResult> Create(User user)
{
if (user.IsDDX)
{
user.Environments.Add("DDX");
}
else
{
user.Environments.Remove("DDX");
}
if (user.IsInBuiltCard)
{
user.Environments.Add("InBuiltCard");
}
else
{
user.Environments.Remove("InBuiltCard");
}
if (user.IsTestHarness)
{
user.Environments.Add("TestHarness");
}
else
{
user.Environments.Remove("TestHarness");
}
var loggedUser = WalletAppWorkSpace.UserObj;
ViewData["WalletAppWorkSpace"] = WalletAppWorkSpace;
ViewBag.UserType = new List<SelectListItem>()
{
new SelectListItem {Text = "Admin", Value = "ADMIN" },
new SelectListItem {Text = "Wallet User", Value = "Wallet_User"
},
new SelectListItem {Text = "Profile Builder", Value =
"Profile_Builder" }
};
if (ValidateUser(user))
{
user.CreatedBy = loggedUser.Id;
if (_sessionUser == "")
{
apiRoute = "api/User/create";
}
else // For editing user, updating entered values in the UI form
{
User sessionUser =
JsonConvert.DeserializeObject<User>(_sessionUser);
sessionUser.Email = user.Email;
sessionUser.Name = user.Name;
sessionUser.Environments = user.Environments;
sessionUser.IsDDX = user.IsDDX;
sessionUser.IsInBuiltCard = user.IsInBuiltCard;
sessionUser.IsTestHarness = user.IsTestHarness;
sessionUser.AccessToWalletServer = user.AccessToWalletServer;
user = sessionUser; // Need to change this implementation
}
if (userCreateResponse.StatusIsSuccessful == true)
{
User loggeduser = WalletAppWorkSpace.UserObj;
if (loggeduser.Email == user.Email)
{
WalletAppWorkSpace.UserObj = user;
string serializedWorksapce =
JsonConvert.SerializeObject(WalletAppWorkSpace);
HttpContext.Session.SetString(WalletAppConstants.WORKSPACE,
serializedWorksapce);
ViewData["WalletAppWorkSpace"] = WalletAppWorkSpace;
}