コード例 #1
0
        /// <summary>
        /// Add new instance to avoid update of data grid when editing information in detail view.
        /// </summary>
        /// <param name="item">single software item in database</param>
        public void SetDetailedInformation(DatabaseItemViewModel item)
        {
            this.databaseItemViewModel = new DatabaseItemViewModel()
            {
                ItemIdentification           = item.ItemIdentification,
                FailureType                  = item.FailureType,
                StatusType                   = item.StatusType,
                Priority                     = item.Priority,
                ControllerType               = item.ControllerType,
                HardwareIdentificationLevel1 = item.HardwareIdentificationLevel1,
                HardwareIdentificationLevel2 = item.HardwareIdentificationLevel2,
                DateFound                    = item.DateFound,
                DateFixed                    = item.DateFixed,
                Bug     = item.Bug,
                Comment = item.Comment
            };

            this.FillInputs(
                this.databaseItemViewModel.FailureType,
                this.databaseItemViewModel.StatusType,
                this.databaseItemViewModel.Priority,
                this.databaseItemViewModel.ControllerType,
                this.databaseItemViewModel.HardwareIdentificationLevel1,
                this.databaseItemViewModel.HardwareIdentificationLevel2,
                this.databaseItemViewModel.DateFound,
                this.databaseItemViewModel.DateFixed,
                this.databaseItemViewModel.Bug,
                this.databaseItemViewModel.Comment);
        }
コード例 #2
0
        private void DeleteItem(DatabaseItemViewModel databaseItemViewModel)
        {
            //update database view first (possible that the buglist item dosn't exist anymore)
            this.LoadBuglistDataGrid();

            //Request the user if he want to delete permanently
            UserFeedbackQuestionEventArgs deleteItemFinal = new UserFeedbackQuestionEventArgs(
                string.Format("Do you really want to delete {0} ?", databaseItemViewModel.Bug));

            this.ViewModelEvents.OnUserFeedback(this, deleteItemFinal);

            if (deleteItemFinal.Result == MessageBoxResult.Yes)
            {
                this.etic2Model.BuglistItem.DeleteBuglistItem(
                    databaseItemViewModel.ItemIdentification);

                //Set first database item as selected item in the datagrid
                this.BuglistDatabaseDataGridViewModel.SelectedDatabaseItemViewModel =
                    this.BuglistDatabaseDataGridViewModel.DatabaseItemViewModels.FirstOrDefault();

                this.LoadBuglistDataGrid();

                this.buglistDatabaseDataGridViewModel.SelectedDatabaseItemViewModel = this.buglistDatabaseDataGridViewModel.DatabaseItemViewModels.FirstOrDefault();
            }
        }
コード例 #3
0
        /// <summary>
        /// Gets the buglist item which is actually selected in the data grid view. (main window under half)
        /// </summary>
        /// <returns>single software item</returns>
        public Buglist GetBuglistItem()
        {
            DatabaseItemViewModel item = this.GetDatabaseItemViewModel();

            //only save dateFixed if the status type is not open
            if (databaseItemViewModel.StatusType == "open")
            {
                return(new Buglist()
                {
                    Id = item.ItemIdentification,
                    FailureType = item.FailureType,
                    StatusType = item.StatusType,
                    Priority = item.Priority,
                    ControllerType = item.ControllerType,
                    HardwareIdentificationLevel1 = item.HardwareIdentificationLevel1,
                    HardwareIdentificationLevel2 = item.HardwareIdentificationLevel2,
                    DateFound = item.DateFound,
                    DateFixed = null,
                    Bug = item.Bug,
                    Comment = item.Comment
                });
            }
            else
            {
                return(new Buglist()
                {
                    Id = item.ItemIdentification,
                    FailureType = item.FailureType,
                    StatusType = item.StatusType,
                    Priority = item.Priority,
                    ControllerType = item.ControllerType,
                    HardwareIdentificationLevel1 = item.HardwareIdentificationLevel1,
                    HardwareIdentificationLevel2 = item.HardwareIdentificationLevel2,
                    DateFound = item.DateFound,
                    DateFixed = item.DateFixed,
                    Bug = item.Bug,
                    Comment = item.Comment
                });
            }
        }
コード例 #4
0
 public ItemEventArgs(DatabaseItemViewModel databaseItemViewModel)
 {
     DatabaseItemViewModel = databaseItemViewModel;
 }
コード例 #5
0
 public SaveItemEventArgs(DatabaseItemViewModel databaseItemViewModel)
     : base(databaseItemViewModel)
 {
 }
コード例 #6
0
        private void SaveItem(DatabaseItemViewModel databaseItemViewModel)
        {
            //update database view first
            this.LoadBuglistDataGrid();

            //Create new item if software item has identification number -1
            if (this.detailedInformationViewModel.IsNewItemSet)
            {
                Buglist buglistItem = this.detailedInformationViewModel.GetBuglistItem();

                //check if the buglist item already exist in the database
                List <Buglist> buglistItems = this.etic2Model.BuglistItem.GetApplicationBuglist();
                if (buglistItems.Any(x => x.Bug == databaseItemViewModel.Bug))
                {
                    this.ViewModelEvents.OnUserFeedback(this, new UserFeedbackInfoEventArgs(string.Format("{0} does already exist in database and can not be saved again!", databaseItemViewModel.Bug)));
                    return;
                }

                this.etic2Model.BuglistItem.AddBuglistItem(buglistItem);

                buglistItem = this.etic2Model.BuglistItem.GetApplicationBuglistItem(buglistItem.Bug);

                if (buglistItem != null)
                {
                    this.detailedInformationViewModel.SetDetailedInformation(new DatabaseItemViewModel(buglistItem));
                }
            }
            else
            {
                //only save dateFixed if the status type is not open
                if (databaseItemViewModel.StatusType == "open")
                {
                    this.etic2Model.BuglistItem.UpdateBuglistItemInDatabase(new Buglist()
                    {
                        Id             = databaseItemViewModel.ItemIdentification,
                        FailureType    = databaseItemViewModel.FailureType,
                        StatusType     = databaseItemViewModel.StatusType,
                        ControllerType = databaseItemViewModel.ControllerType,
                        HardwareIdentificationLevel1 = databaseItemViewModel.HardwareIdentificationLevel1,
                        HardwareIdentificationLevel2 = databaseItemViewModel.HardwareIdentificationLevel2,
                        Bug       = databaseItemViewModel.Bug,
                        Comment   = databaseItemViewModel.Comment,
                        Priority  = databaseItemViewModel.Priority,
                        DateFound = databaseItemViewModel.DateFound,
                        DateFixed = null
                    });
                }
                else
                {
                    this.etic2Model.BuglistItem.UpdateBuglistItemInDatabase(new Buglist()
                    {
                        Id             = databaseItemViewModel.ItemIdentification,
                        FailureType    = databaseItemViewModel.FailureType,
                        StatusType     = databaseItemViewModel.StatusType,
                        ControllerType = databaseItemViewModel.ControllerType,
                        HardwareIdentificationLevel1 = databaseItemViewModel.HardwareIdentificationLevel1,
                        HardwareIdentificationLevel2 = databaseItemViewModel.HardwareIdentificationLevel2,
                        Bug       = databaseItemViewModel.Bug,
                        Comment   = databaseItemViewModel.Comment,
                        Priority  = databaseItemViewModel.Priority,
                        DateFound = databaseItemViewModel.DateFound,
                        DateFixed = databaseItemViewModel.DateFixed
                    });
                }
            }

            this.LoadBuglistDataGrid();
            this.buglistDatabaseDataGridViewModel.SelectedDatabaseItemViewModel = this.buglistDatabaseDataGridViewModel.DatabaseItemViewModels.Where(
                x => x.Bug == databaseItemViewModel.Bug).FirstOrDefault();
        }
コード例 #7
0
 public DeleteItemEventArgs(DatabaseItemViewModel databaseItemViewModel)
     : base(databaseItemViewModel)
 {
 }