private void DeleteImage(string assno)
        {
            using (AccetManagementEntities db = new AccetManagementEntities())
            {
                ASSETIMAGE aSSETIMAGE = new ASSETIMAGE();
                var        assImage   = db.ASSETIMAGEs.SingleOrDefault(x => x.ASSETID == assno);
                aSSETIMAGE = db.ASSETIMAGEs.Where(x => x.ASSETID == assno).FirstOrDefault();

                if (aSSETIMAGE != null)
                {
                    var entry = db.Entry(aSSETIMAGE);

                    if (entry.State == EntityState.Unchanged)
                    {
                        db.ASSETIMAGEs.Attach(aSSETIMAGE);
                        db.ASSETIMAGEs.Remove(aSSETIMAGE);
                        db.SaveChanges();
                    }
                }
            }
        }
        private void SaveCloseToolStripMenuItem_Click_1(object sender, EventArgs e)
        {
            UserControlFinance userControlFinance = new UserControlFinance();



            var serial        = userControl11.Controls.Find("txtserial", true);
            var status        = userControl11.Controls.Find("cmBStatus", true);
            var condition     = userControl11.Controls.Find("cmBCondition", true);
            var checkedOutto  = userControl11.Controls.Find("txtcheckedOutto", true);
            var datepicker    = userControl11.Controls.Find("dueDatepicker", true);
            var txtNotes      = userControl11.Controls.Find("txtNotes", true);
            var r             = condition[0].Text;
            var currentStatus = status[0].Text;
            var assetImage    = userControl11.pictureBox1;

            try
            {
                using (AccetManagementEntities db = new AccetManagementEntities())
                {
                    var currentConditionId = db.CONDITIONs.Where(c => c.CONDITIONNAME == r).OrderBy(c => c.CONDITIONID).Select(c => c.CONDITIONID).ToList();
                    var assetId            = db.ASSETTYPEs.Where(c => c.ASSETTYPE1 == cmBAssetType.Text).OrderBy(c => c.ASSETTYPEID).Select(c => c.ASSETTYPEID).ToList();
                    var LocationId         = db.LOCATIONs.Where(c => c.LOCATIONNAME == cmBLocation.Text).OrderBy(c => c.LOCATIONID).Select(c => c.LOCATIONID).ToList();
                    var statusId           = db.STATUS.Where(c => c.STATUSNAME == currentStatus).OrderBy(c => c.STATUSNAME).Select(c => c.STATUSID).ToList();
                    var aSSETs             = txtAssetNumber.Text.Trim().ToString();
                    var assetTableData     = db.ASSETs.SingleOrDefault(c => c.ASSETNO == aSSETs);

                    if (assetTableData == null)
                    {
                        userControlFinance.GetControls(txtAssetNumber.Text.Trim());

                        myAsset.ASSETNO     = txtAssetNumber.Text.Trim();
                        myAsset.DESCRIPTION = txtDesription.Text.Trim();

                        myAsset.ASSETTYPEID     = assetId[0];
                        myAsset.LOCATIONID      = LocationId[0];
                        myAsset.MANUFACTURER    = txtmanu.Text.Trim();
                        myAsset.BRAND           = txtBrand.Text.Trim();
                        myAsset.MODEL           = "NO MODEL YET";
                        myAsset.SERIALNUMBER    = serial[0].Text;                         // data.serial;
                        myAsset.STATUSID        = statusId[0];                            //data.statusId;
                        myAsset.CONDITIONID     = currentConditionId[0];                  //data.conditionId;
                        myAsset.EMPNAME         = checkedOutto[0].Text.ToString().Trim(); // data.Emp;
                        myAsset.DUEDATE         = Convert.ToDateTime(datepicker[0].Text);
                        myAsset.NOTES           = txtNotes[0].Text.ToString().Trim();
                        myAsset.ASSETIMAGEID    = 1;
                        myAsset.CHECKOUTDATE    = DateTime.Now;
                        myAsset.CHECKOUTCOMMENT = "";
                        myAsset.EMPID           = "";
                        myAsset.RECEIVEDDATE    = DateTime.Now;
                        db.ASSETs.Add(myAsset);


                        //save Picture
                        if (pictureBox1.Image != null)
                        {
                            ASSETIMAGE aSSETIMAGE = new ASSETIMAGE
                            {
                                ASSETID      = aSSETs,
                                ASSETIMAGEID = 1,
                                Filepath     = CommonData.Filename ?? ""
                            };
                            db.ASSETIMAGEs.Add(aSSETIMAGE);
                        }
                    }
                    else
                    {
                        // check whether userImage is in the database
                        var    assImage    = db.ASSETIMAGEs.SingleOrDefault(x => x.ASSETID == aSSETs);
                        string fileNamePth = CommonData.Filename ?? "";
                        if (assImage == null)
                        {
                            if (pictureBox1.Image != null)
                            {
                                ASSETIMAGE aSSETIMAGE = new ASSETIMAGE
                                {
                                    ASSETID      = aSSETs,
                                    ASSETIMAGEID = 1,
                                    Filepath     = fileNamePth
                                };
                                db.ASSETIMAGEs.Add(aSSETIMAGE);
                            }
                        }
                        else
                        {
                            assImage.ASSETIMAGEID = 1;
                            assImage.ASSETID      = aSSETs;
                            assImage.Filepath     = fileNamePth;
                        }



                        //save finances changes first
                        userControlFinance.GetControls(txtAssetNumber.Text.Trim());

                        assetTableData.ASSETNO     = txtAssetNumber.Text.Trim();
                        assetTableData.DESCRIPTION = txtDesription.Text.Trim();

                        assetTableData.ASSETTYPEID     = assetId[0];
                        assetTableData.LOCATIONID      = LocationId[0];
                        assetTableData.MANUFACTURER    = txtmanu.Text.Trim();
                        assetTableData.BRAND           = txtBrand.Text.Trim();
                        assetTableData.MODEL           = "NO MODEL YET";
                        assetTableData.SERIALNUMBER    = serial[0].Text;                         // data.serial;
                        assetTableData.STATUSID        = statusId[0];                            //data.statusId;
                        assetTableData.CONDITIONID     = currentConditionId[0];                  //data.conditionId;
                        assetTableData.EMPNAME         = checkedOutto[0].Text.ToString().Trim(); // data.Emp;
                        assetTableData.DUEDATE         = Convert.ToDateTime(datepicker[0].Text);
                        assetTableData.NOTES           = txtNotes[0].Text.ToString().Trim();
                        assetTableData.ASSETIMAGEID    = 1;
                        assetTableData.CHECKOUTDATE    = DateTime.Now;
                        assetTableData.CHECKOUTCOMMENT = "";
                        assetTableData.EMPID           = "";
                        assetTableData.RECEIVEDDATE    = DateTime.Now;
                    }



                    db.SaveChanges();
                    this.Close();
                    MessageBox.Show("Saved Successfully to Database.");

                    Application.Restart();

                    //Main newMain = new Main();
                    //newMain.ShowDialog();
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show("Invalid entry. Ensure you do not repeat the same entry on AssetNo" + ex);
                //throw;
            }
        }