خیلی ممنون که جواب دادید این سیستم کد نویسی بنده برای ورود به برنامه . به صورت Linq
private void LoginSystem()
{
MD5CryptoServiceProvider md5Hasher = new MD5CryptoServiceProvider();
byte[] hashedDataBytes;
UTF8Encoding encoder = new UTF8Encoding();
string StrPassWord = TxtPassWord.Text;
hashedDataBytes = md5Hasher.ComputeHash(encoder.GetBytes(StrPassWord ));
var query = db.Tbl_Users.Where(d => d.UserName == TxtUsers.Text && d.PassWord == hashedDataBytes);
if (TxtPassWord.Text != "" && TxtUsers.Text != "")
{
if (query.Count() != 0)
{
Program.User = TxtUsers.Text.ToString();
FrmMain fm = new FrmMain();
this.Hide();
fm.ShowDialog();
}
else
{
PersianMessageBox.Show("چنین نام کاربری یافت نشود؟", "خطا", PersianMessageBox.Buttons.OK,
PersianMessageBox.Icon.Error);
TxtUsers.Text = "";
TxtPassWord.Text = "";
}
}
else
{
PersianMessageBox.Show("نام کاربری یا رمز عبور را وارد فرمایید؟", "خطا", PersianMessageBox.Buttons.OK,
PersianMessageBox.Icon.Error);
}
}
private void BtnLogin_Click(object sender, EventArgs e)
{
LoginSystem();
}
این هم کد هم نحوه کد نویسیم در فرم اصلی که اطلاعات نمایش داده بیشه تمام جزیاتش. فقط یه چیزی من در تمام برنامه نمی خوام نمایش اطلاعاتکاربر رو به کار ببرم وقتی دکمه ذخیره زده شد اطلاعات ثبت بیشه فقط در فرم اصلی میخوام به این صورت باشه در Ado نوشتم این نوع کد نویسی خیلی خوب جواب داد.ولی Linq رو تازه شروع کردم بلد نیستم. این هم کد نویسی بنده در صفحه اصلی شامل ، نمایش اطلاعات کاربر و تصویر فقط کد مروبط به قسمت فعال و غیر فعال کردن دکمه رو قرار ندادم چون امدم ذخیره ویرایش و خیلی کاراش رو انجام بدم تا وقتی تمام شد اون امکان رو هم بزارم چون 2 تا دکمه غیر فعال میشن که معلوم نشه برای کاربرن دیگه که کسی وارد شده و کسی نتونه کاربر در سیستم ثبت کنه. کد مبروط به ساعت ، تاریخ که به صورت کلاس از فرم دیگه آمده ، کد مروبط به تایمر برای راه افتادن تامیر در برنامه وقتی 3 ثانیه رسید اطلاعات آخرین کاربر رو ویرایش کنی که تو این ماندم.و کد مروبط به ثبت کار در زمان ورود به برنامه که نوشتم جواب هم میده وقتی طرف وارد میشه اطلاعاتش ثبت میشه در ویرایش تاریخ و زمان خروج و مدت زمان در برنامه هی ویرایش میشن. این هم کد کلی بنده.
ClsNeedCode clsnd = new ClsNeedCode();
ClsPersianDate prsDate = new ClsPersianDate(DateTime.Now);
private static bool showfriendmessageMainUser = true;
DataBaseDataContext db=new DataBaseDataContext();
ClsPersianDate prDate=new ClsPersianDate(DateTime.Now);
public string users = Program.User;
public void UserShowInfo()
{
var query = from myrow in db.Tbl_Users
where myrow.UserName == users
select
new
{
user = myrow.UserName,
sex = myrow.Sex,
namee = myrow.Name,
last = myrow.Last,
showUserInfo = myrow.View_Users_Information,
RegUserInfo = myrow.View_User_Registration,
unitt= myrow.Unit
};
foreach (var ValueFromQuery in query)
{
LblUsers.Text = ValueFromQuery.user;
LblSex.Text = ValueFromQuery.sex;
LblName.Text = ValueFromQuery.namee;
LblLast.Text = ValueFromQuery.last;
LblUnit.Text = ValueFromQuery.unitt;
}
}
public void GetPic()
{
var query = from myrow in db.Tbl_Users
where myrow.UserName == users
select Image.FromStream(new MemoryStream(myrow.Photo.ToArray()));
foreach (Image image in query)
{
pictureBox1.Image = (image);
}
}
void SaveUser()
{
try
{
Tbl_Member_Information_Sheet tbl=new Tbl_Member_Information_Sheet();
MemoryStream ms=new MemoryStream();
pictureBox1.Image.Save(ms,System.Drawing.Imaging.I mageFormat.Png);
byte[] pi = ms.ToArray();
tbl.sex = LblSex.Text.Trim();
tbl.Name = LblName.Text.Trim();
tbl.Last = LblLast.Text.Trim();
tbl.Photo = pi;
tbl.Date = LblDateShort.Text;
tbl.Time = LbLTime.Text;
tbl.In_Time = LblTimer.Text;
tbl.Unit = LblUnit.Text;
db.Tbl_Member_Information_Sheets.InsertOnSubmit(tb l);
db.SubmitChanges();
}
catch (Exception ex)
{
if (!showfriendmessageMainUser)
PersianMessageBox.Show(ex.Message);
else
PersianMessageBox.Show("خطا در اجرا دستورات خطا 104", "خطا", PersianMessageBox.Buttons.OK,
PersianMessageBox.Icon.Error);
}
}
private void FrmMain_Load(object sender, EventArgs e)
{
LblDateShort.Text = clsnd.dateshort(DateTime.Now);
LblDateFull.Text = "آمروز : " + prsDate.CompletePrsDate() + prsDate.taghvim();
LbLTime.Text = clsnd.TimeFull(DateTime.Now);
UserShowInfo();
GetPic();
SaveUser();
}
private void BtnMin_Click(object sender, EventArgs e)
{
this.WindowState = FormWindowState.Minimized;
}
private void TimOclock_Tick(object sender, EventArgs e)
{
LbLTime.Text = clsnd.TimeFull(DateTime.Now);
}
public static int si = 0;
private void TimSayeBan_Tick(object sender, EventArgs e)
{
try
{
string Lstr = "نرم افزار حسابداری سایه بان";
if (LblSayeBan.Text.ToString().Length < Lstr.Length)
{
LblSayeBan.Text = Lstr.Substring(0, si) + "";
si += 1;
}
else
{
LblSayeBan.Text = "";
si = 0;
}
}
catch
{
}
}
void Check_Seconds()
{
string sec, min;
sec = LblTimer.Text.Substring(6, 2);
min = LblTimer.Text.Substring(3, 2);
if (Convert.ToInt32(sec) < 59)
if (Convert.ToInt32(sec) < 9)
sec = "0" + Convert.ToString(Convert.ToInt32(sec) + 1);
else
sec = Convert.ToString(Convert.ToInt32(sec) + 1);
else
{
sec = "00";
Check_Minute();
}
LblTimer.Text = LblTimer.Text.Substring(0, 6) + sec;
}
void Check_Minute()
{
string min, hour;
min = LblTimer.Text.Substring(3, 2);
hour = LblTimer.Text.Substring(0, 2);
if (Convert.ToInt32(min) < 59)
if (Convert.ToInt32(min) < 9)
min = "0" + Convert.ToString(Convert.ToInt32(min) + 1);
else
min = Convert.ToString(Convert.ToInt32(min) + 1);
else
{
min = "00";
if (Convert.ToInt32(hour) < 23)
if (Convert.ToInt32(hour) < 9)
hour = "0" + Convert.ToString(Convert.ToInt32(hour) + 1);
else
hour = Convert.ToString(Convert.ToInt32(hour) + 1);
else
hour = "00";
}
LblTimer.Text = hour + ":" + min + LblTimer.Text.Substring(5, 3);
}
private void TimTimer_Tick(object sender, EventArgs e)
{
Check_Seconds();
}
void UpdateUser()
{
//var query = db.Tbl_Member_Information_Sheets.Max(i => i.ID);
var query =
(from up in db.Tbl_Member_Information_Sheets
where up.ID == db.Tbl_Member_Information_Sheets.Max(i => i.ID)
select up).SingleOrDefault();
string _dateOut = LblDateShort.Text;
string _time = LbLTime.Text;
string _timer = LblTimer.Text;
query.Departure_Date = _dateOut;
query.Time_Out = _time;
query.In_Time = _timer;
db.SubmitChanges();
}
private void TimUpdate_Tick(object sender, EventArgs e)
{
//UpdateUser();
}