المساعد الشخصي الرقمي

مشاهدة النسخة كاملة : LINQ and Multithreading : insert not work



C# Programming
01-26-2011, 09:00 AM
Hi to all developers.

I try to program something like Yahoo messenger ( school project).

I write tow program, Server and Client. when a client request new account, server receive the command and made new user object but it won't add new user to database. in server every socket process within a thread.

I debug line by line, everything is OK ( I think ..! )
I also try update my DB via Stored procedure, but no luck http://www.barakasoft.com/script/Forums/Images/smiley_frown.gif
for more details take a look at my code.

any help appreciate.

User table:

http://i52.tinypic.com/2hyvskn.jpg

private void CommandReceived(object sender, CommandEventArgs e)
{

switch (e.Command.CommandType)
{
case CommandsType.NewUser:
{
int ret = CreateNewUser(e.Command.SenderUsername, e.Command.MetaData);
Command cmd = new Command(CommandsType.NewUser, "server", e.Command.SenderUsername, ret.ToString());
SendCommandToTarget(cmd);
UpdateConsole("new client registration ", "", IPAddress.None, 0);

break;
}
}
}
private int CreateNewUser(string u, string pne)
{
try
{
RMData db = new RMData();
string username = u;
string password = pne.Split(new char[] { ':' })[0];
string email = pne.Split(new char[] { ':' })[1];
Users user = db.Users.SingleOrDefault(usr => usr.Username == username);
if (user != null)
return 1;
user = db.Users.SingleOrDefault(usr => usr.Email == email);
if (user != null)
return 2;
user = new Users();
user.Username = username;
user.AddedDate = DateTime.Now;
user.Email = email;
user.Password = password;
db.Users.InsertOnSubmit(user);

return 0;
}
catch (Exception ex)
{
return 3;
}
} N
o
N
ame