private void btnSendShifts_Click(object sender, EventArgs e) { int remoteUserID = frmRemoteLogin.RemoteUserID; List <RemoteShift> ls = (from s in ctx.Shifts where !s.Sent select new RemoteShift { Date = s.Date, ShiftNum = s.ShiftNum, RemoteUserID = remoteUserID, Description = s.Description, RemoteRequests = (from r in s.Requests select new RemoteRequest { FullName = r.Passenger.FullName, Gender = r.Passenger.Gender, PassportNum = r.Passenger.PassportNum, BornDate = r.Passenger.BornDate, IssueDate = r.Passenger.IssueDate, ExpiryDate = r.Passenger.ExpiryDate }).ToList <RemoteRequest>() }).ToList <RemoteShift>(); ctxCentral.RemoteShifts.AddRange(ls); ctxCentral.RemoteUsers.Where(u => u.ID == remoteUserID).First <RemoteUser>().LastSeen = DateTime.Now; try { ctxCentral.SaveChanges(); } catch (System.Data.Entity.Core.EntityException ex) { if (ex.InnerException.HResult == -2146232060) { MessageBox.Show("اتصال به پایگاه داده برقرار نشد. لطفا از اتصال به اینترنت مطمئن شوید...\n" + ex.ToString()); } ctxCentral = new VisaXCenteralEntities("ASAWARI"); return; } foreach (var shift in ctx.Shifts.Select(s => s).Where(ss => ss.Sent == false)) { shift.Sent = true; } ctx.SaveChanges(); MessageBox.Show("شیفت ها با موفقیت به مرکز ارسال شدند.", "ارسال شیفت ها", MessageBoxButtons.OK, MessageBoxIcon.Information, MessageBoxDefaultButton.Button1, MessageBoxOptions.RtlReading); refreshGrid(); }
private void btnOK_Click(object sender, EventArgs e) { erp.Clear(); if (txtUserName.Text.Trim() == string.Empty) { erp.SetError(txtUserName, "نام کاربری را وارد کنید."); return; } if (txtFullName.Text.Trim().Length < 2) { erp.SetError(txtFullName, "نام کامل کاربر را وارد کنید."); return; } User usr = new User { UserName = txtUserName.Text, RealName = txtFullName.Text, Password = StringUtil.Crypt(string.Empty) }; ctx.Users.Add(usr); if (ctx.SaveChanges() > 0) { DialogResult = DialogResult.OK; Close(); }//if }
private void btnDelete_Click(object sender, EventArgs e) { int id = (int)dgvPassengers.SelectedRows[0].Cells["colRequestID"].Value; Request req = (from p in ctx.Requests where p.ID == id select p).First(); if (new frmMsgBox("آیا مایل به حذف این درخواست هستید؟", "حذف در خواست " + req.Passenger.FullName, MessageBoxButtons.YesNo, MsgBoxIcon.Question).ShowDialog() == DialogResult.Yes) { ctx.Requests.Remove(req); ctx.SaveChanges(); refreshGrid(); }//if }
private void btnDelete_Click(object sender, EventArgs e) { User usr = (User)dgvUsers.SelectedRows[0].DataBoundItem; if (MessageBox.Show("آیا مایل به حذف این کاربر هستید؟", "حذف " + usr.RealName, MessageBoxButtons.YesNo, MessageBoxIcon.Warning, MessageBoxDefaultButton.Button1, MessageBoxOptions.RtlReading) == DialogResult.Yes) { ctx.Users.Remove(usr); try { ctx.SaveChanges(); } catch (System.Data.Entity.Infrastructure.DbUpdateException ex) { new frmMsgBox(ex.ToString(), "امکان حذف کاربری که عملیات انجام داده وجود ندارد.").ShowDialog(); //MessageBox.Show("امکان حذف کاربری که عملیات انجام داده وجود ندارد.\n\n" + .Remove(500) + "...", "خطا در حذف کاربر", MessageBoxButtons.OK, MessageBoxIcon.Stop); ctx.Entry(usr).Reload(); return; } getData(); }//if }
private void btnNew_Click(object sender, EventArgs e) { byte max = ctx.Shifts.Where(s => s.Date == DateTime.Today).Select(s => s.ShiftNum).DefaultIfEmpty <byte>(0).Max(); max++; string message = string.Format("تولید شیفت شماره {0} به تاریخ {1} توسط {2}؟", max, DateTime.Today.ToShortDateString(), Properties.Settings.Default.User.RealName); frmNewShift frmNewShift = new frmNewShift(message); if (frmNewShift.ShowDialog() == DialogResult.Yes) { ctx.Shifts.Add(new Shift { Date = DateTime.Today, UserID = Properties.Settings.Default.User.ID, ShiftNum = max, Description = frmNewShift.txtDescription.Text }); ctx.SaveChanges(); refreshGrid(); dgvShifts.ClearSelection(); dgvShifts.Rows[dgvShifts.RowCount - 1].Selected = true; } //if } //btnNew
private void btnOK_Click(object sender, EventArgs e) { erp.Clear(); if (txtFullName.Text.Trim().Length < 2) { erp.SetError(txtFullName, "نام کامل کاربر را وارد کنید"); return; } CurrentUser.RealName = txtFullName.Text.Trim(); if (ctx.SaveChanges() > 0) { DialogResult = DialogResult.OK; Close(); }//if }
private void btnEdit_Click(object sender, EventArgs e) { ctx = new VisaXEntities(); int id = (int)dgvShifts.SelectedRows[0].Cells["colID"].Value; Shift shift = (from s in ctx.Shifts where s.ID == id select s).First(); string message = string.Format("ویرایش توضیحات شیفت شماره {0} با تاریخ {1} توسط {2}؟", shift.ShiftNum, shift.Date.ToShortDateString(), shift.User.RealName); frmNewShift frmNewShift = new frmNewShift(message); frmNewShift.txtDescription.Text = shift.Description; if (frmNewShift.ShowDialog() == DialogResult.Yes) { shift.Description = frmNewShift.txtDescription.Text; } ctx.SaveChanges(); refreshGrid(); dgvShifts.ClearSelection(); dgvShifts.Rows[dgvShifts.RowCount - 1].Selected = true; }//btnEdit
private void receive() { VisaXCenteralEntities ctxRemote = new VisaXCenteralEntities("ASAWARI"); VisaXEntities ctxLocal = new VisaXEntities(); var locals = ctxLocal.Passengers.ToList(); var remotes = ctxRemote.RemotePassengers.ToList(); var newPassengers = remotes.Where(r => !locals.Any(l => l.PassportNum == r.PassportNum)).Select(p => new Passenger() { PassportNum = p.PassportNum, FullName = p.FullName, Gender = p.Gender, BornDate = p.BornDate, IssueDate = p.IssueDate, ExpiryDate = p.ExpiryDate, UserID = 1 }).ToList(); ctxLocal.Passengers.AddRange(newPassengers); ctxLocal.SaveChanges(); }
private void btnOK_Click(object sender, EventArgs e) { string cryptedPass = StringUtil.Crypt(txtNewPass.Text); if (StringUtil.Crypt(txtCurPass.Text) == Properties.Settings.Default.User.Password) { if (txtNewPass.Text == txtRepPass.Text) { Properties.Settings.Default.User.Password = cryptedPass; ctx.Users.Select(u => u).Where(u => u.ID == Properties.Settings.Default.User.ID).FirstOrDefault().Password = cryptedPass; ctx.SaveChanges(); MessageBox.Show("رمز عبور جدید تنظیم شد"); Close(); }//if else { MessageBox.Show("رمز عبور جدید با تکرار آن تطابق ندارد"); } } else { MessageBox.Show("رمز عبور معتبر نیست."); } }
private void btnOK_Click(object sender, EventArgs e) { string sucMessage = string.Empty; if (validateForm()) { if (this.passenger == null) //if Add mode { Passenger p = new Passenger { FullName = txtFullName.Text, PassportNum = txtPassportNum.Text, Gender = (byte)cmbGender.SelectedIndex, UserID = Properties.Settings.Default.User.ID }; DateTime tempDate; if (DateTime.TryParse(txtBornDate.Text, out tempDate)) { p.BornDate = tempDate; } if (DateTime.TryParse(txtIssueDate.Text, out tempDate)) { p.IssueDate = tempDate; } if (DateTime.TryParse(txtExpiryDate.Text, out tempDate)) { p.ExpiryDate = tempDate; } p.Requests.Add(new Request { ShiftID = this.selectedShift.ID, UserID = Properties.Settings.Default.User.ID, }); ctx.Passengers.Add(p); sucMessage = "رکورد جدید اضافه شد"; lblStatusMsg.ForeColor = Color.DarkGreen; lblStatusMsg.Text = string.Format("{0} ({1})", sucMessage, p.FullName); } else //if edit mode { this.passenger.FullName = txtFullName.Text; this.passenger.PassportNum = txtPassportNum.Text; this.passenger.Gender = (byte)cmbGender.SelectedIndex; DateTime tempDate; if (DateTime.TryParse(txtBornDate.Text, out tempDate)) { passenger.BornDate = tempDate; } if (DateTime.TryParse(txtIssueDate.Text, out tempDate)) { passenger.IssueDate = tempDate; } if (DateTime.TryParse(txtExpiryDate.Text, out tempDate)) { passenger.ExpiryDate = tempDate; } this.passenger.UserID = Properties.Settings.Default.User.ID; sucMessage = "رکورد ویرایش شد"; lblStatusMsg.ForeColor = Color.DarkBlue; lblStatusMsg.Text = string.Format("{0} ({1})", sucMessage, passenger.FullName); if (!this.justEdit) { this.passenger.Requests.Add(new Request { ShiftID = this.selectedShift.ID, UserID = Properties.Settings.Default.User.ID }); } }//else try { ctx.SaveChanges(); } catch (System.Data.Entity.Infrastructure.DbUpdateException ex) { if (ex.InnerException.InnerException.Message.Contains("AK_Date_PassengerID")) { new frmMsgBox(ex.ToString(), "متقاضی مورد نظر قبلاً در این روز ثبت شده.", MessageBoxButtons.OK, MsgBoxIcon.Stop).ShowDialog(); } ctx = new VisaXEntities(); } this.passenger = null; txtPassportNum.Focus(); txtFullName.Text = txtPassportNum.Text = txtBornDate.Text = txtExpiryDate.Text = txtIssueDate.Text = string.Empty; }//if }
private void import() { int invalidDates = 0; if (txtFileName.Text == string.Empty) { MessageBox.Show("ابتدا پوشه حاوی فایل های اکسل را انتخاب کنید.", "وارد کردن متقاضیان به دیتابیس", MessageBoxButtons.OK, MessageBoxIcon.Error, MessageBoxDefaultButton.Button1, MessageBoxOptions.RightAlign | MessageBoxOptions.RtlReading); btnBrowse_Click(null, null); }//if List <Passenger> allPassengers = new List <Passenger>(); DirectoryInfo info = new DirectoryInfo(txtFileName.Text); var files = info.GetFiles("*.xls"); Excel.Application excelApllication = null; Excel.Workbook excelWorkBook = null; Excel.Worksheet excelWorkSheet = null; excelApllication = new Excel.Application(); System.Threading.Thread.Sleep(2000); double fileNum = 0; foreach (var file in files) { fileNum++; excelWorkBook = excelApllication.Workbooks.Open(file.FullName, 0, true, 5, "", "", true, Excel.XlPlatform.xlWindows, "\t", false, false, 0, true, 1, 0); excelWorkSheet = (Excel.Worksheet)excelWorkBook.Worksheets.get_Item(1); int rowNum = 1; while (excelWorkSheet.Cells[rowNum + 7, 8].Value != null) { string passportNum = excelWorkSheet.Cells[rowNum + 7, 7].Value.ToString(); if (allPassengers.Select(r => r.PassportNum).Contains(passportNum) || passportNum.Length != 8) { rowNum++; continue; }//if Passenger p = new Passenger() { PassportNum = passportNum, FullName = excelWorkSheet.Cells[rowNum + 7, 8].Value, Gender = (byte)(excelWorkSheet.Cells[rowNum + 7, 6].Value2 == "ذکر" ? 0 : 1), UserID = Properties.Settings.Default.User.ID }; if (excelWorkSheet.Cells[rowNum + 7, 5].Value != null) { var bornDate = excelWorkSheet.Cells[rowNum + 7, 5].Value2; var issueDate = excelWorkSheet.Cells[rowNum + 7, 4].Value2; var expiryDate = excelWorkSheet.Cells[rowNum + 7, 3].Value2; if (bornDate is double && issueDate is double && expiryDate is double) { p.BornDate = DateTime.FromOADate(bornDate); p.IssueDate = DateTime.FromOADate(issueDate); p.ExpiryDate = DateTime.FromOADate(expiryDate); }//if else { invalidDates++; } }//if allPassengers.Add(p); rowNum++; }//while int pr = (int)(fileNum / files.Count() * 100); bgw.ReportProgress(pr); }//foreach excelWorkBook.Close(); excelApllication.Quit(); Marshal.FinalReleaseComObject(excelWorkSheet); Marshal.FinalReleaseComObject(excelWorkBook); Marshal.FinalReleaseComObject(excelApllication); excelApllication = null; excelWorkSheet = null; VisaXEntities ctx = new VisaXEntities(); var dbPassengers = ctx.Passengers.Select(pp => pp.PassportNum).ToList(); var uniquePassengers = new List <Passenger>(); foreach (var p in allPassengers) { if (!dbPassengers.Contains(p.PassportNum)) { uniquePassengers.Add(p); } } if (uniquePassengers.Count == 0) { MessageBox.Show("هیچ رکورد جدیدِی برای وارد کردن وجود ندارد.", "", MessageBoxButtons.OK, MessageBoxIcon.Information, MessageBoxDefaultButton.Button1, MessageBoxOptions.RightAlign | MessageBoxOptions.RtlReading); return; }//if StringBuilder msg = new StringBuilder(); msg.AppendLine("تعداد رکوردهای با تاریخ نامعتبر " + invalidDates.ToString()); msg.AppendLine((allPassengers.Count - uniquePassengers.Count) > 0 ? string.Format("تعداد {0} متقاضی قبلا وارد شده اند.\n", allPassengers.Count - uniquePassengers.Count) : ""); foreach (var p in uniquePassengers) { msg.AppendLine(string.Format("- {0}\t ش.پ: {1}", p.FullName, p.PassportNum)); } if (new frmMsgBox(msg.ToString(), " متقاضیانی که وارد خواهند شد به شرح ذیل هستند؛ آیا مایل به وارد کردن آنها هستید؟", MessageBoxButtons.YesNo, MsgBoxIcon.Question).ShowDialog() == DialogResult.Yes) { ctx.Passengers.AddRange(uniquePassengers); ctx.SaveChanges(); }//if Properties.Settings.Default.Save(); }