示例#1
0
        /// <summary>
        /// Load Detail form/list in master detail. Triggered by user's change in Grid's Row.
        /// When row change, load "DetailForm" or "Detail List" (need to be configured)
        /// </summary>
        /// <param name="selectedItem"></param>
        private void LoadDetail(ModelNotifiedForCustomers selectedItem)
        {
            if (selectedItem == null)
            {
                return;
            }


            if (DetailListCustomerCustomerDemo != null)
            {
                DetailListCustomerCustomerDemo.LoadGrid(x => x.CustomerID == selectedItem.CustomerID);
            }
            if (DetailListOrders != null)
            {
                DetailListOrders.LoadGrid(x => x.CustomerID == selectedItem.CustomerID);
            }

/* Note: the detail form can load only ONE row from 'CustomerCustomerDemo'. It's necessary to inform DetailForm primary key here or create a custom Form.Load().
 * if (DetailForm{0} != null)
 * {
 * //DetailFormCustomerCustomerDemo.LoadForm(selectedItem.CustomerID);
 * }
 */
/* Note: the detail form can load only ONE row from 'Orders'. It's necessary to inform DetailForm primary key here or create a custom Form.Load().
 * if (DetailForm{0} != null)
 * {
 * //DetailFormOrders.LoadForm(selectedItem.CustomerID);
 * }
 */
        }
示例#2
0
        //private void CollectionChanged(object sender, NotifyCollectionChangedEventArgs e)
        //{
        //Notify("IncludeFolders");
        //}



        public List <ModelNotifiedForCustomers> GetAllCustomers(out string error)
        {
            error = null;
            try
            {
                CustomersBsn                     bsn           = new CustomersBsn(wpfConfig);
                List <CustomersInfo>             dbItems       = bsn.GetAll();
                List <ModelNotifiedForCustomers> notifiedItems = new List <ModelNotifiedForCustomers>();

                foreach (CustomersInfo dbItem in dbItems)
                {
                    ModelNotifiedForCustomers itemToAdd = new ModelNotifiedForCustomers();
                    Cloner.CopyAllTo(typeof(CustomersInfo), dbItem, typeof(ModelNotifiedForCustomers), itemToAdd);
                    itemToAdd.ItemChanged = false;
                    itemToAdd.NewItem     = false;
                    notifiedItems.Add(itemToAdd);
                }

                return(notifiedItems);
            }
            catch (Exception ex)
            {
                error = ex.Message;
            }
            return(null);
        }
示例#3
0
        private void DeleteClick(object sender, RoutedEventArgs e)
        {
            MessageBoxButton button = MessageBoxButton.YesNo;
            MessageBoxImage  icon   = MessageBoxImage.Warning;
            //MessageBoxResult result = MessageBox.Show(MessageBoxDeleteConfirm, MessageBoxDeleteConfirmCaption, button, icon);
            MessageBoxResult result = MessageBox.Show(CustomersDataContext.WPFMessageAndLabelForList.MessageBoxDeleteConfirm,
                                                      CustomersDataContext.WPFMessageAndLabelForList.MessageBoxDeleteConfirmCaption, button, icon);
            string error = null;

            switch (result)
            {
            case MessageBoxResult.Yes:
                ModelNotifiedForCustomers itemSelected = (ModelNotifiedForCustomers)DataGridCustomers.SelectedItem;
                dataConnection.DeleteData(itemSelected, out error);
                if (string.IsNullOrEmpty(error))
                {
                    CustomersDataContext.modelNotifiedForCustomersMain.Remove(itemSelected);
                }
                break;

            case MessageBoxResult.No:
                return;
            }

            if (error != null)
            {
                MessageBox.Show(error);
            }
            else
            {
                //MessageBox.Show(MessageBoxDeleteOK);
                MessageBox.Show(CustomersDataContext.WPFMessageAndLabelForList.MessageBoxDeleteOK);
                btnReload_Click(null, null);
            }
        }
示例#4
0
        public void DeleteData(ModelNotifiedForCustomers modelNotifiedForCustomers, out string error)
        {
            CustomersBsn  bsn    = new CustomersBsn(wpfConfig);
            CustomersInfo dbItem = new CustomersInfo();

            Cloner.CopyAllTo(typeof(ModelNotifiedForCustomers), modelNotifiedForCustomers, typeof(CustomersInfo), dbItem);
            bsn.DeleteByID(dbItem, out error);
        }
示例#5
0
        public void DeleteData(ModelNotifiedForCustomers modelNotifiedForCustomers, out string error)
        {
            CustomersGenericREST CustomersGenericREST = new CustomersGenericREST(wpfConfig);
            DeleteCustomersView  deleteCustomersView  = new DeleteCustomersView();

            Cloner.CopyAllTo(typeof(ModelNotifiedForCustomers), modelNotifiedForCustomers, typeof(DeleteCustomersView), deleteCustomersView);
            CustomersGenericREST.Delete(deleteCustomersView, out error);
        }
示例#6
0
        public void AddData(ModelNotifiedForCustomers modelNotifiedForCustomers, out string error)
        {
            CustomersGenericREST CustomersGenericREST = new CustomersGenericREST(wpfConfig);
            CreateCustomersView  createCustomersView  = new CreateCustomersView();

            Cloner.CopyAllTo(typeof(ModelNotifiedForCustomers), modelNotifiedForCustomers, typeof(CreateCustomersView), createCustomersView);
            CustomersGenericREST.Insert(createCustomersView, out error);
        }
示例#7
0
        public void SaveData(ModelNotifiedForCustomers modelNotifiedForCustomers, out string error)
        {
            CustomersGenericREST CustomersGenericREST = new CustomersGenericREST(wpfConfig);
            UpdateCustomersView  updateCustomersView  = new UpdateCustomersView();

            Cloner.CopyAllTo(typeof(ModelNotifiedForCustomers), modelNotifiedForCustomers, typeof(UpdateCustomersView), updateCustomersView);
            CustomersGenericREST.Update(updateCustomersView, out error);
        }
示例#8
0
        public void AddData(ModelNotifiedForCustomers modelNotifiedForCustomers, out string error)
        {
            CustomersBsn  bsn    = new CustomersBsn(wpfConfig);
            CustomersInfo dbItem = new CustomersInfo();

            Cloner.CopyAllTo(typeof(ModelNotifiedForCustomers), modelNotifiedForCustomers, typeof(CustomersInfo), dbItem);
            bsn.InsertOne(dbItem, out error);
            modelNotifiedForCustomers.NewItem = false;
            Cloner.CopyAllTo(typeof(CustomersInfo), dbItem, typeof(ModelNotifiedForCustomers), modelNotifiedForCustomers);
        }
示例#9
0
        /// <summary>
        /// Triggered by change in grid's row.
        /// </summary>
        private void OnSelectionChanged(object sender, SelectionChangedEventArgs e)
        {
            if ((DataGridCustomers.SelectedItem == null) || DataGridCustomers.SelectedItem.GetType() != typeof(ModelNotifiedForCustomers))
            {
                //New row on grid's bottom. By default do nothing when new row is included
                return;
            }

            ModelNotifiedForCustomers selectedItem = (ModelNotifiedForCustomers)DataGridCustomers.SelectedItem;

            LoadDetail(selectedItem);
        }
示例#10
0
        private void OpenFormClick(object sender, RoutedEventArgs e)
        {
            ModelNotifiedForCustomers itemSelected = (ModelNotifiedForCustomers)DataGridCustomers.SelectedItem;

            if (itemSelected == null)
            {
                return;
            }

            //Uncomment this line to allow navigation
            //this.FrameMainWindow.Navigate(this.DetailListGeoCities);

            /* COMPILE ERROR WARNING!!! If this line crash:
             * a) Generate the FORM version of this list.
             * b) Re-generate the LIST without the "OpenForm" feature.#
             * c) Remove this chunk of code*/

            MyApp.WPFForms.Customers.FormWPFCustomers page = new MyApp.WPFForms.Customers.FormWPFCustomers(config);
            page.LoadForm(itemSelected.CustomerID);
            page.Setup_SetLanguage(CurrentLanguage);
            ContainerWindowSimple win = new ContainerWindowSimple(page, "Form Customers");

            win.Show();
        }
示例#11
0
        private void SaveClick(object sender, RoutedEventArgs e)
        {
            ModelNotifiedForCustomers itemSelected = (ModelNotifiedForCustomers)DataGridCustomers.SelectedItem;

            if (itemSelected == null)
            {
                return;
            }

            string error = null;

            if (itemSelected.NewItem)
            {
                dataConnection.AddData(itemSelected, out error);

                if (error == null)
                {
                    btnReload_Click(null, null);
                }
            }
            else
            {
                dataConnection.SaveData(itemSelected, out error);
            }

            if (error == null)
            {
                //MessageBox.Show(MessageBoxSaveOK);
                MessageBox.Show(CustomersDataContext.WPFMessageAndLabelForList.MessageBoxSaveOK);
            }
            else
            {
                //MessageBox.Show(MessageBoxSaveError + error);
                MessageBox.Show(CustomersDataContext.WPFMessageAndLabelForList.MessageBoxSaveError + error);
            }
        }