예제 #1
0
        public static void CreateNewUserDashboard(int uid, UserType utype)
        {
            //Adds 4 entries to dashboardsettings table to give user default dash items 1 item for customers
            LINQ_UsersDataContext dc = new LINQ_UsersDataContext();
            List<string> DefaultDashItems = ListDashboardItems(utype);
            if (utype == UserType.AccountCustomer)
            {
                DashBoardSetting ds = new DashBoardSetting();
                ds.DashBoardNumber = 1;
                ds.DashBoardItem = DefaultDashItems[2];
                ds.UserId = uid;

                dc.DashBoardSettings.InsertOnSubmit(ds);
            }
            else
            {
                for (int i = 1; i <= 4; i++)
                {
                    DashBoardSetting ds = new DashBoardSetting();
                    ds.DashBoardNumber = i;
                    ds.DashBoardItem = DefaultDashItems[i];
                    ds.UserId = uid;

                    dc.DashBoardSettings.InsertOnSubmit(ds);
                }
            }
            try
            {
                dc.SubmitChanges();
            }
            catch (Exception ex)
            {
                Database.WriteException("Error inserting new DashBoardSettings items", uid, "Users.CreateNewUserDashboard", ex);
            }
        }
예제 #2
0
 protected void btnLoad_Click(object sender, EventArgs e)
 {
     DateTime strt = Convert.ToDateTime(txtStart.Text);
     LINQ_UsersDataContext db = new LINQ_UsersDataContext();
     var rslts = (from b in db.WebAccountActivities
                  orderby b.LoggedIn descending
                  select new { b.id, b.IpAddress, b.Browser, User = Users.GetUserName(b.UserId)} ).ToList();
     GridUserLogin.DataSource = rslts;
     GridUserLogin.DataBind();
 }
 protected void btnSearch_Click(object sender, EventArgs e)
 {
     //Search webaccounts using search criteria
     //Check if PSI User!!
     string srch = txtSearch.Text;
     LINQ_UsersDataContext db = new LINQ_UsersDataContext();
     var rslts = (from a in db.WebAccounts
                  where a.UserName.Contains(srch) || a.FName.Contains(srch) || a.LName.Contains(srch)
                  select a).ToList();
     GridSearch.DataSource = rslts;
     GridSearch.DataBind();
     GridSearch.Columns[1].Visible = true;
 }
예제 #4
0
 public static bool RecordLogin(int uid, string ip, string browser)
 {
     try
     {
         LINQ_UsersDataContext db = new LINQ_UsersDataContext();
         db.WriteLogin(uid, ip, browser);
         return true;
     }
     catch (Exception ex)
     {
         Database.WriteException("Users.RecordLogin", 0, "Users class", ex);
         return false;
     }
 }
예제 #5
0
 public static bool LoginValidation(string username, string password)
 {
     bool Authenticated = false;
     password = EncryptPass(password);
     LINQ_UsersDataContext dc = new LINQ_UsersDataContext();
     int userPass = 0;
     userPass = (from g in dc.WebAccounts
                 where g.UserName == username && g.Password == password
                 select g.id).FirstOrDefault();
     if (userPass != 0)
     {
         Authenticated = true;
     }
     return Authenticated;
 }
예제 #6
0
 public static DateTime GetLastLogin(int uid)
 {
     DateTime dtLastLogin = DateTime.Today;
     LINQ_UsersDataContext dc = new LINQ_UsersDataContext();
     DateTime linq_lastlogin = Convert.ToDateTime((from t in dc.WebAccounts
                                                   where t.id == uid
                                                   select t.LastLogin).FirstOrDefault());
     if (linq_lastlogin != null) { dtLastLogin = linq_lastlogin; }
     return dtLastLogin;
 }
예제 #7
0
 private void UpdateEmail(string eml)
 {
     try
     {
         LINQ_UsersDataContext de = new LINQ_UsersDataContext();
         var userEmail = (from a in de.WebAccounts
                         where a.id == Convert.ToInt32(thisUserId)
                         select a).FirstOrDefault();
         if (userEmail != null)
         {
             userEmail.Email = eml;
             de.SubmitChanges();
         }
     }
     catch (Exception ex)
     {
         Database.WriteException("Error updating email to web accounts table. Method: UpdateEmail", Page, HttpContext.Current, ex);
     }
 }
예제 #8
0
    private void LoadUser(int webuserid,bool isEmployee)
    {
        LINQ_UsersDataContext dc = new LINQ_UsersDataContext();
        LINQ_CustDataContext cc = new LINQ_CustDataContext();
        var userInfoA = (from a in dc.WebAccounts
                        where a.id == webuserid
                        select a).FirstOrDefault();
        if (userInfoA != null)
        {
            //Values from WebAccounts table
            txtUserName.Text = userInfoA.UserName;
            hiddenUserId.Value = userInfoA.id.ToString();

        }

        if (isEmployee)
        {
            tblDetail.Rows[1].Visible = false;
            var userInfo = (from b in cc.Employees
                   where b.id == userInfoA.Employee
                   select b).FirstOrDefault();
            if (userInfo != null)
            {
                //Values from Employee table
                lblAccount.Text = Users.GetAccountName(webuserid);
                txtFName.Text = userInfo.FName;
                txtLName.Text = userInfo.LName;
                txtAddress.Text = userInfo.Address;
                txtAddress2.Text = userInfo.Address2;
                txtCity.Text = userInfo.City;
                ddState.SelectedValue = userInfo.State;
                txtZip.Text = userInfo.Zip.ToString();
                txtPhone.Text = Variables.PhoneNumberFormat(userInfo.Phone);
                txtPhone2.Text = Variables.PhoneNumberFormat(userInfo.Phone2);
                hiddenEntityId.Value = userInfo.id.ToString();
                txtEmail.Text = userInfo.Email;
            }
        }
        else
        {
            var userInfo = (from b in cc.Customers
                                       where b.id == userInfoA.Customer
                                       select b).FirstOrDefault();
            if (userInfo != null)
            {
                //Values from Customer table
                lblAccount.Text = Users.GetAccountName(webuserid);
                txtCompany.Text = userInfo.Company;
                txtFName.Text = userInfo.FName;
                txtLName.Text = userInfo.LName;
                txtAddress.Text = userInfo.Address;
                txtAddress2.Text = userInfo.Address2;
                txtCity.Text = userInfo.City;
                ddState.SelectedValue = userInfo.State;
                txtZip.Text = userInfo.Zip.ToString();
                txtPhone.Text = Variables.PhoneNumberFormat(userInfo.Phone);
                txtPhone2.Text = Variables.PhoneNumberFormat(userInfo.Phone2);
                hiddenEntityId.Value = userInfo.id.ToString();
                txtEmail.Text = userInfo.Email;

            }
        }
    }
 private void SetNewValue(int itemnumber, string item)
 {
     uid = Variables.NullSafe((int)Session["userid"]);
         try
         {
             LINQ_UsersDataContext db = new LINQ_UsersDataContext();
             var dash = (from d in db.DashBoardSettings
                         where d.UserId == uid && d.DashBoardNumber == itemnumber
                         select d).FirstOrDefault();
             dash.DashBoardItem = item;
             db.SubmitChanges();
         }
         catch (Exception ex)
         {
             Database.WriteException("Updating dashboard - SetNewValue()", Page, HttpContext.Current, ex);
         }
 }
예제 #10
0
 private static string GetUserEncryptedPassword(int uid)
 {
     string encryptedPassword = "";
     LINQ_UsersDataContext dc = new LINQ_UsersDataContext();
     var pass = (from g in dc.WebAccounts
                 where g.id == uid
                 select g.Password).FirstOrDefault();
     if (pass != null) { encryptedPassword = pass; }
     return encryptedPassword;
 }
예제 #11
0
        public static string GetUserInfo(string username)
        {
            string userFullName = "";
            LINQ_UsersDataContext dc = new LINQ_UsersDataContext();
            var dat = (from g in dc.WebAccounts
                       where g.UserName == username
                       select g).FirstOrDefault();

            userFullName = dat.FName + " " + dat.LName;
            return userFullName;
        }
예제 #12
0
 public static int GetUserId(string username)
 {
     username = Variables.NullSafe(username);
     int userid = 0;
     LINQ_UsersDataContext dc = new LINQ_UsersDataContext();
     userid = dc.GetWebUserId(username);
     return userid;
 }
예제 #13
0
 public static string GetUserEmail(int uid)
 {
     string eml = "";
     LINQ_UsersDataContext dc = new LINQ_UsersDataContext();
     string linq_email = (from t in dc.WebAccounts
                          where t.id == uid
                          select t.Email).FirstOrDefault();
     if (linq_email != null) { eml = linq_email; }
     return eml;
 }
예제 #14
0
 public static DateTime GetUserCreatedDate(int uid)
 {
     DateTime dtCreated = DateTime.Today;
     LINQ_UsersDataContext dc = new LINQ_UsersDataContext();
     DateTime linq_created = Convert.ToDateTime((from t in dc.WebAccounts
                                                 where t.id == uid
                                                 select t.DateOpen).FirstOrDefault());
     if (linq_created != null) { dtCreated = linq_created; }
     return dtCreated;
 }
예제 #15
0
 public static string GetUserCreatedBy(int uid)
 {
     string createdby = "";
     LINQ_UsersDataContext dc = new LINQ_UsersDataContext();
     string linq_createdby = (from t in dc.WebAccounts
                              where t.id == uid
                              select t.CreatedBy).FirstOrDefault();
     if (linq_createdby != null) { createdby = linq_createdby; }
     return createdby;
 }
예제 #16
0
 public static string GetUserBrowser(int uid)
 {
     string browser = "";
     LINQ_UsersDataContext dc = new LINQ_UsersDataContext();
     string linq_browser = (from t in dc.WebAccountActivities
                            where t.UserId == uid
                            orderby t.LoggedIn descending
                            select t.Browser).FirstOrDefault();
     if (linq_browser != null) { browser = linq_browser; }
     return browser;
 }
예제 #17
0
 public static void RecordLooff(int uid)
 {
     LINQ_UsersDataContext db = new LINQ_UsersDataContext();
     db.WriteLogoff(uid);
 }
예제 #18
0
 public static void SetupUserType(int uid, char typ)
 {
     LINQ_UsersDataContext dc = new LINQ_UsersDataContext();
     WebAccountRole ar = new WebAccountRole();
     ar.WebUser = uid;
     ar.RoleId = typ;
     try
     {
         dc.WebAccountRoles.InsertOnSubmit(ar);
         dc.SubmitChanges();
     }
     catch (Exception ex)
     {
         Database.WriteException("Error inserting new webaccount role", uid, "Users.SetupUserType", ex);
     }
 }
예제 #19
0
 public static string GetUserName(object userid)
 {
     string username = "";
     LINQ_UsersDataContext db = new LINQ_UsersDataContext();
     username = db.GetWebUserName(Convert.ToInt32(userid));
     return username;
 }
예제 #20
0
 public static string GetAccountName(int userId)
 {
     string accountName = "";
     LINQ_UsersDataContext dc = new LINQ_UsersDataContext();
     accountName = dc.GetWebUserAccountName(userId);
     return accountName;
 }
예제 #21
0
 //public static object GetUserName(int? userId)
 //{
 //    string username = "";
 //    LINQ_UsersDataContext db = new LINQ_UsersDataContext();
 //    db.GetWebUserName(userid);
 //    return username;
 //}
 public static string GetUserType(int userid)
 {
     LINQ_UsersDataContext db = new LINQ_UsersDataContext();
     return db.GetWebUserRole(userid);
 }
예제 #22
0
    protected void btnSave_Click(object sender, EventArgs e)
    {
        if (hiddenEntityId.Value == "") { Master.SetStatus("Save the record before adding a web user account.", 2); return; }
        if (isNew)
        {
            //string typ = Request.QueryString["type"];
            bool iscst = true;
            if (thisUserType != UserType.AccountCustomer) { iscst = false; }
            int entVal = Convert.ToInt32(hiddenEntityId.Value);
            if (Users.IsUsernameTaken(txtUserName.Text)) { Master.SetStatus("User name is taken. Select a new user name",2); return; }
            //Create new web account user
            try
            {
                LINQ_UsersDataContext dc = new LINQ_UsersDataContext();
                WebAccount wa = new WebAccount();
                wa.UserName = txtUserName.Text;
                wa.Password = Users.EncryptPass(txtPassword1.Text);
                wa.Email = txtEmail.Text;

                wa.AccountType = Users.GetUserChar(ddWebAccountType.SelectedItem.ToString());
                UpdateAccountRole(wa.id);
                wa.Active = true;
                wa.CreatedBy = (string)Session["username"];
                wa.DateOpen = DateTime.Now;
                wa.EmailVerified = false;
                wa.AccountType = Convert.ToChar(userChar);
                wa.FName = txtFName.Text;
                wa.LName = txtLName.Text;
                if (iscst) { wa.Customer = entVal; wa.Account = Users.GetCustomerAccountNumber(entVal); } else { wa.Employee = entVal; wa.Account = Users.GetEmployeeAccountNumber(entVal); }

                dc.WebAccounts.InsertOnSubmit(wa);
                dc.SubmitChanges();
                Users.CreateNewUserDashboard(wa.id, UserType.AccountCustomer);
                Users.SetupUserType(wa.id, Convert.ToChar(userChar));
                Master.SetStatus("Web account created for " + txtFName.Text + " " + txtLName.Text , 1);
            }
            catch (Exception ex)
            {
                Database.WriteException("Error adding web account. btnSave_Click", Page, HttpContext.Current, ex);
                Master.SetStatus("Unable to create web account" , 2);
            }

        }
        else
        {
            string new_username = txtUserName.Text;
            //Validate and then save to DB --- THIS IS ONLY A SAVE FOR THE WEB INFO, NOT THE employee or customer
            try
            {
                if (Users.IsUsernameTaken(new_username) && new_username != Users.GetUserName(thisUserId)) { Master.SetStatus("User name is already taken", 2); return; }
                LINQ_UsersDataContext dc = new LINQ_UsersDataContext();
                var userInfo = (from a in dc.WebAccounts
                                where a.id == Convert.ToInt32(thisUserId)
                                select a).FirstOrDefault();
                if (userInfo != null)
                {
                    if (new_username == "") { throw new NullReferenceException("Change UserName"); }
                    //set vals and update
                    userInfo.FName = txtFName.Text;
                    userInfo.LName = txtLName.Text;
                    userInfo.Email = txtEmail.Text;
                    userInfo.UserName = txtUserName.Text;
                    userInfo.AccountType = Users.GetUserChar(ddWebAccountType.SelectedItem.ToString());
                    UpdateAccountRole(userInfo.id);

                    dc.SubmitChanges();
                    Master.SetStatus("Web account user updated", 1);
                    btnSave.Visible = false;
                    btnEditUser.Visible = true;
                    txtUserName.ReadOnly = true;
                }
            }
            catch (Exception ex)
            {
                Database.WriteException("Error updating WebUser information. btnSave_Click", Page, HttpContext.Current, ex);
                Master.SetStatus("Error updating web account information", 2);
            }
        }
    }
예제 #23
0
 public static UserType GetUserType(char type)
 {
     string ut = "";
     LINQ_UsersDataContext db = new LINQ_UsersDataContext();
     var userTypeFriendly = db.GetWebUserType(type).FirstOrDefault();
     if (userTypeFriendly != null) { ut = userTypeFriendly.RoleName; }
     return GetUserType(ut);
 }
예제 #24
0
 private void UpdateAccountRole(int usrid)
 {
     string role = ddWebAccountType.SelectedItem.ToString();
     LINQ_UsersDataContext dc = new LINQ_UsersDataContext();
     var dfd = (from a in dc.WebAccountRoles
                where a.WebUser == usrid
                select a).FirstOrDefault();
     if (dfd != null)
     {
         dfd.RoleId = Users.GetUserChar(role);
         dc.SubmitChanges();
     }
 }
예제 #25
0
        public static Dictionary<int?, string> GetDashboardItems(int uid)
        {
            LINQ_UsersDataContext dc = new LINQ_UsersDataContext();
            var pass = (from g in dc.DashBoardSettings
                        where g.UserId == uid
                        select g);
            Dictionary<int?, string> DashItems = pass.ToDictionary(k => k.DashBoardNumber, k => k.DashBoardItem);

            return DashItems;
        }
예제 #26
0
 public static bool IsUsernameTaken(string uname)
 {
     bool taken = true;
     LINQ_UsersDataContext dc = new LINQ_UsersDataContext();
     int userexists = (from t in dc.WebAccounts
                       where t.UserName == uname
                       select t.CreatedBy).Count();
     if (userexists == 0) { taken = false; }
     return taken;
 }
예제 #27
0
 public static int GetEmployeeAccountNumber(int userid)
 {
     LINQ_UsersDataContext db = new LINQ_UsersDataContext();
     return db.GetEmployeeAccount(userid);
 }