private void btnRemove_Click(object sender, EventArgs e)
        {
            if (Selected_PEM_ElementPrintOrder == null)
            {
                XtraMessageBox.Show("You should select the Element before Removing", "Notice",
                                    MessageBoxButtons.OK, MessageBoxIcon.Information, MessageBoxDefaultButton.Button1,
                                    DefaultBoolean.Default);
                return;
            }

            if (List_PrintOrders == null || List_PrintOrders.Count == 0)
            {
                XtraMessageBox.Show("The list has no Elements", "Notice",
                                    MessageBoxButtons.OK, MessageBoxIcon.Information, MessageBoxDefaultButton.Button1,
                                    DefaultBoolean.Default);
                return;
            }

            List_PrintOrders.Remove(Selected_PEM_ElementPrintOrder);
            int index = 1;

            foreach (PEM_ElementPrintOrder_cu printOrder in List_PrintOrders.OrderBy(item => item.OrderIndex))
            {
                printOrder.OrderIndex = index;
                index++;
            }

            grdElements.DataSource = List_PrintOrders.OrderBy(item => item.OrderIndex);
            grdElements.RefreshDataSource();
            ClearControls();
        }
        private void btnDown_Click(object sender, EventArgs e)
        {
            if (Selected_PEM_ElementPrintOrder == null)
            {
                XtraMessageBox.Show("You should select the Element before Removing", "Notice",
                                    MessageBoxButtons.OK, MessageBoxIcon.Information, MessageBoxDefaultButton.Button1,
                                    DefaultBoolean.Default);
                return;
            }

            if (List_PrintOrders == null || List_PrintOrders.Count == 0)
            {
                XtraMessageBox.Show("The list has no Elements", "Notice",
                                    MessageBoxButtons.OK, MessageBoxIcon.Information, MessageBoxDefaultButton.Button1,
                                    DefaultBoolean.Default);
                return;
            }

            PEM_ElementPrintOrder_cu printOrder = List_PrintOrders.Find(
                item => Convert.ToInt32(item.OrderIndex)
                .Equals(Convert.ToInt32(Selected_PEM_ElementPrintOrder.OrderIndex)));

            if (printOrder == null)
            {
                return;
            }

            PEM_ElementPrintOrder_cu previousElement = null;

            foreach (PEM_ElementPrintOrder_cu order in List_PrintOrders.OrderByDescending(item => item.OrderIndex))
            {
                if (order.Equals(printOrder))
                {
                    break;
                }

                previousElement = order;
            }

            if (previousElement != null)
            {
                if (previousElement.OrderIndex <= 0)
                {
                    return;
                }
                previousElement.OrderIndex = previousElement.OrderIndex + -1;
            }
            else
            {
                return;
            }

            printOrder.OrderIndex = printOrder.OrderIndex + 1;

            grdElements.DataSource = List_PrintOrders.OrderBy(item => item.OrderIndex);
            grdElements.RefreshDataSource();
            ClearControls();
        }
        private void btnAddToList_Click(object sender, EventArgs e)
        {
            if (lkeChildElement.EditValue == null)
            {
                XtraMessageBox.Show("You should select Element before adding", "Notice",
                                    MessageBoxButtons.OK, MessageBoxIcon.Information, MessageBoxDefaultButton.Button1,
                                    DefaultBoolean.Default);
                return;
            }

            if (spnOrderIndex.EditValue == null)
            {
                XtraMessageBox.Show("You should enter the Order Index before adding", "Notice",
                                    MessageBoxButtons.OK, MessageBoxIcon.Information, MessageBoxDefaultButton.Button1,
                                    DefaultBoolean.Default);
                return;
            }

            if (List_PrintOrders == null)
            {
                List_PrintOrders = new List <PEM_ElementPrintOrder_cu>();
            }

            PEM_ElementPrintOrder_cu printOrder = DBCommon.CreateNewDBEntity <PEM_ElementPrintOrder_cu>();

            printOrder.PEMR_Elemet_P_ID = Convert.ToInt32(lkeChildElement.EditValue);
            printOrder.OrderIndex       = Convert.ToInt32(spnOrderIndex.EditValue);
            printOrder.IsOnDuty         = true;
            printOrder.InsertedBy       = ApplicationStaticConfiguration.ActiveLoginUser.ID;
            if (txtDescription.EditValue != null && string.IsNullOrEmpty(txtDescription.Text) &&
                string.IsNullOrWhiteSpace(txtDescription.Text))
            {
                printOrder.AddedDescription = txtDescription.Text;
            }

            if (!List_PrintOrders.Exists(item => Convert.ToInt32(item.PEMR_Elemet_P_ID)
                                         .Equals(Convert.ToInt32(printOrder.PEMR_Elemet_P_ID))))
            {
                List_PrintOrders.Add(printOrder);
            }

            grdElements.DataSource = List_PrintOrders.OrderBy(item => item.OrderIndex);
            grdElements.RefreshDataSource();
            ClearControls();
        }