示例#1
0
        private void DockBar_DocumentModeChanged(object sender, RoutedEventArgs e)
        {
            try
            {
                e.Handled = true;
                Mode      = (DocumentLifeCircle)e.OriginalSource;

                switch (Mode)
                {
                case DocumentLifeCircle.Save:
                    var dataset = (ProjectContractViewModelCollection)DataContext;

                    dataset.SaveModel();

                    if (dataset.HasError)
                    {
                        MessageBox.Show(string.Join("\n", dataset.Errors.ToArray()), "錯誤", MessageBoxButton.OK, MessageBoxImage.Error, MessageBoxResult.OK, MessageBoxOptions.DefaultDesktopOnly);
                        dataset.Errors = null;
                        //Mode = dockBar.LastState;
                        break;
                    }

                    Mode = DocumentLifeCircle.Read;

                    break;
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message, "錯誤", MessageBoxButton.OK, MessageBoxImage.Error, MessageBoxResult.OK, MessageBoxOptions.DefaultDesktopOnly);
            }
        }
示例#2
0
 private void userControl_Initialized(object sender, EventArgs e)
 {
     try
     {
         Mode = DocumentLifeCircle.Read;
     }
     catch (Exception ex)
     {
         MessageBox.Show(ex.Message, "錯誤", MessageBoxButton.OK, MessageBoxImage.Error, MessageBoxResult.OK, MessageBoxOptions.DefaultDesktopOnly);
     }
 }
示例#3
0
 private void btnF12_Click(object sender, RoutedEventArgs e)
 {
     try
     {
         DocumentMode = DocumentLifeCircle.Update;
         e.Handled    = true;
         RaiseEvent(new RoutedEventArgs(ButtonBase.ClickEvent, this));
     }
     catch (Exception ex)
     {
         MessageBox.Show(ex.Message, "錯誤", MessageBoxButton.OK, MessageBoxImage.Error, MessageBoxResult.OK, MessageBoxOptions.DefaultDesktopOnly);
     }
 }
示例#4
0
 private void btnF9_Click(object sender, RoutedEventArgs e)
 {
     try
     {
         e.Handled    = true;
         DocumentMode = DocumentLifeCircle.Read;
         RaiseEvent(new RoutedEventArgs(DocumentModeChangedEvent, DocumentMode));
     }
     catch (Exception ex)
     {
         MessageBox.Show(ex.Message, "錯誤", MessageBoxButton.OK, MessageBoxImage.Error, MessageBoxResult.OK, MessageBoxOptions.DefaultDesktopOnly);
     }
 }
示例#5
0
 private void userControl_Initialized(object sender, EventArgs e)
 {
     try
     {
         controller       = App.Resolve <ProjectsController>();
         projectcontroll  = App.Resolve <ProjectContractController>();
         clientcontroller = App.Resolve <ClientController>();
         if (Mode == default(DocumentLifeCircle))
         {
             Mode = DocumentLifeCircle.Read;
         }
     }
     catch (Exception ex)
     {
         WinForm.MessageBox.Show(ex.Message, "錯誤", WinForm.MessageBoxButtons.OK, WinForm.MessageBoxIcon.Error, WinForm.MessageBoxDefaultButton.Button1, WinForm.MessageBoxOptions.DefaultDesktopOnly);
     }
 }
示例#6
0
 public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
 {
     if (value is DocumentLifeCircle)
     {
         DocumentLifeCircle DocMode = (DocumentLifeCircle)value;
         if (DocMode == DocumentLifeCircle.Create ||
             DocMode == DocumentLifeCircle.Update)
         {
             return(false);
         }
         else
         {
             return(true);
         }
     }
     return(false);
 }
示例#7
0
        private static void ChoiceMode(DocumentLifeCircle mode, DockBar src)
        {
            try
            {
                //switch (mode)
                //{
                //    case DocumentLifeCircle.Create:
                //        src.btnF1.IsEnabled = false;
                //        src.btnF2.IsEnabled = false;
                //        src.btnF3.IsEnabled = true;
                //        src.btnF9.IsEnabled = true;
                //        break;
                //    case DocumentLifeCircle.Delete:
                //        src.btnF1.IsEnabled = true;
                //        src.btnF2.IsEnabled = false;
                //        src.btnF3.IsEnabled = false;
                //        break;
                //    case DocumentLifeCircle.Read:
                //        src.btnF1.IsEnabled = true;
                //        src.btnF2.IsEnabled = true;
                //        src.btnF3.IsEnabled = false;
                //        src.btnF9.IsEnabled = false;
                //        break;
                //    case DocumentLifeCircle.Update:
                //        src.btnF1.IsEnabled = true;
                //        src.btnF2.IsEnabled = false;
                //        src.btnF3.IsEnabled = true;
                //        src.btnF9.IsEnabled = true;
                //        break;
                //}

                src.UpdateLayout();
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message, "錯誤", MessageBoxButton.OK, MessageBoxImage.Error, MessageBoxResult.OK, MessageBoxOptions.DefaultDesktopOnly);
            }
        }
示例#8
0
        public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
        {
            try
            {
                if (value != null)
                {
                    if (value is DocumentLifeCircle)
                    {
                        if (targetType == typeof(Visibility))
                        {
                            DocumentLifeCircle document_mode = (DocumentLifeCircle)value;
                            switch (document_mode)
                            {
                            case DocumentLifeCircle.Delete:
                            case DocumentLifeCircle.Read:
                                return(Visibility.Hidden);

                            case DocumentLifeCircle.Create:
                            case DocumentLifeCircle.Save:
                            case DocumentLifeCircle.Update:
                                return(Visibility.Visible);
                            }
                        }
                    }
                }

                return(value);
            }
            catch
            {
                if (targetType == typeof(string))
                {
                    return("#Error");
                }
                return(value);
            }
        }
示例#9
0
        private void DockBar_DocumentModeChanged(object sender, RoutedEventArgs e)
        {
            try
            {
                e.Handled = true;
                SelectedProject.Errors = null;
                Mode = (DocumentLifeCircle)e.OriginalSource;
                switch (Mode)
                {
                case DocumentLifeCircle.Create:
                    if (SelectedProject.Status.IsNewInstance == false)
                    {
                        RaiseEvent(new RoutedEventArgs(NewDocumentPageEvent, this));
                        break;
                    }

                    SelectedProject = new ProjectsViewModel();

                    SelectedProject.Initialized();
                    SelectedProject.CreateUserId = LoginedUser.UserId;

                    SelectedProject.Status.IsModify      = false;
                    SelectedProject.Status.IsSaved       = false;
                    SelectedProject.Status.IsNewInstance = true;

                    break;

                case DocumentLifeCircle.Save:

                    //if (SelectedBIGuid != null && SelectedBIGuid != Guid.Empty)
                    //{
                    //    var recvdata = SelectedProject.Suppliers.Where(w => w.Id == SelectedBIGuid).Single();
                    //    //recvdata.SiteContactPerson = TBSiteContactPerson.Text;
                    //    //recvdata.SiteContactPersonPhone = TBSiteContactPersonPhone.Text;
                    //}

                    if (SelectedProject.CreateUserId == Guid.Empty)
                    {
                        SelectedProject.CreateUserId = LoginedUser.UserId;
                    }

                    if (SelectedClient != null)
                    {
                        SelectedProject.ClientId = SelectedClient.Id;
                    }

                    SelectedProject.SaveModel();

                    if (SelectedProject.HasError)
                    {
                        MessageBox.Show(string.Join("\n", SelectedProject.Errors.ToArray()), "錯誤", MessageBoxButton.OK, MessageBoxImage.Error, MessageBoxResult.OK, MessageBoxOptions.DefaultDesktopOnly);
                        SelectedProject.Errors = null;
                        //Mode = dockBar.LastState;
                        break;
                    }

                    if (SelectedProject.Status.IsNewInstance)
                    {
                        RaiseEvent(new RoutedEventArgs(ClosableTabItem.OnPageClosingEvent, this));
                    }

                    Mode = DocumentLifeCircle.Read;

                    SelectedProject.Refresh();

                    SelectedProject.Status.IsModify      = false;
                    SelectedProject.Status.IsSaved       = true;
                    SelectedProject.Status.IsNewInstance = false;


                    break;

                case DocumentLifeCircle.Update:
                    SelectedProject.Status.IsModify      = false;
                    SelectedProject.Status.IsSaved       = false;
                    SelectedProject.Status.IsNewInstance = false;
                    break;
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message, "錯誤", MessageBoxButton.OK, MessageBoxImage.Error, MessageBoxResult.OK, MessageBoxOptions.DefaultDesktopOnly);
            }
        }
示例#10
0
        private void DockBar_DocumentModeChanged(object sender, RoutedEventArgs e)
        {
            try
            {
                e.Handled = true;

                ManufacturersViewModel SelectedManufacturers = (ManufacturersViewModel)DataContext;
                Mode = (DocumentLifeCircle)e.OriginalSource;

                switch (Mode)
                {
                case DocumentLifeCircle.Create:
                    DataContext           = new ManufacturersViewModel();
                    SelectedManufacturers = (ManufacturersViewModel)DataContext;
                    SelectedManufacturers.CreateUserId = LoginedUser.UserId;

                    if (SelectedManufacturers.HasError)
                    {
                        MessageBox.Show(string.Join("\n", SelectedManufacturers.Errors.ToArray()));
                        SelectedManufacturers.Errors = null;
                    }
                    break;

                case DocumentLifeCircle.Save:

                    SelectedManufacturers.SaveModel();

                    if (SelectedManufacturers.HasError)
                    {
                        MessageBox.Show(string.Join("\n", SelectedManufacturers.Errors.ToArray()));
                        SelectedManufacturers.Errors = null;

                        break;
                    }

                    var maincontact = SelectedManufacturers.Contracts.Where(w => w.IsDefault == true).SingleOrDefault();
                    if (maincontact != null)
                    {
                        tblMainContractPerson.Text = maincontact.Name;
                        tblExt.Text   = maincontact.ExtensionNumber;
                        tbMobile.Text = maincontact.Mobile;
                    }
                    else
                    {
                        tblMainContractPerson.Text = string.Empty;
                        tblExt.Text   = string.Empty;
                        tbMobile.Text = string.Empty;
                    }

                    if (SelectedManufacturers.Status.IsNewInstance)
                    {
                        RaiseEvent(new RoutedEventArgs(ClosableTabItem.OnPageClosingEvent, this));
                    }

                    Mode = DocumentLifeCircle.Read;

                    SelectedManufacturers.Status.IsNewInstance = false;
                    SelectedManufacturers.Status.IsModify      = false;
                    SelectedManufacturers.Status.IsSaved       = true;
                    break;

                case DocumentLifeCircle.Update:
                    SelectedManufacturers.Status.IsNewInstance = false;
                    SelectedManufacturers.Status.IsModify      = false;
                    SelectedManufacturers.Status.IsSaved       = false;
                    break;
                }


                //            SelectedManufacturers.Errors = null;
                //            dockBar.DocumentMode = DocumentLifeCircle.Read;
                //            break;

                //        SelectedManufacturers.Status.IsModify = false;
                //        SelectedManufacturers.Status.IsSaved = false;
                //        SelectedManufacturers.Status.IsNewInstance = true;

                //        break;

                //        if (SelectedManufacturers.CreateUserId == Guid.Empty)
                //        {
                //            SelectedManufacturers.CreateUserId = LoginedUser.UserId;
                //        }

                //        MaterialCategoriesViewModelCollection MaterialCategories = (MaterialCategoriesViewModelCollection)FindResource("MaterialCategoriesSource");
                //        TranscationCategoriesViewModelCollection TranscationCategories = (TranscationCategoriesViewModelCollection)FindResource("TranscationCategoriesSource");
                //        PaymentTypesManageViewModelCollection PaymentTypes = (PaymentTypesManageViewModelCollection)FindResource("PaymentTypesSource");
                //        TicketPeriodsViewModelCollection TicketPeriods = (TicketPeriodsViewModelCollection)FindResource("TicketPeriodsSource");

                //        Worksheet BISheet = BussinessItemSheet.Sheets[0];

                //        ManufacturersBussinessItemsViewModelColletion CurrentSheet = new ManufacturersBussinessItemsViewModelColletion();

                //        for (int i = 0; i < BussinessItemSheet.Sheets[0].RowCount; i++)
                //        {
                //            try
                //            {
                //                ManufacturersBussinessItemsViewModel entity = new ManufacturersBussinessItemsViewModel();
                //                entity.Id = Guid.NewGuid();

                //                entity.ManufacturersId = SelectedManufacturers.Id;

                //                string column_1 = BISheet.Rows[i].GetText(0);
                //                entity.MaterialCategories = column_1;
                //                entity.MaterialCategoriesId = MaterialCategories.Where(w => w.Name == column_1).Single().Id;

                //                string column_2 = BISheet.Rows[i].GetText(1);

                //                entity.Name = column_2;

                //                string column_3 = BISheet.Rows[i].GetText(2);
                //                entity.TranscationCategories = column_3;
                //                entity.TranscationCategoriesId = TranscationCategories.Where(w => w.Name == column_3).Single().Id;

                //                string column_4 = BISheet.Rows[i].GetText(3);
                //                entity.PaymentTypeName = column_4;
                //                entity.PaymentTypeId = PaymentTypes.Where(w => w.PaymentTypeName == column_4).Single().Id;

                //                string column_5 = BISheet.Rows[i].GetText(4);

                //                entity.TicketPeriod = column_5;
                //                entity.TicketPeriodId = TicketPeriods.Where(w => w.Name == column_5).Single().Id;

                //                var founditemset = SelectedManufacturers.ManufacturersBussinessItems
                //                    .Where(w => w.ManufacturersId == entity.ManufacturersId &&
                //                    w.MaterialCategories == entity.MaterialCategories
                //                    && w.Name == entity.Name && w.PaymentTypeName == entity.PaymentTypeName
                //                    && w.TicketPeriod == entity.TicketPeriod && w.TranscationCategories == entity.TranscationCategories);

                //                if (founditemset.Any())
                //                {
                //                    entity.Id = founditemset.Single().Id;
                //                }

                //                CurrentSheet.Add(entity);
                //            }
                //            catch
                //            {
                //                continue;
                //            }
                //        }

                //        var toAdd = CurrentSheet.Except(SelectedManufacturers.ManufacturersBussinessItems).ToList();
                //        var toDel = SelectedManufacturers.ManufacturersBussinessItems.Except(CurrentSheet).ToList();

                //        foreach (var delitem in toDel)
                //        {
                //            SelectedManufacturers.ManufacturersBussinessItems.Remove(delitem);
                //        }

                //        foreach (var additem in toAdd)
                //        {
                //            SelectedManufacturers.ManufacturersBussinessItems.Add(additem);
                //        }

                //        ((ManufacturersViewModel)DataContext).SaveModel();

                //        if (SelectedManufacturers.HasError)
                //        {
                //            MessageBox.Show(string.Join("\n", SelectedManufacturers.Errors.ToArray()));
                //            Mode = dockBar.LastState;
                //            SelectedManufacturers.Errors = null;
                //            //DataContext = controller.CreateNew();
                //            break;
                //        }

                //        if (dockBar.LastState == DocumentLifeCircle.Create)
                //        {
                //            RaiseEvent(new RoutedEventArgs(ClosableTabItem.OnPageClosingEvent, this.Parent));
                //        }

                //        Mode = DocumentLifeCircle.Read;

                //        SelectedManufacturers.Status.IsModify = false;
                //        SelectedManufacturers.Status.IsSaved = true;
                //        SelectedManufacturers.Status.IsNewInstance = false;

                //        break;
                //    case DocumentLifeCircle.Update:
                //        SelectedManufacturers.Status.IsModify = false;
                //        SelectedManufacturers.Status.IsSaved = false;
                //        SelectedManufacturers.Status.IsNewInstance = false;
                //        break;
                //}
                //UpdateLayout();
            }
            catch (Exception ex)
            {
                WinForm.MessageBox.Show(ex.Message, "錯誤", WinForm.MessageBoxButtons.OK, WinForm.MessageBoxIcon.Error, WinForm.MessageBoxDefaultButton.Button1, WinForm.MessageBoxOptions.DefaultDesktopOnly);
            }
        }