Exemplo n.º 1
0
        public frmLogin()
        {
            InitializeComponent();

            UserLookAndFeel.Default.SkinName = Properties.Settings.Default["ApplicationSkinName"].ToString();

            try
            {
                UserIDEdit.Properties.DataSource = new BaseEntities().Users.Where(w => w.IsWorking).Select(s => new
                {
                    s.UserId,
                    s.Name,
                    s.Pass
                }).ToList();
            }
            catch
            {
                MessageBox.Show("Не вдалось підключитись до сервера, зверніться до Админістратора");
            }

            CheckTrial();

            var ver = new BaseEntities().CommonParams.FirstOrDefault().Ver;

            if (ver != Application.ProductVersion)
            {
                label1.Visible = true;
                label1.Text    = "З'явилася нова версія , загрузіть оновлення!";
            }

            var kay_id = UniqueID.getMotherBoardID();

            if (String.IsNullOrEmpty(kay_id)) //якщо невдалось отримати ID bother board
            {
                kay_id = UniqueID.GetMacAddress();
            }

            if (String.IsNullOrEmpty(kay_id)) //якщо невдалось отримати MacAddress
            {
                try
                {
                    kay_id = UniqueID.getUniqueID("C");
                }
                catch { }
            }

            if (String.IsNullOrEmpty(kay_id))
            {
                kay_id = "123456789";
            }
            //            var ddd = DeCoding(Coding("77419"));  //test

            var ip_address = UniqueID.GetPhysicalIPAdress();
            var user_name  = string.IsNullOrEmpty(Environment.UserDomainName) ? Environment.UserName : Environment.UserDomainName + "\\" + Environment.UserName;

            var identity = WindowsIdentity.GetCurrent();

            if (SystemInformation.TerminalServerSession && identity.User.IsAccountSid())
            {
                var  sid = identity.User.Value;
                long sum = 0;
                foreach (var item in sid.Split('-'))
                {
                    long s;
                    if (long.TryParse(item, out s))
                    {
                        sum += s;
                    }
                }
                kay_id = sum.ToString();
            }

            using (var db = new BaseEntities())
            {
                var lic = db.Licenses.ToList().FirstOrDefault(w => w.MacAddress == kay_id /*&& user_name.ToLower() == w.UserName.ToLower()*/);
                if (lic == null)
                {
                    db.Licenses.Add(new Licenses
                    {
                        MacAddress  = kay_id,
                        LicencesKay = "",
                        IpAddress   = ip_address,
                        MachineName = Environment.MachineName,
                        UserName    = user_name
                    });
                    is_registered = false;
                }
                else
                {
                    lic.IpAddress   = ip_address;
                    lic.MachineName = Environment.MachineName;
                    is_registered   = DeCoding(lic.LicencesKay) == lic.MacAddress /*&& user_name.ToLower() == lic.UserName.ToLower()*/;
                }

                if (!is_registered)
                {
                    label1.Text    = "Програма не зареєстрована, зверніться до адміністратора!";
                    label1.Visible = true;
                }
                db.SaveChanges();
            }
        }