예제 #1
0
 private void loadPage()
 {
     order = App.formHandler.loadOrderFromIsolatedStorage(orderID);
     if (order.State != OrderState.Giving.ToString())
     {
         order.State = OrderState.Giving.ToString();
     }
     foreach (Form form in order.FormList)
     {
         foreach (FormPage fp in form.FormPageList)
         {
             if (fp.FormPageID == EditPageType)
             {
                 formID = form.FormID;
                 page   = fp;
             }
         }
     }
     if (page != null)
     {
         setUpPage();
     }
     else
     {
         Debug.WriteLine("Fehler beim Erstellen der Seite");
     }
     App.formHandler.saveData(order);
 }
예제 #2
0
 public void loadAllFormPagesInOrder(Order o)
 {
     order = o;
     foreach (Form form in order.FormList)
     {
         formID = form.FormID;
         foreach (FormPage fp in form.FormPageList)
         {
             EditPageType = fp.FormPageID;
             page         = fp;
             setUpPage();
             App.formHandler.saveData(order);
         }
     }
 }
예제 #3
0
        private void validateData(Order data)
        {
            if (data.OrderID == "")
            {
                Debug.WriteLine("Warnung---> ID des Auftrags fehlt!");
                data.OrderID = "000000";
            }
            else
            if (data.FormList.Count > 0)
            {
                Debug.WriteLine("In dem Auftrag (" + data.OrderID + ") ist ...");
            }
            int i = 0;

            while (i < data.FormList.Count)
            {
                Form form = data.FormList[i];
                if (form.FormID == "")
                {
                    Debug.WriteLine("Warnung---> ID für das " + (i + 1) + ". Formular fehlt!");
                    data.FormList[i].FormID = "Form" + i;
                }
                else
                {
                    Debug.WriteLine("... das Formular " + form.FormID + " enthalten");
                }

                int j = 0;

                while (j < form.FormPageList.Count)
                {
                    FormPage page = form.FormPageList[j];
                    if (page.FormPageID == "")
                    {
                        Debug.WriteLine("Warnung---> ID für die " + (j + 1) + ". Formularseite fehlt!");
                        data.FormList[i].FormPageList[j].FormPageID = "FormPage" + i + "_" + j;
                    }
                    else
                    {
                        Debug.WriteLine("      mit der Formularseite: " + page.FormPageID);
                    }

                    int k = 0;

                    while (k < page.FormItemList.Count)
                    {
                        FormItem item = page.FormItemList[k];
                        if (item.ID == "")
                        {
                            Debug.WriteLine("Warnung---> ID für das " + (k + 1) + ". Formularelement fehlt!");
                            data.FormList[i].FormPageList[j].FormItemList[k].ID = "FormItem" + i + "_" + j + "_" + k;
                        }
                        else
                        {
                            Debug.WriteLine("                    Formularelement: " + item.ID);
                        }

                        if (item.ControlType == "")
                        {
                            Debug.WriteLine("Warnung---> Typ für das " + (k + 1) + ". Formularelement fehlt!");
                            data.FormList[i].FormPageList[j].FormItemList[k].ControlType = defaultFormItemType;
                        }
                        k++;
                    }
                    j++;
                }
                i++;
            }
        }
예제 #4
0
        private void setUpPages(object sender, EventArgs e)
        {
            Pivot.Items.Clear();
            foreach (Form form in order.FormList)
            {
                //if (Pivot.Items.Count > order.FormList.IndexOf(form))
                //{
                PivotItem pivotItem = new PivotItem();
                Pivot.Items.Add(pivotItem);
                pivotItem.Header = form.FormHeader;
                StackPanel panel  = new StackPanel();
                ListBox    viewer = new ListBox();
                panel.Tag = form.FormID;
                viewer.Items.Add(panel);
                pivotItem.Content = viewer;
                bool signable = true;
                foreach (FormPage page in form.FormPageList)
                {
                    StackPanel pagePanel = new StackPanel();
                    FormPage = page;
                    foreach (FormItem item in page.FormItemList)
                    {
                        if (EnumerationMatcher.StringToFormItemState(item.State) != FormItemState.Edited)
                        {
                            bool found = false;
                            foreach (OrderInformation info in order.Information)
                            {
                                if (info.ID == item.ID || info.ID == (form.FormID + item.ID))
                                {
                                    Debug.WriteLine("Die Information zu " + item.ID + " ist bereits vorhanden: " + info.Information);
                                    item.Input = info.Information;
                                    found      = true;
                                }
                            }
                            if (found)
                            {
                                order.setStateOfFormItem(item.ID, FormItemState.Edited);
                            }
                        }

                        if (item.State == FormItemState.Edited.ToString() || item.Input != "" || item.ControlType == FormItemType.Header.ToString() || item.ControlType == FormItemType.Subheader.ToString() || item.ControlType == FormItemType.Listing.ToString() || item.ControlType == FormItemType.PageLink.ToString())
                        {
                            FrameworkElement element = elementFactory.getFrameworkElementFromItem(item, this);
                            if (element != null)
                            {
                                pagePanel.Children.Add(element);
                            }
                        }
                        else
                        if (item.Important)
                        {
                            signable = false;
                            if ((item.Input == "" || item.State == FormItemState.Blank.ToString()))
                            {
                                TextBlock textBlock = new TextBlock();
                                textBlock.Text = item.Header + " (?)";
                                Style style = (Style)App.resources["OverviewBlank"];
                                if (style == null)
                                {
                                    Debug.WriteLine("Fehler: Der Style \"OverviewBlank\" fehlt!");
                                }
                                else
                                {
                                    textBlock.Style = style;
                                }
                                textBlock.Name = item.ID;
                                pagePanel.Children.Add(textBlock);
                            }
                        }
                    }
                    pagePanel.Tag = page.FormPageID;
                    if (form.State == FormState.Open.ToString() || form.State == FormState.Signable.ToString())
                    {
                        pagePanel.DoubleTap += JumpToEditFormPage;
                    }
                    panel.Children.Add(pagePanel);
                }

                TextBlock SignumHeader = new TextBlock();
                SignumHeader.Text  = "Unterschriften";
                SignumHeader.Style = (Style)App.resources["Subheader"];
                panel.Children.Add(SignumHeader);

                bool   OtherSigned = false;
                bool   ISigned     = false;
                string Person1     = "";
                if (form.FormOtherHaveToSign)
                {
                    foreach (OrderInformation info in order.Information)
                    {
                        if (info.ID == "GivingPersonName")
                        {
                            Person1 = info.Information;
                        }
                    }
                    if (Person1 != "")
                    {
                        if (!GlobalSettings.HasSignedList.Contains(Person1 + form.FormID) && ((form.State == FormState.Open.ToString() || form.State == FormState.Signable.ToString())))
                        {
                            Image image = new Image();
                            MakeABackground(Person1, (form.State == FormState.Signable.ToString() && signable));
                            BitmapSource source = App.formHandler.getSignumOf(Person1 + "Button");
                            if (source != null)
                            {
                                image.Source = source;
                            }
                            else
                            {
                                Debug.WriteLine("Buttonbild sollte da sein, wurde als Bild aber nicht gefunden.");
                            }
                            Button button = new Button();
                            button.Width               = 655 / 2;
                            button.Height              = 480 / 2;
                            button.BorderThickness     = new Thickness(0);
                            button.Tag                 = form.FormID;
                            button.Name                = "SignOther" + form.FormID;
                            button.HorizontalAlignment = System.Windows.HorizontalAlignment.Center;
                            if (!(form.State == FormState.Signable.ToString() && signable))
                            {
                                button.IsEnabled = false;
                            }
                            button.Click  += JumpToSignumPage;
                            button.Content = image;
                            panel.Children.Add(button);
                        }
                        else
                        {
                            OtherSigned = true;
                            BitmapSource source = App.formHandler.getSignumOf(Person1 + form.FormID);
                            if (source != null)
                            {
                                Image image = new Image();
                                image.Source = source;
                                image.Width  = 655 / 2;
                                image.Height = 480 / 2;
                                panel.Children.Add(image);
                            }
                            else
                            {
                                Debug.WriteLine("Signum sollte da sein, wurde als Bild aber nicht gefunden.");
                            }
                        }
                    }
                }
                else
                {
                    OtherSigned = true;
                }

                if (form.FormIHaveToSign)
                {
                    Person1 = GlobalSettings.myName;
                    if (Person1 != "")
                    {
                        if (!GlobalSettings.HasSignedList.Contains(Person1 + form.FormID) && ((form.State == FormState.Open.ToString() || form.State == FormState.Signable.ToString())))
                        {
                            Image image = new Image();
                            MakeABackground(Person1, (form.State == FormState.Signable.ToString() && signable));
                            BitmapSource source = App.formHandler.getSignumOf(Person1 + "Button");
                            if (source != null)
                            {
                                image.Source = source;
                            }
                            else
                            {
                                Debug.WriteLine("Buttonbild sollte da sein, wurde als Bild aber nicht gefunden.");
                            }
                            Button button = new Button();
                            button.Width               = 655 / 2;
                            button.Height              = 480 / 2;
                            button.BorderThickness     = new Thickness(0);
                            button.Tag                 = form.FormID;
                            button.Name                = "SignMe" + form.FormID;
                            button.HorizontalAlignment = System.Windows.HorizontalAlignment.Center;
                            if (!(form.State == FormState.Signable.ToString() && signable))
                            {
                                button.IsEnabled = false;
                            }
                            button.Click  += JumpToSignumPage;
                            button.Content = image;
                            panel.Children.Add(button);
                        }
                        else
                        {
                            ISigned = true;
                            BitmapSource source = App.formHandler.getSignumOf(Person1 + form.FormID);
                            if (source != null)
                            {
                                Image image = new Image();
                                image.Source = source;
                                image.Width  = 655 / 2;
                                image.Height = 480 / 2;
                                panel.Children.Add(image);
                            }
                            else
                            {
                                Debug.WriteLine("Signum sollte da sein, wurde als Bild aber nicht gefunden.");
                            }
                        }
                    }
                }
                else
                {
                    ISigned = true;
                }
                if (OtherSigned && ISigned)
                {
                    form.State = FormState.Signed.ToString();
                    if (ApplicationBar != null)
                    {
                        ApplicationBar.IsVisible = true;
                    }
                    App.formHandler.saveData(order);
                }
                pivotItem.Visibility = System.Windows.Visibility.Visible;
            }
            //          if (GlobalSettings.focusElement != null)
            //            focusOnElement(GlobalSettings.focusElement);
        }