示例#1
0
        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();
        }
示例#2
0
        private void btnLogin_Click(object sender, EventArgs e)
        {
            if (txtUserName.Text == string.Empty)
            {
                lblMsg.Text = "نام کاربری را وارد کنید.";
                return;
            }//if

            string cryptedPass = StringUtil.Crypt(txtPassword.Text);
            User   usr;

            try
            {
                usr = (from u in ctx.Users
                       where u.UserName == txtUserName.Text &&
                       u.Password == cryptedPass
                       select u).FirstOrDefault();
            }
            catch (System.Data.Entity.Core.EntityException ex)
            {
                if (ex.Message == "The underlying provider failed on Open.")
                {
                    new frmMsgBox(ex.ToString(), "اتصال به پایگاه داده محلی برقرار نشد...", MessageBoxButtons.OK, MsgBoxIcon.Error).ShowDialog();
                }
                return;
            }

            if (usr != null)
            {
                Hide();
                Properties.Settings.Default.User         = usr;
                Properties.Settings.Default.LastUserName = txtUserName.Text;
                Properties.Settings.Default.Save();

                foreach (Message msg in ctxCentral.Messages.Where(m => m.RemoteUserID == frmRemoteLogin.RemoteUserID).Where(mm => mm.Seen == false))
                {
                    if (new frmMsg(msg).ShowDialog() == DialogResult.Yes)
                    {
                        msg.Seen = true;
                    }
                    else
                    {
                        msg.Seen = false;
                    }
                }

                ctxCentral.SaveChanges();

                new frmShift().ShowDialog();
                Close();
            }//if
            else
            {
                txtPassword.Text = string.Empty;
                lblMsg.Text      = "نام کاربری یا رمز عبور اشتباه است.";
            }
        }
示例#3
0
        private void send()
        {
            VisaXCenteralEntities ctxRemote = new VisaXCenteralEntities("ASAWARI");
            VisaXEntities         ctxLocal  = new VisaXEntities();
            var locals  = ctxLocal.Passengers.ToList();
            var remotes = ctxRemote.RemotePassengers.ToList();

            var newPassengers = locals.Where(l => !remotes.Any(r => r.PassportNum == l.PassportNum)).Select(p => new RemotePassenger()
            {
                PassportNum = p.PassportNum,
                FullName    = p.FullName,
                Gender      = p.Gender,
                BornDate    = p.BornDate,
                IssueDate   = p.IssueDate,
                ExpiryDate  = p.ExpiryDate
            }).ToList();

            ctxRemote.RemotePassengers.AddRange(newPassengers);
            ctxRemote.SaveChanges();
        }