Beispiel #1
0
        /// <summary>
        /// Lists the specified project id.
        /// </summary>
        /// <param name="ProjectId">The project id.</param>
        /// <returns></returns>
        public static BasePlan[] List(int ProjectId)
        {
            ArrayList retVal = new ArrayList();

            foreach (ProjectBasePlanInfoRow row in ProjectBasePlanInfoRow.List(ProjectId))
            {
                retVal.Add(new BasePlan(row));
            }

            return((BasePlan[])retVal.ToArray(typeof(BasePlan)));
        }
Beispiel #2
0
        /// <summary>
        /// Saves the specified Active Data by Project to Base Plan Slot.
        /// </summary>
        /// <param name="ProjectId">The project id.</param>
        /// <param name="BasePlanSlotId">The base plan slot id.</param>
        public static void Save(int ProjectId, int BasePlanSlotId)
        {
            using (DbTransaction tran = DbTransaction.Begin())
            {
                // Step. Create or Update ProjectBasePlanInfoRow


                ProjectBasePlanInfoRow infoRow = new ProjectBasePlanInfoRow();

                ProjectBasePlanInfoRow[] activeInfoRowList = ProjectBasePlanInfoRow.List(ProjectId);

                foreach (ProjectBasePlanInfoRow activeInfoRow in activeInfoRowList)
                {
                    if (activeInfoRow.BasePlanSlotId == BasePlanSlotId)
                    {
                        infoRow = activeInfoRow;
                        break;
                    }
                }

                infoRow.BasePlanSlotId = BasePlanSlotId;
                infoRow.ProjectId      = ProjectId;
                infoRow.Created        = DateTime.UtcNow;

                infoRow.Update();
                //DV. Fix Exception, when finances are not active!
                if (ProjectSpreadSheet.IsActive(ProjectId))
                {
                    // Step 1. Save Spread Sheet View from Currency
                    ProjectSpreadSheetDataRow.Delete(ProjectId, BasePlanSlotId);

                    ProjectSpreadSheetDataRow[] srcRowList = ProjectSpreadSheetDataRow.ListCurrentByProjectId(ProjectId);

                    foreach (ProjectSpreadSheetDataRow srcRow in srcRowList)
                    {
                        ProjectSpreadSheetDataRow newRow = new ProjectSpreadSheetDataRow();

                        newRow.Index = BasePlanSlotId;

                        newRow.ProjectSpreadSheetId = srcRow.ProjectSpreadSheetId;

                        newRow.ColumnId = srcRow.ColumnId;
                        newRow.RowId    = srcRow.RowId;

                        newRow.CellType = srcRow.CellType;

                        newRow.Value = srcRow.Value;

                        newRow.Update();
                    }

                    SpreadSheetView view = ProjectSpreadSheet.LoadView(ProjectId, BasePlanSlotId, 2001, 2001);
                    ProjectSpreadSheet.SaveBusinessScore(ProjectId, BasePlanSlotId, view.Document);
                }

                // Step 2. Save Tasks
                ProjectTaskBasePlanRow.Fill(ProjectId, BasePlanSlotId);

                tran.Commit();
            }
        }