public DatabaseItemViewModel(Buglist buglistItem)
 {
     this.ItemIdentification           = buglistItem.Id;
     this.FailureType                  = buglistItem.FailureType;
     this.StatusType                   = buglistItem.StatusType;
     this.ControllerType               = buglistItem.ControllerType;
     this.HardwareIdentificationLevel1 = buglistItem.HardwareIdentificationLevel1;
     this.HardwareIdentificationLevel2 = buglistItem.HardwareIdentificationLevel2;
     this.Bug       = buglistItem.Bug;
     this.Comment   = buglistItem.Comment;
     this.Priority  = buglistItem.Priority;
     this.DateFound = buglistItem.DateFound;
     this.DateFixed = buglistItem.DateFixed;
 }
예제 #2
0
        /// <summary>
        /// Adds a buglist item in the database.
        /// </summary>
        /// <param name="buglistItem">The buglist item.</param>
        public void AddBuglistItem(Application.BuglistView.Buglist buglistItem)
        {
            EntityFramework.Buglist buglistDatabase = new Buglist();
            buglistDatabase.Id                = buglistItem.Id;
            buglistDatabase.FailureType_Id    = this.GetFailureTypId(buglistItem.FailureType);
            buglistDatabase.StatusType_Id     = this.GetStatusTypeId(buglistItem.StatusType);
            buglistDatabase.ControllerType_Id = this.GetControllerTypId(buglistItem.ControllerType);
            buglistDatabase.HardwareIdentificationLevel1_Id = this.GetHardwareIdentificationLevel1Id(buglistItem.HardwareIdentificationLevel1);
            buglistDatabase.HardwareIdentificationLevel2_Id = this.GetHardwareIdentificationLevel2Id(buglistItem.HardwareIdentificationLevel2);
            buglistDatabase.Bug         = buglistItem.Bug;
            buglistDatabase.Comment     = buglistItem.Comment;
            buglistDatabase.Priority_Id = this.GetPriorityId(buglistItem.Priority);
            buglistDatabase.DateFound   = buglistItem.DateFound;
            buglistDatabase.DateFixed   = buglistItem.DateFixed;

            databaseContext.Buglist.Add(buglistDatabase);
            databaseContext.SaveChanges();
        }
예제 #3
0
        /// <summary>
        /// Updates the buglist item in database.
        /// </summary>
        /// <param name="buglistItem">The buglist item.</param>
        public void UpdateBuglistItemInDatabase(Application.BuglistView.Buglist buglistItem)
        {
            Buglist buglistItemToUpdate = databaseContext.Buglist.Where(x => x.Id == buglistItem.Id).FirstOrDefault();

            if (buglistItemToUpdate != null)
            {
                buglistItemToUpdate.FailureType_Id    = this.GetFailureTypId(buglistItem.FailureType);
                buglistItemToUpdate.StatusType_Id     = this.GetStatusTypeId(buglistItem.StatusType);
                buglistItemToUpdate.ControllerType_Id = this.GetControllerTypId(buglistItem.ControllerType);
                buglistItemToUpdate.HardwareIdentificationLevel1_Id = this.GetHardwareIdentificationLevel1Id(buglistItem.HardwareIdentificationLevel1);
                buglistItemToUpdate.HardwareIdentificationLevel2_Id = this.GetHardwareIdentificationLevel2Id(buglistItem.HardwareIdentificationLevel2);
                buglistItemToUpdate.Bug         = buglistItem.Bug;
                buglistItemToUpdate.Comment     = buglistItem.Comment;
                buglistItemToUpdate.Priority_Id = this.GetPriorityId(buglistItem.Priority);
                buglistItemToUpdate.DateFound   = buglistItem.DateFound;
                buglistItemToUpdate.DateFixed   = buglistItem.DateFixed;
            }

            databaseContext.SaveChanges();
        }
        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();
        }