Ciao Moreno,
un altra cosa come ho detto prima application user saranno i clienti quindi ho creato il controller applicationUser che in automatico mi ha generato le View Create,Edit, Index ecc.., ho visto che creando un nuovo "Cliente" manualmente l'id essendo una stringa va inserito a mano e giustamente mi chiede di inserire anche una password...
per quanto riguarda l'id avevo pensato di generare un una stringa random composta da lettere e numeri e fare un ciclo for dove controllo tutti gli user e se non è presente uso quello ma se ci fosse un modo di utilizzare quello che usa lui quando un utente si registra sarebbe meglio.. accetto consigli.
Mentre per quanto riguarda la password avevo pensato di usare io una password di default non visibile all'admin quando crea il cliente e convertirla utilizzando questo codice
using System.Security.Cryptography;
//ho inserito questo metodo
public string GenerateMD5(string yourString)
{
return string.Join("", MD5.Create().ComputeHash(Encoding.ASCII.GetBytes(yourString)).Select(s => s.ToString("x2")));
}
// e nel controller
[HttpPost]
[ValidateAntiForgeryToken]
public ActionResult Create([Bind(Include = "Id,Nome,Cognome,Telefono,Cellulare,DataDiNascita,Sesso,Indirizzo,Cap,Provincia,Email,PasswordHash,AccessFailedCount,UserName")] ApplicationUser applicationUser)
{
string pass = "dcgvtrhgtr";
if (ModelState.IsValid)
{
applicationUser.UserName = applicationUser.Email;
applicationUser.AccessFailedCount = 0;
applicationUser.PasswordHash = GenerateMD5(pass);
db.Users.Add(applicationUser);
db.SaveChanges();
return RedirectToAction("Index");
}
return View(applicationUser);
}
altra cosa..
ho voluto inserire il create degli utenti in un modal nella stessa pagina, ovvero nell'index, per farlo ho utilizzato
@{ Html.RenderAction("Create", "Clienti"); }
ma mi restituisce un errore:
Il valore non può essere null.
Nome parametro: value
Descrizione: Eccezione non gestita durante l'esecuzione della richiesta Web corrente. Per ulteriori informazioni sull'errore e sul suo punto di origine nel codice, vedere la traccia dello stack.
Dettagli eccezione: System.ArgumentNullException: Il valore non può essere null.
Nome parametro: value
Errore nel codice sorgente:
Riga 35: {
Riga 36:
Riga 37: return View(db.Users.ToList().Where(x=>x.Nome.Contains(s)));
Riga 38: }
Riga 39:
sembra non darmi più errore togliendo quel controller, ovvero questo:
//[HttpPost]
//public ActionResult Index(String s)
//{
// return View(db.Users.ToList().Where(x=>x.Nome.Contains(s)));
//}
l'ho commentato e ora non mi da più errore... boh
che mi consigli?
Modificato da Mirko2018 il 23 giugno 2018 00.51 -
Modificato da Mirko2018 il 23 giugno 2018 01.21 -