private void Save()
        {
            if (tbQty.Value <= 0)
            {
                MessageBox.Show("Enter Quantity");

                tbQty.Value = 0;

                tbQty.Focus();
            }
            else if (!recDate.SelectedDate.HasValue)
            {
                MessageBox.Show("Purchased date is required");
                recDate.Focus();
            }
            else
            {
                int?maxCount = dbContext.tbl_BoxSeries.Where(p => p.BoxCode == _boxCode).Select(p => p.SeriesNo).DefaultIfEmpty(0).Max();

                int count = maxCount.GetValueOrDefault() + 1;

                if (maxCount.GetValueOrDefault() == 0)
                {
                    for (int i = count; i <= tbQty.Value; i++)
                    {
                        //MessageBox.Show(i.ToString());

                        tbl_BoxSeries _tb2 = new tbl_BoxSeries()
                        {
                            BoxCode = _boxCode,

                            SeriesNo = i,

                            IsDisposed = false,

                            IsUsed = false,

                            IsDelivered = false,

                            IsReturned = false,

                            IsIssuedToProduction = false,

                            IsIssuedToWareHouse = false,

                            EncodedBy = _name,

                            DateEncoded = DateTime.Now
                        };

                        dbContext.tbl_BoxSeries.Add(_tb2);


                        tbl_PurchasedHistory tbldata = new tbl_PurchasedHistory()
                        {
                            ItemCode      = _boxCode + "-" + i.ToString(),
                            DatePurchased = recDate.SelectedDate.Value
                        };

                        dbContext.tbl_PurchasedHistory.Add(tbldata);
                    }

                    dbContext.SaveChanges();
                }
                else
                {
                    for (int i = maxCount.GetValueOrDefault() + 1; i <= maxCount.GetValueOrDefault() + tbQty.Value; i++)
                    {
                        tbl_BoxSeries _tb2 = new tbl_BoxSeries()
                        {
                            BoxCode = _boxCode,

                            SeriesNo = i,

                            IsDisposed = false,

                            IsUsed = false,

                            IsDelivered = false,

                            IsReturned = false,

                            IsIssuedToProduction = false,

                            IsIssuedToWareHouse = false,

                            EncodedBy = _name,

                            DateEncoded = DateTime.Now
                        };

                        dbContext.tbl_BoxSeries.Add(_tb2);


                        tbl_PurchasedHistory tbldata = new tbl_PurchasedHistory()
                        {
                            ItemCode      = _boxCode + "-" + i.ToString(),
                            DatePurchased = recDate.SelectedDate.Value
                        };

                        dbContext.tbl_PurchasedHistory.Add(tbldata);
                    }

                    dbContext.SaveChanges();
                }

                var a = from data in dbContext.tbl_BoxMaster
                        join boxSeries in dbContext.tbl_BoxSeries on data.BoxCode equals boxSeries.BoxCode
                        into UP
                        from boxSeries in UP.DefaultIfEmpty()
                        where data.BoxCode == _boxCode
                        orderby boxSeries.SeriesNo

                        select new
                {
                    BoxCode              = data.BoxCode,
                    SeriesNo             = boxSeries.SeriesNo,
                    IsDisposed           = boxSeries.IsDisposed,
                    IsUsed               = boxSeries.IsUsed,
                    IsIssuedToProduction = boxSeries.IsIssuedToProduction,
                    IsIssuedToWareHouse  = boxSeries.IsIssuedToWareHouse,
                    IsDelivered          = boxSeries.IsDelivered,
                    IsReturned           = boxSeries.IsReturned,
                    BoxSeriesCode        = boxSeries.BoxCode + "-" + boxSeries.SeriesNo
                };

                string empname = string.Empty;

                var empdata = dbHRIS.SKPI_GetAllEmployeesByEmpID(_empID).ToList();

                foreach (DataRow dr in ConvertToDataTable(empdata).Rows)
                {
                    empname = dr["FullName_LnameFirst"].ToString();
                }

                tbl_TransactionMaster transact = new tbl_TransactionMaster()
                {
                    TransactBy         = empname,
                    TransactionDetails = "Encoded New Box Series Quantity",
                    CreationDateTime   = DateTime.Now
                };

                dbContext.tbl_TransactionMaster.Add(transact);

                dbContext.SaveChanges();

                MessageBox.Show("Quantity successfully added");

                tbQty.Value = 0;

                tbQty.Focus();

                LoadData();
            }
        }
        private Boolean Save()
        {
            Boolean _isValid = false;

            _isValid = _isValidFields();

            if (!_isValid)
            {
                return(false);
            }

            int?maxCount = dbContext.tbl_PartitionSeries.Where(p => p.BoxCode == _boxCode && p.PartitionCode == _partCode.Trim()).Select(p => p.Part_SeriesNo).DefaultIfEmpty(0).Max();

            int count = maxCount.GetValueOrDefault() + 1;

            if (maxCount.GetValueOrDefault() == 0)
            {
                for (int i = count; i <= tbQty.Value; i++)
                {
                    tbl_PartitionSeries _tb2 = new tbl_PartitionSeries()
                    {
                        BoxCode = _boxCode,

                        PartitionCode = _partCode,

                        Part_SeriesNo = i,

                        IsDisposed = false,

                        IsUsed = false,

                        IsDelivered = false,

                        IsReturned = false,

                        IsIssuedToProduction = false,

                        IsIssuedToWareHouse = false,

                        EncodedBy = _name,

                        DateEncoded = DateTime.Now
                    };

                    dbContext.tbl_PartitionSeries.Add(_tb2);

                    tbl_PurchasedHistory tbldata = new tbl_PurchasedHistory()
                    {
                        ItemCode      = _partCode + "-" + i.ToString(),
                        DatePurchased = recDate.SelectedDate.Value
                    };

                    dbContext.tbl_PurchasedHistory.Add(tbldata);
                }

                dbContext.SaveChanges();
            }
            else
            {
                for (int i = maxCount.GetValueOrDefault() + 1; i <= maxCount.GetValueOrDefault() + tbQty.Value; i++)
                {
                    tbl_PartitionSeries _tb2 = new tbl_PartitionSeries()
                    {
                        BoxCode = _boxCode,

                        PartitionCode = _partCode,

                        Part_SeriesNo = i,

                        IsDisposed = false,

                        IsUsed = false,

                        IsDelivered = false,

                        IsReturned = false,

                        IsIssuedToProduction = false,

                        IsIssuedToWareHouse = false,

                        EncodedBy = _name,

                        DateEncoded = DateTime.Now
                    };

                    dbContext.tbl_PartitionSeries.Add(_tb2);


                    tbl_PurchasedHistory tbldata = new tbl_PurchasedHistory()
                    {
                        ItemCode      = _partCode + "-" + i.ToString(),
                        DatePurchased = recDate.SelectedDate.Value
                    };

                    dbContext.tbl_PurchasedHistory.Add(tbldata);
                }

                dbContext.SaveChanges();
            }

            string empname = string.Empty;

            var empdata = dbHRIS.SKPI_GetAllEmployeesByEmpID(_empID).ToList();

            foreach (DataRow dr in ConvertToDataTable(empdata).Rows)
            {
                empname = dr["FullName_LnameFirst"].ToString();
            }

            tbl_TransactionMaster transact = new tbl_TransactionMaster()
            {
                TransactBy         = empname,
                TransactionDetails = "Encoded New Partition Series Quantity",
                CreationDateTime   = DateTime.Now
            };

            dbContext.tbl_TransactionMaster.Add(transact);

            dbContext.SaveChanges();

            MessageBox.Show("Quantity successfully added");

            tbQty.Value = 0;

            tbQty.Focus();

            LoadPartitionSeries();

            return(true);
        }