Я использую MVC, я пытаюсь создать учетную запись из mvc, но я хочу, чтобы в качестве имени пользователя пользователя было указано его псевдоним steam, указав только steamid в представлении создания.
public string GetUsernameFromId(string Steamid)
{
string steamid2 = Steamid.ToString();
XDocument doc = XDocument.Load("http://api.steampowered.com/ISteamUser/GetPlayerSummaries/v2/?key=steamapihide&steamids=" + Uri.EscapeDataString(steamid2) + "&format=xml");
string UserNames = (string)doc.Descendants("personaname").FirstOrDefault();
return UserNames;
}
в контроллере у меня есть это
[HttpGet]
public ActionResult Create(string Tradelink, string password, string Steamid)
{
Balance accBalance = bctrl.CreateonCreateAccount();
SteamAccount acc = new SteamAccount
{
SteamId = Steamid,
UserName = GetUsernameFromId(Steamid),
Password = password,
accountbalance = accBalance,
TradeLink = Tradelink
};
Create(acc);
return View();
}
[HttpPost]
public ActionResult Create(SteamAccount acc)
{
if (ModelState.IsValid)
{
Balance accountbalance = bctrl.CreateonCreateAccount();
acc.accountbalance = accountbalance;
acc.UserName = GetUsernameFromId(acc.SteamId);
foreach (var item in acc.AccountSkins)
{
sctrl.CreateonCreateAccount(item);
}
AccountRepo.Insert(acc);
AccountRepo.Save();
return RedirectToAction("Index");
}
else
{
return View(acc);
}
}
это мой класс модели
namespace CSGO_MVC.Models
{
public class SteamAccount
{
[Key]
public int Id { get; set; }
public string SteamId { get; set; }
public Balance accountbalance { get; set; }
[Required(ErrorMessage = "Please Provide Username", AllowEmptyStrings = false)]
public string UserName { get; set; }
[Required(ErrorMessage = "Please provide password", AllowEmptyStrings = false)]
[DataType(System.ComponentModel.DataAnnotations.DataType.Password)]
public string Password { get; set; }
public bool UserStatus { get; set; }
public string TradeLink { get; set; }
public List<Skin> AccountSkins { get; set; }
, поэтому я получаю ошибку, что Steamid не может быть нулевым вGetUsernameFromId метод, когда я пытаюсь запустить это.
Любая помощь?