/// <summary>
 /// DeleteDirect
 /// </summary>
 /// <param name="projectId">projectId</param>
 /// <param name="refId">refId</param>
 /// <param name="companyId">companyId</param>
 public void DeleteDirect(int projectId, int refId, int companyId)
 {
     ProjectServiceGateway projectServiceGateway = new ProjectServiceGateway(null);
     projectServiceGateway.Delete(projectId, refId, companyId);
 }
        // ////////////////////////////////////////////////////////////////////////
        // PUBLIC METHODS
        //
        /// <summary>
        /// LoadAllByProjectId
        /// </summary>
        /// <param name="projectId">projectId</param>
        public void LoadAllByProjectId(int projectId)
        {
            ProjectServiceGateway projectServiceGateway = new ProjectServiceGateway(Data);
            projectServiceGateway.LoadAllByProjectId(projectId);

            foreach (ProjectTDS.LFS_PROJECT_SERVICERow lfsProjectServiceRow in (ProjectTDS.LFS_PROJECT_SERVICEDataTable)Table)
            {
                if (lfsProjectServiceRow.IsNull("AveragePrice"))
                {
                    lfsProjectServiceRow.Total = 0;
                }
                else
                {
                    lfsProjectServiceRow.Total = lfsProjectServiceRow.AveragePrice * lfsProjectServiceRow.Quantity;
                }
            }

            Table.AcceptChanges();
        }
 /// <summary>
 /// Update cost (direct to DB)
 /// </summary>
 /// <param name="originalProjectId">originalProjectId</param>
 /// <param name="originalRefId">originalRefId</param>
 /// <param name="originalServiceId">originalServiceId</param>
 /// <param name="originalDescription">originalDescription</param>
 /// <param name="originalAverageSize">originalAverageSize</param>
 /// <param name="originalAveragePrice">originalAveragePrice</param>
 /// <param name="originalQuantity">originalQuantity</param>
 /// <param name="originalDeleted">originalDeleted</param>
 /// <param name="originalCompanyId">originalCompanyId</param>  
 /// 
 /// <param name="newProjectId">newProjectId</param>
 /// <param name="newRefId">newRefId</param>
 /// <param name="newServiceId">newServiceId</param>
 /// <param name="newDescription">newDescription</param>
 /// <param name="newAverageSize">newAverageSize</param>
 /// <param name="newAveragePrice">newAveragePrice</param>
 /// <param name="newQuantity">newQuantity</param>
 /// <param name="newDeleted">newDeleted</param>
 /// <param name="newCompanyId">newCompanyId</param>  
 public void UpdateDirect(int originalProjectId, int originalRefId, int? originalServiceId, string originalDescription, string originalAverageSize, decimal? originalAveragePrice, int originalQuantity, bool originalDeleted, int originalCompanyId, int newProjectId, int newRefId, int? newServiceId, string newDescription, string newAverageSize, decimal? newAveragePrice, int newQuantity, bool newDeleted, int newCompanyId)
 {
     ProjectServiceGateway projectServiceGateway = new ProjectServiceGateway(null);
     projectServiceGateway.Update(originalProjectId, originalRefId, originalServiceId, originalDescription, originalAverageSize, originalAveragePrice, originalQuantity, originalDeleted, originalCompanyId, newProjectId, newRefId, newServiceId, newDescription, newAverageSize, newAveragePrice, newQuantity, newDeleted, newCompanyId);
 }
 /// <summary>
 /// Insert a new note (direct to DB)
 /// </summary>
 /// <param name="projectId">projectId</param>
 /// <param name="refId">refId</param>
 /// <param name="serviceId">serviceId</param>
 /// <param name="description">description</param>
 /// <param name="averageSize">averageSize</param>
 /// <param name="averagePrice">averagePrice</param>
 /// <param name="quantity">quantity</param>
 /// <param name="deleted">deleted</param>
 /// <param name="companyId">companyId</param>
 public void InsertDirect(int projectId, int refId, int? serviceId, string description, string averageSize, decimal? averagePrice, int quantity, bool deleted, int companyId)
 {
     ProjectServiceGateway projectServiceGateway = new ProjectServiceGateway(null);
     projectServiceGateway.Insert(projectId, refId, serviceId, description, averageSize, averagePrice, quantity, deleted, companyId);
 }
        private void InsertProjectService(int originalProjectId)
        {
            // ... Data for current project
            ProjectTDS projectTDSTemp = new ProjectTDS();
            ProjectServiceGateway projectServiceGatewayTemp = new ProjectServiceGateway(projectTDSTemp);
            projectServiceGatewayTemp.LoadAllByProjectId(originalProjectId);

            ProjectServiceGateway projectServiceGateway = new ProjectServiceGateway(projectTDS);
            projectServiceGateway.LoadAllByProjectId(originalProjectId);

            // ... Definition of general variables
            int refId;
            int? serviceId = null;
            string description;
            string averageSize;
            decimal? averagePrice = null;
            int quantity;
            bool deleted;
            decimal total;

            foreach (ProjectTDS.LFS_PROJECT_SERVICERow row in projectTDSTemp.Tables["LFS_PROJECT_SERVICE"].Rows)
            {
                refId = row.RefID;
                try { serviceId = row.ServiceID; }
                catch { serviceId = null; }
                try { description = row.Description; }
                catch { description = ""; }
                try { averageSize = row.AverageSize; }
                catch { averageSize = ""; }
                try { averagePrice = row.AveragePrice; }
                catch { averagePrice = null; }
                quantity = row.Quantity;
                deleted = row.Deleted;
                try { total = row.AveragePrice * row.Quantity; }
                catch { total = 0; }

                // ... Insert Service
                ProjectService projectService = new ProjectService(projectTDS);
                projectService.Insert(0, refId, serviceId, description, averageSize, averagePrice, quantity, deleted, total, Int32.Parse(hdfCompanyId.Value.Trim()));
            }
        }
        /// <summary>
        /// Update4 - Duplicate proposal
        /// </summary>
        public void Update4()
        {
            ProjectCostingUpdatesGateway projectCostingUpdatesGateway = new ProjectCostingUpdatesGateway(Data);
            ProjectEngineerSubcontractorsGateway projectEngineerSubcontractorsGateway = new ProjectEngineerSubcontractorsGateway(Data);
            ProjectHistoryGateway projectHistoryGateway = new ProjectHistoryGateway(Data);
            ProjectNotesGateway projectNotesGateway = new ProjectNotesGateway(Data);
            ProjectSaleBillingPricingGateway projectSaleBillingPricingGateway = new ProjectSaleBillingPricingGateway(Data);
            ProjectServiceGateway projectServiceGateway = new ProjectServiceGateway(Data);
            ProjectSubcontractorGateway projectSubcontractorGateway = new ProjectSubcontractorGateway(Data);
            ProjectTechnicalGateway projectTechnicalGateway = new ProjectTechnicalGateway(Data);
            ProjectTermsPOGateway projectTermsPOGateway = new ProjectTermsPOGateway(Data);

            DataTable projectChanges = Table.GetChanges();
            DataTable projectCostingUpdatesChanges = projectCostingUpdatesGateway.Table.GetChanges();
            DataTable projectEngineerSubcontractorsChanges = projectEngineerSubcontractorsGateway.Table.GetChanges();
            DataTable projectHistoryChanges = projectHistoryGateway.Table.GetChanges();
            DataTable projectNotesChanges = projectNotesGateway.Table.GetChanges();
            DataTable projectSaleBillingPricingChanges = projectSaleBillingPricingGateway.Table.GetChanges();
            DataTable projectServiceChanges = projectServiceGateway.Table.GetChanges();
            DataTable projectSubcontractorChanges = projectSubcontractorGateway.Table.GetChanges();
            DataTable projectTechnicalChanges = projectTechnicalGateway.Table.GetChanges();
            DataTable projectTermsPOChanges = projectTermsPOGateway.Table.GetChanges();

            if ((projectChanges == null) && (projectCostingUpdatesChanges == null) && (projectEngineerSubcontractorsChanges == null) && (projectHistoryChanges == null) && (projectNotesChanges == null) && (projectSaleBillingPricingChanges == null) && (projectServiceChanges == null) && (projectSubcontractorChanges == null) && (projectTechnicalChanges == null) && (projectTermsPOChanges == null)) return;

            try
            {
                DB.Open();
                DB.BeginTransaction();

                Adapter.InsertCommand.Transaction = DB.Transaction;
                Adapter.UpdateCommand.Transaction = DB.Transaction;
                Adapter.DeleteCommand.Transaction = DB.Transaction;

                projectCostingUpdatesGateway.Adapter.InsertCommand.Transaction = DB.Transaction;
                projectCostingUpdatesGateway.Adapter.UpdateCommand.Transaction = DB.Transaction;
                projectCostingUpdatesGateway.Adapter.DeleteCommand.Transaction = DB.Transaction;

                projectEngineerSubcontractorsGateway.Adapter.InsertCommand.Transaction = DB.Transaction;
                projectEngineerSubcontractorsGateway.Adapter.UpdateCommand.Transaction = DB.Transaction;
                projectEngineerSubcontractorsGateway.Adapter.DeleteCommand.Transaction = DB.Transaction;

                projectHistoryGateway.Adapter.InsertCommand.Transaction = DB.Transaction;
                projectHistoryGateway.Adapter.UpdateCommand.Transaction = DB.Transaction;
                projectHistoryGateway.Adapter.DeleteCommand.Transaction = DB.Transaction;

                projectNotesGateway.Adapter.InsertCommand.Transaction = DB.Transaction;
                projectNotesGateway.Adapter.UpdateCommand.Transaction = DB.Transaction;
                projectNotesGateway.Adapter.DeleteCommand.Transaction = DB.Transaction;

                projectSaleBillingPricingGateway.Adapter.InsertCommand.Transaction = DB.Transaction;
                projectSaleBillingPricingGateway.Adapter.UpdateCommand.Transaction = DB.Transaction;
                projectSaleBillingPricingGateway.Adapter.DeleteCommand.Transaction = DB.Transaction;

                projectServiceGateway.Adapter.InsertCommand.Transaction = DB.Transaction;
                projectServiceGateway.Adapter.UpdateCommand.Transaction = DB.Transaction;
                projectServiceGateway.Adapter.DeleteCommand.Transaction = DB.Transaction;

                projectSubcontractorGateway.Adapter.InsertCommand.Transaction = DB.Transaction;
                projectSubcontractorGateway.Adapter.UpdateCommand.Transaction = DB.Transaction;
                projectSubcontractorGateway.Adapter.DeleteCommand.Transaction = DB.Transaction;

                projectTechnicalGateway.Adapter.InsertCommand.Transaction = DB.Transaction;
                projectTechnicalGateway.Adapter.UpdateCommand.Transaction = DB.Transaction;
                projectTechnicalGateway.Adapter.DeleteCommand.Transaction = DB.Transaction;

                projectTermsPOGateway.Adapter.InsertCommand.Transaction = DB.Transaction;
                projectTermsPOGateway.Adapter.UpdateCommand.Transaction = DB.Transaction;
                projectTermsPOGateway.Adapter.DeleteCommand.Transaction = DB.Transaction;

                if ((projectChanges != null) && (projectChanges.Rows.Count > 0))
                {
                    Adapter.Update(projectChanges);

                    int newProjectId = DB.GetIdentCurrent("LFS_PROJECT", DB.Transaction);

                    //Getting projectId for History table
                    ProjectTDS.LFS_PROJECT_HISTORYRow rowHistory = ((ProjectTDS.LFS_PROJECT_HISTORYDataTable)projectHistoryGateway.Table).FindByProjectIDRefID(0, 1);
                    rowHistory.ProjectID = newProjectId;
                    projectHistoryChanges = projectHistoryGateway.Table.GetChanges();

                    //Getting projectId for Costing Updates table
                    if (projectCostingUpdatesGateway.Table.Rows.Count > 0)
                    {
                        ProjectTDS.LFS_PROJECT_COSTING_UPDATESRow rowProjectCosting = ((ProjectTDS.LFS_PROJECT_COSTING_UPDATESDataTable)projectCostingUpdatesGateway.Table).FindByProjectID(0);
                        rowProjectCosting.ProjectID = newProjectId;
                        projectCostingUpdatesChanges = projectCostingUpdatesGateway.Table.GetChanges();
                    }

                    //Getting projectId for Engineer Subcontractors table
                    if (projectEngineerSubcontractorsGateway.Table.Rows.Count > 0)
                    {
                        ProjectTDS.LFS_PROJECT_ENGINEER_SUBCONTRACTORSRow rowEngineerSubcontractors = ((ProjectTDS.LFS_PROJECT_ENGINEER_SUBCONTRACTORSDataTable)projectEngineerSubcontractorsGateway.Table).FindByProjectID(0);
                        rowEngineerSubcontractors.ProjectID = newProjectId;
                        projectEngineerSubcontractorsChanges = projectEngineerSubcontractorsGateway.Table.GetChanges();
                    }

                    //Getting projectId for Notes table
                    foreach (ProjectTDS.LFS_PROJECT_NOTERow rowNotes in (ProjectTDS.LFS_PROJECT_NOTEDataTable)projectNotesGateway.Table)
                    {
                        if (rowNotes.ProjectID == 0)
                        {
                            rowNotes.ProjectID = newProjectId;
                        }
                    }
                    projectNotesChanges = projectNotesGateway.Table.GetChanges();

                    //Getting projectId for SaleBillingPricing
                    if (projectSaleBillingPricingGateway.Table.Rows.Count > 0)
                    {
                        ProjectTDS.LFS_PROJECT_SALE_BILLING_PRICINGRow rowSaleBillingPricing = ((ProjectTDS.LFS_PROJECT_SALE_BILLING_PRICINGDataTable)projectSaleBillingPricingGateway.Table).FindByProjectID(0);
                        rowSaleBillingPricing.ProjectID = newProjectId;
                        projectSaleBillingPricingChanges = projectSaleBillingPricingGateway.Table.GetChanges();
                    }

                    //Getting projectId for Subcontractors
                    foreach (ProjectTDS.LFS_PROJECT_SUBCONTRACTORRow rowSubcontractor in (ProjectTDS.LFS_PROJECT_SUBCONTRACTORDataTable)projectSubcontractorGateway.Table)
                    {
                        if (rowSubcontractor.ProjectID == 0)
                        {
                            rowSubcontractor.ProjectID = newProjectId;
                        }
                    }
                    projectSubcontractorChanges = projectSubcontractorGateway.Table.GetChanges();

                    //Getting projectId for Services
                    foreach (ProjectTDS.LFS_PROJECT_SERVICERow rowService in (ProjectTDS.LFS_PROJECT_SERVICEDataTable)projectServiceGateway.Table)
                    {
                        if (rowService.ProjectID == 0)
                        {
                            rowService.ProjectID = newProjectId;
                        }
                    }
                    projectServiceChanges = projectServiceGateway.Table.GetChanges();

                    //Getting projectId for Technical
                    if (projectTechnicalGateway.Table.Rows.Count > 0)
                    {
                        ProjectTDS.LFS_PROJECT_TECHNICALRow rowTechnical = ((ProjectTDS.LFS_PROJECT_TECHNICALDataTable)projectTechnicalGateway.Table).FindByProjectID(0);
                        rowTechnical.ProjectID = newProjectId;
                        projectTechnicalChanges = projectTechnicalGateway.Table.GetChanges();
                    }

                    //Getting projectId for Terms
                    if (projectTermsPOGateway.Table.Rows.Count > 0)
                    {
                        ProjectTDS.LFS_PROJECT_TERMSRow rowTerms = ((ProjectTDS.LFS_PROJECT_TERMSDataTable)projectTermsPOGateway.Table).FindByProjectID(0);
                        rowTerms.ProjectID = newProjectId;
                        projectTermsPOChanges = projectTermsPOGateway.Table.GetChanges();
                    }
                }

                if ((projectCostingUpdatesChanges != null) && (projectCostingUpdatesChanges.Rows.Count > 0))
                {
                    projectCostingUpdatesGateway.Adapter.Update(projectCostingUpdatesChanges);
                }

                if ((projectEngineerSubcontractorsChanges != null) && (projectEngineerSubcontractorsChanges.Rows.Count > 0))
                {
                    projectEngineerSubcontractorsGateway.Adapter.Update(projectEngineerSubcontractorsChanges);
                }

                if ((projectHistoryChanges != null) && (projectHistoryChanges.Rows.Count > 0))
                {
                    projectHistoryGateway.Adapter.Update(projectHistoryChanges);
                }

                if ((projectNotesChanges != null) && (projectNotesChanges.Rows.Count > 0))
                {
                    projectNotesGateway.Adapter.Update(projectNotesChanges);
                }

                if ((projectSaleBillingPricingChanges != null) && (projectSaleBillingPricingChanges.Rows.Count > 0))
                {
                    projectSaleBillingPricingGateway.Adapter.Update(projectSaleBillingPricingChanges);
                }

                if ((projectServiceChanges != null) && (projectServiceChanges.Rows.Count > 0))
                {
                    projectServiceGateway.Adapter.Update(projectServiceChanges);
                }

                if ((projectSubcontractorChanges != null) && (projectSubcontractorChanges.Rows.Count > 0))
                {
                    projectSubcontractorGateway.Adapter.Update(projectSubcontractorChanges);
                }

                if ((projectTechnicalChanges != null) && (projectTechnicalChanges.Rows.Count > 0))
                {
                    projectTechnicalGateway.Adapter.Update(projectTechnicalChanges);
                }

                if ((projectTermsPOChanges != null) && (projectTermsPOChanges.Rows.Count > 0))
                {
                    projectTermsPOGateway.Adapter.Update(projectTermsPOChanges);
                }

                DB.CommitTransaction();
            }

            catch (DBConcurrencyException dBConcurrencyException)
            {
                DB.RollbackTransaction();
                throw new Exception("Concurrency error: Another user already updated the data you are working on.  Your operation has been cancelled.", dBConcurrencyException);
            }

            catch (SqlException sqlException)
            {
                DB.RollbackTransaction();
                byte severityLevel = sqlException.Class;
                if (severityLevel <= 16)
                {
                    throw new Exception("Low severity error. Your operation has been cancelled.  SQL Error " + severityLevel + ".");
                }
                if ((severityLevel >= 17) && (severityLevel <= 19))
                {
                    throw new Exception("Mid severity error. Your operation has been cancelled.  SQL Error " + severityLevel + ".");
                }
                if (severityLevel >= 20)
                {
                    throw new Exception("High severity error. Your operation has been cancelled.  SQL Error " + severityLevel + ".");
                }
            }

            catch (Exception e)
            {
                DB.RollbackTransaction();
                throw new Exception("Unknow error. Your operation has been cancelled.", e);
            }

            finally
            {
                DB.Close();
            }
        }
        /// <summary>
        /// Update 2 - Sale/Billing/Pricing and Service
        /// </summary>
        public void Update2()
        {
            ProjectServiceGateway projectServiceGateway = new ProjectServiceGateway(Data);

            DataTable saleBillingPricingChanges = Table.GetChanges();
            DataTable serviceChanges = projectServiceGateway.Table.GetChanges();

            if ((saleBillingPricingChanges == null) && (serviceChanges == null)) return;

            try
            {
                DB.Open();
                DB.BeginTransaction();

                Adapter.InsertCommand.Transaction = DB.Transaction;
                Adapter.UpdateCommand.Transaction = DB.Transaction;
                Adapter.DeleteCommand.Transaction = DB.Transaction;

                projectServiceGateway.Adapter.InsertCommand.Transaction = DB.Transaction;
                projectServiceGateway.Adapter.UpdateCommand.Transaction = DB.Transaction;
                projectServiceGateway.Adapter.DeleteCommand.Transaction = DB.Transaction;

                if ((saleBillingPricingChanges != null) && (saleBillingPricingChanges.Rows.Count > 0))
                {
                    Adapter.Update(saleBillingPricingChanges);
                }

                if ((serviceChanges != null) && (serviceChanges.Rows.Count > 0))
                {
                    projectServiceGateway.Adapter.Update(serviceChanges);
                }

                DB.CommitTransaction();
            }

            catch (DBConcurrencyException dBConcurrencyException)
            {
                DB.RollbackTransaction();
                throw new Exception("Concurrency error: Another user already updated the data you are working on.  Your operation has been cancelled.", dBConcurrencyException);
            }

            catch (SqlException sqlException)
            {
                DB.RollbackTransaction();
                byte severityLevel = sqlException.Class;
                if (severityLevel <= 16)
                {
                    throw new Exception("Low severity error. Your operation has been cancelled.  SQL Error " + severityLevel + ".");
                }
                if ((severityLevel >= 17) && (severityLevel <= 19))
                {
                    throw new Exception("Mid severity error. Your operation has been cancelled.  SQL Error " + severityLevel + ".");
                }
                if (severityLevel >= 20)
                {
                    throw new Exception("High severity error. Your operation has been cancelled.  SQL Error " + severityLevel + ".");
                }
            }

            catch (Exception e)
            {
                DB.RollbackTransaction();
                throw new Exception("Unknow error. Your operation has been cancelled.", e);
            }

            finally
            {
                DB.Close();
            }
        }
        // ////////////////////////////////////////////////////////////////////////
        // PUBLIC METHODS
        //
        /// <summary>
        /// Load
        /// </summary>
        /// <param name="projectId">projectId</param>
        /// <param name="companyId">companyId</param>
        /// <para>Load Original table to process data for Project Costing report without filters  </para>
        public void Load(int projectId, int companyId)
        {
            // Initialization of Gateways
            ProjectGateway projectGateway = new ProjectGateway(Data);
            projectGateway.LoadByProjectId(projectId);
            int companiesId = (int)projectGateway.GetClientID(projectId);

            ProjectJobInfoGateway projectJobInfoGateway = new ProjectJobInfoGateway(Data);
            projectJobInfoGateway.LoadAllByProjectId(projectId);

            ProjectSaleBillingPricingGateway projectSaleBillingPricingGateway = new ProjectSaleBillingPricingGateway(Data);
            projectSaleBillingPricingGateway.LoadAllByProjectId(projectId);

            ProjectTechnicalGateway projectTechnicalGateway = new ProjectTechnicalGateway(Data);
            projectTechnicalGateway.LoadByProjectId(projectId);

            ProjectTermsPOGateway projectTermsPOGateway = new ProjectTermsPOGateway(Data);
            projectTermsPOGateway.LoadByProjectId(projectId);

            ProjectSubcontractorGateway projectSubcontractorGateway = new ProjectSubcontractorGateway(Data);
            projectSubcontractorGateway.LoadByProjectId(projectId);

            ProjectEngineerSubcontractorsGateway projectEngineerSubcontractorsGateway = new ProjectEngineerSubcontractorsGateway(Data);
            projectEngineerSubcontractorsGateway.LoadAllByProjectId(projectId);

            ProjectHistoryGateway projectHistoryGateway = new ProjectHistoryGateway(Data);
            projectHistoryGateway.LoadFirstRow(projectId);

            ProjectNotesGateway projectNoteGateway = new ProjectNotesGateway(Data);
            projectNoteGateway.LoadByProjectId(projectId);

            ProjectServiceGateway projectServiceGateway = new ProjectServiceGateway(Data);
            projectServiceGateway.LoadByProjectId(projectId);

            // For Updates
            // ...Get the loginId for submitted field at report

            // ...Update LFS_PROJECT
            this.UpdateForReport(projectId, companiesId, projectGateway.GetSalesmanID(projectId), (projectGateway.GetProjectLeadID(projectId)).GetValueOrDefault(), companyId);

            // ...Update LFS_PROJECT_ENGINEER_SUBCONTRACTOR
            ProjectSynopsisEngineerSubcontractors projectSynopsisEngineerSubcontractors = new ProjectSynopsisEngineerSubcontractors(Data);
            if (projectSynopsisEngineerSubcontractors.Table.Rows.Count > 0)
            {
                projectSynopsisEngineerSubcontractors.UpdateForReport(projectId, companiesId, companyId);
            }

            // ...Update LFS_PROJECT_SUBCONTRACTOR
            ProjectSynopsisSubcontractor projectSynopsisSubcontractor = new ProjectSynopsisSubcontractor(Data);
            if (projectSynopsisSubcontractor.Table.Rows.Count > 0)
            {
                projectSynopsisSubcontractor.UpdateForReport(projectId, companiesId, companyId);
            }

            // ...Update LFS_PROJECT_NOTE
            ProjectSynopsisNote projectSynopsisNote = new ProjectSynopsisNote(Data);
            if (projectSynopsisNote.Table.Rows.Count > 0)
            {
                projectSynopsisNote.UpdateForReport(projectId, companyId);
            }

            // ...Update LFS_PROJECT_SERVICE and Total Average Price
            ProjectSynopsisService projectSynopsisService = new ProjectSynopsisService(Data);
            if (projectSynopsisService.Table.Rows.Count > 0)
            {
                ProjectSynopsisReportTDS.LFS_PROJECTRow rowTotalAveragePrice = ((ProjectSynopsisReportTDS.LFS_PROJECTDataTable)Table).FindByProjectID(projectId);
                rowTotalAveragePrice.TotalAveragePrice = projectSynopsisService.UpdateForReport(projectId, companyId);
            }
        }