public static void deleteUser(user u)
        {
            using (var context = new STOK_TAKIPEntities())
            {
                //get sql parameters for deleteuser procedure
                var userID = new SqlParameter("@userID", u.id);

                try
                {
                    //execute deleteuser stored procedure
                    context.Database.ExecuteSqlCommand("exec deleteUser @userID",
                                                       userID);
                    MessageBox.Show("The transaction was successful!");
                    ucLoans.Instance           = null;
                    ucUsers.Instance           = null;
                    ucProduct.Instance         = null;
                    ucRemoveProduct.Instance   = null;
                    ucUndoProduct.Instance     = null;
                    ucDepartmentChief.Instance = null;
                }
                catch
                {
                    MessageBox.Show("There are products with this user!");
                }
            }
        }
        public static void loanToUser(loanDetail l)
        {
            using (var context = new STOK_TAKIPEntities())
            {
                //get sql parameters for addLoan procedure
                var userID    = new SqlParameter("@userID", l.userID);
                var loanByID  = new SqlParameter("@loanByID", l.loanByID);
                var productID = new SqlParameter("@productID", l.productID);
                var loanDate  = new SqlParameter("@loanDate", l.loanDate);
                var pieces    = new SqlParameter("@loanPieces", l.loanPieces);

                try
                {
                    //execute addLoan stored procedure
                    context.Database.ExecuteSqlCommand("exec addLoan @userID , @loanByID , @productID , @loanDate, @loanPieces",
                                                       userID, loanByID, productID, loanDate, pieces);
                    MessageBox.Show("The transaction (Loan) was successful!");
                    ucLoans.Instance           = null;
                    ucProduct.Instance         = null;
                    ucRemoveProduct.Instance   = null;
                    ucUndoProduct.Instance     = null;
                    ucDepartmentChief.Instance = null;
                }
                catch
                {
                    MessageBox.Show("The transaction (Loan) was failed!");
                }
            }
        }
        public static void addProduct(product p, purchase purc)
        {
            using (var context = new STOK_TAKIPEntities())
            {
                var productName     = new SqlParameter("@productName", p.productName);
                var productFeatures = new SqlParameter("@productFeatures", p.productFeatures);
                var purchasedDate   = new SqlParameter("@purchasedDate", purc.purchasedDate);
                var purchasedByID   = new SqlParameter("@purchasedByID", purc.purchasedByID);
                var purchasedPrice  = new SqlParameter("@purchasedPrice", purc.purchasePrice);
                var pieces          = new SqlParameter("@pieces", p.pieces);

                try
                {
                    context.Database.ExecuteSqlCommand("exec createNewProduct @productName , @productFeatures , @purchasedDate , @purchasedByID, @purchasedPrice, @pieces",
                                                       productName, productFeatures, purchasedDate, purchasedByID, purchasedPrice, pieces);

                    MessageBox.Show("The transaction was successful!");
                    ucProduct.Instance       = null;
                    ucRemoveProduct.Instance = null;
                    ucLoantoUser.Instance    = null;
                    ucEditProduct.Instance   = null;
                }
                catch
                {
                    MessageBox.Show("The transaction was failed!");
                }
            }
        }
        public static void editProduct(purchase purc, product p)
        {
            using (var context = new STOK_TAKIPEntities())
            {
                //get sql parameters for addLoan procedure
                var productID       = new SqlParameter("@productID", p.productID);
                var productName     = new SqlParameter("@productName", p.productName);
                var productFeatures = new SqlParameter("@productFeatures", p.productFeatures);
                var productPiece    = new SqlParameter("@productPiece", purc.purchasePrice);

                try
                {
                    //execute addLoan stored procedure
                    context.Database.ExecuteSqlCommand("exec editProduct @productID , @productName , @productFeatures , @productPiece",
                                                       productID, productName, productFeatures, productPiece);
                    MessageBox.Show("The transaction was successful!");
                    ucLoans.Instance           = null;
                    ucProduct.Instance         = null;
                    ucRemoveProduct.Instance   = null;
                    ucUndoProduct.Instance     = null;
                    ucDepartmentChief.Instance = null;
                }
                catch
                {
                    MessageBox.Show("The transaction was failed!");
                }
            }
        }
        public static void editUser(user u)
        {
            using (var context = new STOK_TAKIPEntities())
            {
                //get sql parameters for edituser procedure
                using (MD5 md5 = MD5.Create())
                {
                    //Hashing with MD5
                    string strHashedPassword = md5.Hash(u.password);
                    var    userID            = new SqlParameter("@userID", u.id);
                    var    userName          = new SqlParameter("@username", u.username);
                    var    userPassword      = new SqlParameter("@password", strHashedPassword);

                    try
                    {
                        //execute edituser stored procedure
                        context.Database.ExecuteSqlCommand("exec editUser @userID , @username , @password",
                                                           userID, userName, userPassword);
                        MessageBox.Show("The transaction was successful!");
                        ucLoans.Instance           = null;
                        ucProduct.Instance         = null;
                        ucRemoveProduct.Instance   = null;
                        ucUndoProduct.Instance     = null;
                        ucDepartmentChief.Instance = null;
                    }
                    catch
                    {
                        MessageBox.Show("The transaction was failed!");
                    }
                }
            }
        }
Beispiel #6
0
        private void ucAddUser_Load(object sender, EventArgs e)
        {
            // Get whole users from database
            STOK_TAKIPEntities db = new STOK_TAKIPEntities();

            foreach (var item in db.userTypes)
            {
                cbUserRole.Items.Add(item.userType1);
            }
        }
Beispiel #7
0
        private void ucEditUser_Load(object sender, EventArgs e)
        {
            STOK_TAKIPEntities db = new STOK_TAKIPEntities();

            foreach (var item in db.users)
            {
                cbUsers.Items.Add(item.id + "-" + item.name + " " + item.lastName);
                userList.Add(item);
            }
        }
        public ucUndoProduct()
        {
            InitializeComponent();

            STOK_TAKIPEntities db = new STOK_TAKIPEntities();

            foreach (var item in db.users)
            {
                cbUser.Items.Add(item.id + " - " + item.name + " " + item.lastName);
            }
        }
Beispiel #9
0
        private void ucEditProduct_Load(object sender, EventArgs e)
        {
            STOK_TAKIPEntities db = new STOK_TAKIPEntities();

            foreach (var item in db.products)
            {
                if (item.isAvailable == 1)
                {
                    cbProducts.Items.Add(item.productName);
                    productList.Add(item);
                }
            }
        }
        private void ucUnusedProducts_Load(object sender, EventArgs e)
        {
            STOK_TAKIPEntities db = new STOK_TAKIPEntities();
            var model             = db.products.Select(m => new
            {
                m.productName,
                m.productFeatures,
                m.pieces,
                m.isAvailable
            }).Where(x => x.isAvailable == 0);

            gridUnused.DataSource = model.ToList();
        }
Beispiel #11
0
 private void ucUsers_Load(object sender, EventArgs e)
 {
     using (STOK_TAKIPEntities db = new STOK_TAKIPEntities())
     {
         var model = db.users.Select(m => new
         {
             Username  = m.username,
             Name      = m.name,
             Last_Name = m.lastName,
             User_Type = m.userType.userType1,
             m.lastLogin
         });
         gridControl1.DataSource = model.ToList();
     }
 }
Beispiel #12
0
        public void getData()
        {
            // Refresh Items After Deleted Product
            cbRemoveProducts.Items.Clear();
            STOK_TAKIPEntities db = new STOK_TAKIPEntities();

            foreach (var item in db.products)
            {
                if (item.isAvailable == 1)
                {
                    cbRemoveProducts.Items.Add(item.productName);
                    productList.Add(item);
                }
            }
        }
        private void cbUser_SelectedValueChanged(object sender, EventArgs e)
        {
            list = cbUser.SelectedItem.ToString().Split('-');
            cbProducts.SelectedIndex = -1;
            cbProducts.Items.Clear();


            using (STOK_TAKIPEntities db = new STOK_TAKIPEntities()) {
                var products = db.getLoanbyUserID3(int.Parse(list[0]));
                foreach (var i in products)
                {
                    cbProducts.Items.Add(i.Pieces + " - " + i.productName + "-" + i.productID);
                    lblAvailable.Text = i.Pieces.ToString();
                }
            }
        }
Beispiel #14
0
        public ucLoantoUser()
        {
            InitializeComponent();
            STOK_TAKIPEntities db = new STOK_TAKIPEntities();

            foreach (var item in db.users)
            {
                cbUser.Items.Add(item.id + " - " + item.name + " " + item.lastName);
            }
            foreach (var item in db.products)
            {
                if (item.isAvailable == 1)
                {
                    cbProducts.Items.Add(item.productName);
                    productList.Add(item);
                }
            }
        }
Beispiel #15
0
        private void ucLoans_Load(object sender, EventArgs e)
        {
            ucLoantoUser.Instance = null;
            //We can see registered products in here
            STOK_TAKIPEntities db = new STOK_TAKIPEntities();
            var model             = from l in db.loanDetails
                                    join p in db.products on l.productID equals p.productID
                                    join u in db.users on l.userID equals u.id
                                    where (l.loanPieces >= 1)
                                    select new
            {
                p.productName,
                p.productFeatures,
                Who = u.name + " " + u.lastName,
                l.loanDate,
                How_Many = l.loanPieces
            };

            gridControl1.DataSource = model.ToList();
        }
Beispiel #16
0
        private void gridControl1_Load(object sender, EventArgs e)
        {
            using (STOK_TAKIPEntities db = new STOK_TAKIPEntities()) {
                var model = from m in db.products
                            join purc in db.purchases on m.purchaseID equals purc.purchaseID
                            join u in db.users on purc.purchasedByID equals u.id
                            where m.isAvailable == 1
                            select new
                {
                    m.productName,
                    m.productFeatures,
                    m.purchase.purchasedDate,
                    m.purchase.purchasePrice,
                    Purchased_By = u.name + " " + u.lastName,
                    Number       = m.pieces,
                    In_Stock     = m.purchase.isDeleted == false ? "Yes" : "No"
                };

                gridControl1.DataSource = model.ToList();
            }
        }
Beispiel #17
0
        private void cbProducts_SelectedIndexChanged(object sender, EventArgs e)
        {
            string[]           product = cbProducts.SelectedItem.ToString().Split('-');
            STOK_TAKIPEntities db      = new STOK_TAKIPEntities();
            var result = productList.Find(x => x.productName == cbProducts.SelectedItem.ToString());

            if (result.pieces == 0)
            {
                txtPiece.Visible          = false;
                label5.Text               = "";
                lblAvailable.Text         = "Not available";
                tableLayoutPanel1.Visible = false;
            }
            else
            {
                txtPiece.Visible          = true;
                label5.Text               = "Piece";
                lblAvailable.Text         = result.pieces.ToString();
                tableLayoutPanel1.Visible = true;
            }
        }
 // Login user check
 public static void checkUser(user model)
 {
     using (var context = new STOK_TAKIPEntities())
     {
         try
         {
             using (MD5 md5 = MD5.Create())
             {
                 //Hashing with MD5
                 string strHashedPassword = md5.Hash(model.password);
                 using (var db = new STOK_TAKIPEntities())
                 {
                     var result = db.users.Select(s => s)
                                  .Where(x => x.username == model.username)
                                  .Where(x => x.password == strHashedPassword);
                     ucProduct.Instance = null;
                     ucLoans.Instance   = null;
                     frm      login   = new frm();
                     string[] authors =
                     {
                         result.First().username,
                         result.First().name,
                         result.First().lastName,
                         result.First().id.ToString(),
                         result.First().userTypeID.ToString()
                     };
                     login.GetUser = authors;
                     login.ShowDialog();
                     return;
                 }
             }
         }
         catch
         {
             MessageBox.Show("Username or password wrong!");
         }
     }
 }
        private void btnUndoLoan_Click(object sender, EventArgs e)
        {
            int oProp = cbProducts.SelectedIndex;

            if (cbProducts.SelectedIndex != -1 && cbUser.SelectedIndex != -1 && txtPiece.Text != "")
            {
                using (var context = new STOK_TAKIPEntities())
                {
                    string txtuserID    = cbUser.SelectedItem.ToString().Split('-')[0];
                    string txtProductID = cbProducts.SelectedItem.ToString().Split('-')[2];
                    string txtpieces    = txtPiece.Text;
                    //get sql parameters for addLoan procedure
                    var userID    = new SqlParameter("@userID", int.Parse(txtuserID));
                    var productID = new SqlParameter("@productID", int.Parse(txtProductID));
                    var piece     = new SqlParameter("@piece", int.Parse(txtpieces));
                    try
                    {
                        //execute addLoan stored procedure
                        context.Database.ExecuteSqlCommand("exec undoProduct @userID , @productID , @piece",
                                                           userID, productID, piece);
                        MessageBox.Show("The transaction was successful!");
                        txtPiece.Text            = "";
                        ucLoans.Instance         = null;
                        ucProduct.Instance       = null;
                        ucLoantoUser.Instance    = null;
                        ucRemoveProduct.Instance = null;
                    }
                    catch
                    {
                        MessageBox.Show("The transaction was failed!");
                    }
                }
            }
            else
            {
                MessageBox.Show("You must fill in the required fields");
            }
        }
        public static void addUser(user u)
        {
            using (var context = new STOK_TAKIPEntities())
            {
                try
                {
                    using (MD5 md5 = MD5.Create())
                    {
                        string strHashedPassword = md5.Hash(u.password);
                        context.addUser(u.name, u.lastName, u.username, strHashedPassword, u.userTypeID);
                        ucUsers.Instance      = null;
                        ucLoantoUser.Instance = null;
                        ucEditUser.Instance   = null;

                        MessageBox.Show("User Created");
                    }
                }
                catch
                {
                    MessageBox.Show("Something went wrong!");
                }
            }
        }
Beispiel #21
0
        private void btnRemoveProduct_Click(object sender, EventArgs e)
        {
            if (cbRemoveProducts.SelectedIndex == -1)
            {
                MessageBox.Show("You must fill in the required fields!");
                return;
            }

            product p      = new product();
            var     result = productList.Find(x => x.productName == cbRemoveProducts.SelectedItem.ToString());

            try
            {
                using (var context2 = new STOK_TAKIPEntities())
                {
                    //Delete Product from stored procedure
                    var productID = new SqlParameter("@productID", result.productID);
                    context2.Database.ExecuteSqlCommand("exec removeProduct @productID", productID);
                    MessageBox.Show("The transaction was successful!");
                    getData();
                    gridRegistered.Visible = false;
                    //Refresh related instance
                    ucProduct.Instance             = null;
                    ucLoantoUser.Instance          = null;
                    ucUnusedProducts.Instance      = null;
                    cbRemoveProducts.SelectedIndex = -1;
                }
            }
            catch (SqlException err)
            {
                formLogin.Instance = null;
                switch (err.Number)
                {
                //If the product registered before
                case 35100:
                {
                    MessageBox.Show("There are users associated with this product!");

                    STOK_TAKIPEntities db = new STOK_TAKIPEntities();
                    var model             = from l in db.loanDetails
                                            join pr in db.products on l.productID equals pr.productID
                                            join u in db.users on l.userID equals u.id
                                            where l.loanPieces >= 1
                                            where pr.productID == result.productID
                                            select new
                    {
                        pr.productName,
                        pr.productFeatures,
                        Who = u.name + " " + u.lastName,
                        l.loanDate,
                        How_Many = l.loanPieces
                    };
                    gridRegistered.Visible    = true;
                    gridRegistered.DataSource = model.ToList();
                }
                break;

                default:
                    MessageBox.Show("This product is not deleting!");
                    throw;
                }
            }
        }