Exemplo n.º 1
0
        private void SaveIssueRelatedIssues(Issue issue, Issue originalIssue, CmsEntities cee)
        {
            log.Verbose("SaveIssueRelatedIssues()");

            //Delete
            cee.DeleteWhere<IssueRelatedIssue>(cee, x => x.IssueId == issue.Id);

            cee.Configuration.AutoDetectChangesEnabled = false;

            var existingRelatedIssues = cee.IssueRelatedIssues.ToList();

            //Save IssueRelatedIssues
            foreach (IssueRelatedIssue relatedIssue in issue.IssueRelatedIssues.ToList())
            {
                IssueRelatedIssue newRelatedIssue = new IssueRelatedIssue
                {
                    IssueId = relatedIssue.IssueId,
                    RelatedIssueId = relatedIssue.RelatedIssueId
                };
                originalIssue.IssueRelatedIssues.Add(newRelatedIssue);

                //Add reverse issue if it doesnt exist
                if (existingRelatedIssues.FirstOrDefault(x => x.IssueId == relatedIssue.RelatedIssueId && x.RelatedIssueId == relatedIssue.IssueId) == null)
                {
                    IssueRelatedIssue reverseRelatedIssue = new IssueRelatedIssue
                    {
                        IssueId = relatedIssue.RelatedIssueId,
                        RelatedIssueId = relatedIssue.IssueId
                    };
                    cee.IssueRelatedIssues.Add(reverseRelatedIssue);
                }
            }
            cee.Configuration.AutoDetectChangesEnabled = true;
        }
Exemplo n.º 2
0
        private void SaveIssueRelatedKeyStakeholders(Issue issue, Issue originalIssue, CmsEntities cee)
        {
            log.Verbose("SaveIssueRelatedKeyStakeholders()");
            cee.DeleteWhere<IssueRelatedKeyStakeholder>(cee, x => x.IssueId == issue.Id);

            cee.Configuration.AutoDetectChangesEnabled = false;

            foreach (IssueRelatedKeyStakeholder stakeholder in issue.IssueRelatedKeyStakeholders)
            {
                originalIssue.IssueRelatedKeyStakeholders.Add(new IssueRelatedKeyStakeholder { RoleId = stakeholder.RoleId, IssueId = issue.Id });
            }
            cee.Configuration.AutoDetectChangesEnabled = true;
        }
Exemplo n.º 3
0
        private void SaveCalibrationComponents(IEnumerable<CalibrationComponent> calibrationComponents)
        {
            bool isInsert = false;

            using (CmsEntities cee = new CmsEntities())
            {
                foreach (var calibrationComponent in calibrationComponents)
                {
                    CalibrationComponent match = (from x in cee.CalibrationComponents
                                                  where x.Id == calibrationComponent.Id
                                                  && x.Id > 0
                                                  select x).FirstOrDefault();

                    if (match != null)
                    {
                        //Update Calibration Componet
                        cee.Entry(match).CurrentValues.SetValues(calibrationComponent);
                    }
                    else
                    {
                        isInsert = true;

                        match = new CalibrationComponent
                        {
                            InstrumentId = calibrationComponent.InstrumentId,
                            CalibrationComponentTypeId = calibrationComponent.CalibrationComponentTypeId,
                            Name = calibrationComponent.Name,
                            Ordinal = calibrationComponent.Ordinal,
                            NextInspectionDate = calibrationComponent.NextInspectionDate,
                            LastInspectedById = calibrationComponent.LastInspectedById,
                            LastInspectedDate = calibrationComponent.LastInspectedDate,
                            LastModifiedById = calibrationComponent.LastModifiedById,
                            LastModifiedDate = calibrationComponent.LastModifiedDate,
                            Description = calibrationComponent.Description,
                            Notes = calibrationComponent.Notes
                        };

                        //Add new Calibration Component
                        cee.CalibrationComponents.Add(match);
                    }
                    //delete all Calibration Component Attachments

                    cee.DeleteWhere<CalibrationComponentAttachment>(cee,x=>x.CalibrationComponentId == match.Id);

                    //Add current Calibration Component Attachments
                    foreach (var attachment in calibrationComponent.CalibrationComponentAttachments)
                    {
                        match.CalibrationComponentAttachments.Add(new CalibrationComponentAttachment {CalibrationComponentId = attachment.CalibrationComponentId, AttachmentId = attachment.AttachmentId});
                    }

                    foreach (var calibrationComponentPropertyValue in calibrationComponent.CalibrationComponentPropertyValues)
                    {
                        var qq = (from x in cee.CalibrationComponentPropertyValues
                                  where x.Id == calibrationComponentPropertyValue.Id
                                  select x).FirstOrDefault();

                        if (qq != null)
                        {
                            cee.Entry(qq).CurrentValues.SetValues(calibrationComponentPropertyValue);
                        }
                        else
                        {
                            cee.CalibrationComponentPropertyValues.Add(calibrationComponentPropertyValue);
                        }
                    }
                    cee.SaveChanges();

                    if (isInsert)
                    {
                        //https://jira.issgroup.com.au/browse/BODCMS-998
                        SendNewCalibrationComponentEmail(match);
                    }

                }
            }
        }
Exemplo n.º 4
0
        public DbOperationResult SaveAccruals(List<FinancialAccrual> accruals, List<IssueFinancialOtherAccrual> otherAccruals, string projectDefinition, DateTime date)
        {
            var result = new DbOperationResult();
            try
            {
                using (CmsEntities cee = new CmsEntities())
                {
                    //Delete existing IssueFinancialOtherAccrual
                    cee.DeleteWhere<IssueFinancialOtherAccrual>(cee, x => x.ProjectDefinition == projectDefinition && x.Date == date);

                    //Save Accruals
                    foreach (var accrual in accruals)
                    {
                        var original = (from x in cee.FinancialAccruals where x.Id == accrual.Id select x).FirstOrDefault();

                        if (original == null)
                        {
                            cee.FinancialAccruals.Add(accrual);
                        }
                        else
                        {
                            cee.Entry(original).CurrentValues.SetValues(accrual);
                        }
                    }

                    //Save Other Accruals
                    foreach (var otherAccrual in otherAccruals)
                    {
                        var original = (from x in cee.IssueFinancialOtherAccruals where x.Id == otherAccrual.Id select x).FirstOrDefault();

                        if (original == null)
                        {
                            cee.IssueFinancialOtherAccruals.Add(otherAccrual);
                        }
                        else
                        {
                            cee.Entry(original).CurrentValues.SetValues(otherAccrual);
                        }
                    }

                    cee.SaveChanges();
                }
                result.HasErrors = false;
                return result;
            }
            catch (DbEntityValidationException ex)
            {
                foreach (var validationErrors in ex.EntityValidationErrors)
                {
                    foreach (var validationError in validationErrors.ValidationErrors)
                    {
                        log.Error("", ex, "Property: {0} Error: {1}", validationError.PropertyName, validationError.ErrorMessage);
                    }
                }
                return BuildOperationalErrorResults(ex);
            }
            catch (Exception ex)
            {
                log.Error("", ex, "Error occured in SaveAccruals()");
                return BuildOperationalErrorResults(ex);
            }
        }
Exemplo n.º 5
0
        private void SaveIssueSystemReferences(Issue issue, Issue originalIssue, CmsEntities cee)
        {
            log.Verbose("SaveIssueSystemReferences()");
            //Delete
            cee.DeleteWhere<SystemReference>(cee, x => x.IssueId == issue.Id);

            foreach (SystemReference systemReference in issue.SystemReferences.ToList())
            {
                var sr = new SystemReference
                {
                    IssueId = systemReference.IssueId,
                    SystemReferenceTypeId = systemReference.SystemReferenceTypeId,
                    Number = systemReference.Number,
                    Description = systemReference.Description,
                    EstValue = systemReference.EstValue,
                    ActualValue = systemReference.ActualValue,
                    FundingType = systemReference.FundingType
                };
                originalIssue.SystemReferences.Add(sr);
            }
        }
Exemplo n.º 6
0
        private void SaveRisks(Issue issue, Issue originalIssue, CmsEntities cee)
        {
            log.Verbose("SaveRisks()");
            issue.CurrentlyAssignedToUser = null;

            //Delete all existing risks that belongs to the issue
            cee.DeleteWhere<IssueRisk>(cee, x => x.IssueId == issue.Id);

            cee.Configuration.AutoDetectChangesEnabled = false;
            foreach (IssueRisk item in issue.IssueRisks)
            {
                var newIssueRisk = new IssueRisk();
                newIssueRisk.IssueId = item.IssueId;
                newIssueRisk.RiskTypeId = item.RiskTypeId;
                newIssueRisk.CategoryId = item.CategoryId;
                newIssueRisk.RiskLikelihoodId = item.RiskLikelihoodId;
                newIssueRisk.ConsequenceId = item.ConsequenceId;
                newIssueRisk.RiskMatrixId = item.RiskMatrixId;

                originalIssue.IssueRisks.Add(newIssueRisk);
            }
            cee.Configuration.AutoDetectChangesEnabled = true;
        }
Exemplo n.º 7
0
        private void SaveIssueDistributionUsers(Issue issue, Issue originalIssue, CmsEntities cee)
        {
            log.Verbose("SaveIssueDistributionUsers()");
            issue.CurrentlyAssignedToUser = null;
            //Delete all existing users that belongs to the issue
            cee.DeleteWhere<IssueDistributionUser>(cee, x => x.IssueId == issue.Id);

            cee.Configuration.AutoDetectChangesEnabled = false;
            foreach (IssueDistributionUser item in issue.IssueDistributionUsers)
            {
                var newIssueDistUser = new IssueDistributionUser();
                newIssueDistUser.UserId = item.UserId;
                newIssueDistUser.IssueId = item.IssueId;
                newIssueDistUser.AllowDeletion = item.AllowDeletion;

                originalIssue.IssueDistributionUsers.Add(newIssueDistUser);
            }
            cee.Configuration.AutoDetectChangesEnabled = true;
        }
Exemplo n.º 8
0
        private void SaveIssueRelatedPipes(Issue issue, Issue originalIssue, CmsEntities cee)
        {
            log.Verbose("SaveIssueRelatedPipes()");
            //Delete
            cee.DeleteWhere<IssueRelatedPipe>(cee, x => x.IssueId == issue.Id);

            //Save
            foreach (IssueRelatedPipe pipeIssue in issue.IssueRelatedPipes.ToList())
            {
                IssueRelatedPipe newIssueRelatedPipe = new IssueRelatedPipe
                {
                    IssueId = pipeIssue.IssueId,
                    PipeId = pipeIssue.PipeId,
                    Notes = pipeIssue.Notes
                };

                if (pipeIssue.Implemented)
                {
                    if (pipeIssue.ImplementedById.HasValue)
                    {
                        newIssueRelatedPipe.Implemented = pipeIssue.Implemented;
                        newIssueRelatedPipe.ImplementedById = pipeIssue.ImplementedById;
                        newIssueRelatedPipe.ImplementedDate = pipeIssue.ImplementedDate;
                    }
                }

                if (pipeIssue.Tested)
                {
                    if (pipeIssue.TestedById != null)
                    {
                        newIssueRelatedPipe.Tested = pipeIssue.Tested;
                        newIssueRelatedPipe.TestedById = pipeIssue.TestedById;
                        newIssueRelatedPipe.TestedDate = pipeIssue.TestedDate;
                    }
                }

                originalIssue.IssueRelatedPipes.Add(newIssueRelatedPipe);
            }
        }
Exemplo n.º 9
0
        private void SaveIssueAssignedCategories(Issue issue, Issue originalIssue, CmsEntities cee)
        {
            log.Verbose("SaveIssueAssignedCategories()");
            //Delete IssueAssignedCategories
            cee.DeleteWhere<IssueAssignedCategory>(cee, x => x.IssueId == issue.Id);

            var ht = new Hashtable();

            cee.Configuration.AutoDetectChangesEnabled = false;
            //Save IssueAssignedCategories
            foreach (IssueAssignedCategory issueAssignedCategory in issue.IssueAssignedCategories.ToList())
            {
                string key = issueAssignedCategory.IssueId + ":" + issueAssignedCategory.IssueCategoryId;

                //stops accidental adding duplicate categories to an Issue.
                if (!ht.ContainsKey(key))
                {
                    ht.Add(key, issueAssignedCategory);

                    int categoryId = issueAssignedCategory.IssueCategoryId;
                    issueAssignedCategory.Issue = null;
                    issueAssignedCategory.IssueId = issue.Id;
                    issueAssignedCategory.IssueCategory = null;
                    issueAssignedCategory.IssueCategoryId = categoryId;

                    originalIssue.IssueAssignedCategories.Add(issueAssignedCategory);
                }
            }
            cee.Configuration.AutoDetectChangesEnabled = true;
        }
Exemplo n.º 10
0
        private void SaveIssueCloseouts(Issue issue, Issue originalIssue, CmsEntities cee)
        {
            log.Verbose("SaveIssueCloseouts()");
            if (issue.IssueCloseouts.Count == 0) return;
            cee.DeleteWhere<IssueCloseout>(cee, x => x.IssueId == issue.Id);

            cee.Configuration.AutoDetectChangesEnabled = false;
            foreach (IssueCloseout closeout in issue.IssueCloseouts)
            {
                closeout.Issue = null;
                closeout.IssueCategory = null;
                if (closeout.Verifier != null)
                {
                    int? byId = closeout.VerifierId;
                    closeout.Verifier = null;
                    closeout.VerifierId = byId;
                }
                originalIssue.IssueCloseouts.Add(closeout);
            }
            cee.Configuration.AutoDetectChangesEnabled = true;
        }
Exemplo n.º 11
0
        private void SaveIssueAreas(Issue issue, Issue originalIssue, CmsEntities cee)
        {
            log.Verbose("SaveIssueAreas()");
            cee.DeleteWhere<IssueArea>(cee, x => x.IssueId == issue.Id);

            cee.Configuration.AutoDetectChangesEnabled = false;
            //Save IssueAssignedCategories
            foreach (IssueArea issueArea in issue.IssueAreas)
            {
                originalIssue.IssueAreas.Add(new IssueArea { AreaId = issueArea.AreaId, IssueId = issue.Id });
            }
            cee.Configuration.AutoDetectChangesEnabled = true;
        }
Exemplo n.º 12
0
        private void SaveIssueApprovals(Issue issue, Issue originalIssue, CmsEntities cee)
        {
            log.Verbose("SaveIssueApprovals()");

            if (issue.IssueApprovals.Count == 0) return;

            int issueId = issue.Id;

            ////delete...
            cee.DeleteWhere<IssueApproval>(cee, x => x.IssueId == issue.Id);

            var ht = new Hashtable(); //for some reason we are sending back too many approvals - hack stop for now...

            cee.Configuration.AutoDetectChangesEnabled = false;
            foreach (IssueApproval approval in issue.IssueApprovals)
            {
                var newApproval = new IssueApproval();

                if (!ht.ContainsKey(approval.IssueCategoryId))
                {
                    ht.Add(approval.IssueCategoryId, approval.IssueCategoryId);

                    newApproval.IssueCategoryId = approval.IssueCategoryId;
                    newApproval.IssueId = issueId;

                    if (approval.Approver != null)
                    {
                        newApproval.ApproverId = approval.ApproverId;
                        newApproval.Approved = approval.Approved;
                        newApproval.Date = approval.Date;
                    }

                    originalIssue.IssueApprovals.Add(newApproval);
                }
            }

            //issue.IssueApprovals.Clear();

            cee.Configuration.AutoDetectChangesEnabled = true;
        }
Exemplo n.º 13
0
        public IssueStatus SaveIssueStatus(IssueStatus issueStatus)
        {
            IssueStatus issueStatusToUpdate = null;
            try
            {
                using (var cee = new CmsEntities())
                {
                    //Check if the object exist
                    issueStatusToUpdate = (from x in cee.IssueStatuses where x.Id == issueStatus.Id select x).FirstOrDefault();

                    int issueStatusId = issueStatus.Id;

                    if (issueStatusToUpdate == null)
                    {
                        //Create new Issue Status
                        issueStatusToUpdate = new IssueStatus
                        {
                            Name = issueStatus.Name,
                            Ordinal = issueStatus.Ordinal,
                            Code = issueStatus.Name.Replace(" ", ""),
                            IsActive = issueStatus.IsActive,
                            DisableWorkflow = issueStatus.DisableWorkflow
                        };

                        cee.IssueStatuses.Add(issueStatusToUpdate);
                        cee.SaveChanges();
                        issueStatusId = issueStatusToUpdate.Id;
                    }
                    else
                    {
                        //Update existing Status
                        issueStatusToUpdate.Name = issueStatus.Name;
                        issueStatusToUpdate.Ordinal = issueStatus.Ordinal;
                        issueStatusToUpdate.IsActive = issueStatus.IsActive;
                        issueStatusToUpdate.DisableWorkflow = issueStatus.DisableWorkflow;

                        //Delete Rules
                        cee.DeleteWhere<StatusTypeRule>(cee, x => x.StatusId == issueStatus.Id);

                        //Delete Issue Control Statuses
                        cee.DeleteWhere<StatusTypeEnabledControl>(cee, x => x.IssueStatusId == issueStatus.Id);

                        //Delete Issue Available Statuses
                        cee.DeleteWhere<StatusTypeAvailableStatus>(cee, x => x.StatusId == issueStatus.Id);
                    }

                    //Update Rules
                    foreach (StatusTypeRule issueStatusRule in issueStatus.StatusTypeRules)
                    {
                        StatusTypeRule newStatusTypeRule = new StatusTypeRule
                        {
                            RuleName = issueStatusRule.RuleName,
                            StatusId = issueStatusId,
                            IssueTypeId = issueStatusRule.IssueTypeId
                        };
                        issueStatusToUpdate.StatusTypeRules.Add(newStatusTypeRule);
                    }

                    //Update Issue Control Statuses
                    foreach (StatusTypeEnabledControl issueStatuesControl in issueStatus.StatusTypeEnabledControls)
                    {
                        StatusTypeEnabledControl newStatusTypeEnabledControl = new StatusTypeEnabledControl
                        {
                            IssueStatusId = issueStatusId,
                            IssueTypeId = issueStatuesControl.IssueTypeId,
                            IssueTabControlId = issueStatuesControl.IssueTabControlId
                        };
                        issueStatusToUpdate.StatusTypeEnabledControls.Add(newStatusTypeEnabledControl);
                    }

                    //Update Issue Available Statuses
                    foreach (StatusTypeAvailableStatus issueAvailableStatus in issueStatus.StatusTypeAvailableStatuses)
                    {
                        StatusTypeAvailableStatus newStatusTypeAvailableStatus = new StatusTypeAvailableStatus
                        {
                            StatusId = issueStatusId,
                            IssueTypeId = issueAvailableStatus.IssueTypeId,
                            AvailableStatusId = issueAvailableStatus.AvailableStatusId,

                            IsEnabled = issueAvailableStatus.IsEnabled,
                            IsVisible = issueAvailableStatus.IsVisible
                        };
                        issueStatusToUpdate.StatusTypeAvailableStatuses.Add(newStatusTypeAvailableStatus);
                    }
                    cee.SaveChanges();
                }
            }
            catch (DbEntityValidationException ex)
            {
                foreach (var validationErrors in ex.EntityValidationErrors)
                {
                    foreach (var validationError in validationErrors.ValidationErrors)
                    {
                        log.Error("", ex, "Property: {0} Error: {1}", validationError.PropertyName, validationError.ErrorMessage);
                    }
                }
            }
            catch (Exception ex)
            {
                log.Error("", ex, "Error in SaveIssueStatus()");
            }
            return issueStatusToUpdate;
        }
Exemplo n.º 14
0
        private void SaveIssueRelatedOverrides(Issue issue, Issue originalIssue, CmsEntities cee)
        {
            log.Verbose("SaveIssueRelatedOverrides()");
            //Delete
            cee.DeleteWhere<IssueRelatedOverride>(cee, x => x.IssueId == issue.Id);

            cee.Configuration.AutoDetectChangesEnabled = false;

            foreach (IssueRelatedOverride relatedOverride in issue.IssueRelatedOverrides.ToList())
            {
                var newRelatedOverride = new IssueRelatedOverride
                {
                    IssueId = relatedOverride.IssueId,
                    InterlockId = relatedOverride.InterlockId,
                    Notes = relatedOverride.Notes,
                    TargetRemovalDate = relatedOverride.TargetRemovalDate
                };

                if (relatedOverride.RemovedByUser != null && relatedOverride.RemovedById.HasValue)
                {
                    newRelatedOverride.RemovedById = relatedOverride.RemovedById;
                }

                if (relatedOverride.AppliedByUser != null && relatedOverride.AppliedById.HasValue)
                {
                    newRelatedOverride.AppliedById = relatedOverride.AppliedById;
                }

                if (relatedOverride.Removed)
                {
                    if (relatedOverride.RemovedById.HasValue)
                    {
                        newRelatedOverride.Removed = true;
                        newRelatedOverride.RemovedById = relatedOverride.RemovedById;
                        newRelatedOverride.RemovedDate = relatedOverride.RemovedDate;
                    }
                }
                else
                {
                    newRelatedOverride.Removed = false;
                }

                if (relatedOverride.Applied)
                {
                    if (relatedOverride.AppliedById.HasValue)
                    {
                        newRelatedOverride.Applied = true;
                        newRelatedOverride.AppliedById = relatedOverride.AppliedById;
                        newRelatedOverride.AppliedDate = relatedOverride.AppliedDate;
                    }
                }
                else
                {
                    newRelatedOverride.Applied = false;
                }

                originalIssue.IssueRelatedOverrides.Add(newRelatedOverride);
                cee.Configuration.AutoDetectChangesEnabled = true;
            }
        }
Exemplo n.º 15
0
        private void SaveIssueFinancials(Issue issue, Issue originalIssue, CmsEntities cee)
        {
            log.Verbose("SaveIssueFinancials()");
            //Delete SaveIssueFinancials
            cee.DeleteWhere<IssueFinancial>(cee, x => x.IssueId == issue.Id);

            cee.Configuration.AutoDetectChangesEnabled = false;

            //Save SaveIssueFinancials
            foreach (IssueFinancial issueFinancial in issue.IssueFinancials.ToList())
            {
                var newFinancial = new IssueFinancial
                {
                    IssueId = issue.Id,
                    Date = issueFinancial.Date,
                    Budget = issueFinancial.Budget,
                    Baseline = issueFinancial.Baseline,
                    Forecast = issueFinancial.Forecast,
                    Actual = issueFinancial.Actual,
                    Accrual = issueFinancial.Accrual,
                    ActualVsBaselineVarianceCodeId = issueFinancial.ActualVsBaselineVarianceCodeId,
                    ActualVsForecastVarianceCodeId = issueFinancial.ActualVsForecastVarianceCodeId,
                    ActualVsBaselineNote = issueFinancial.ActualVsBaselineNote,
                    ActualVsForecastNote = issueFinancial.ActualVsForecastNote,
                    LastModifiedDate = issueFinancial.LastModifiedDate,
                    LastModifiedUserId = issueFinancial.LastModifiedUserId,
                    ForecastLastModifiedDate = issueFinancial.ForecastLastModifiedDate,
                    ForecastLastModifiedUserId = issueFinancial.ForecastLastModifiedUserId,
                    ActualsOpex = issueFinancial.ActualsOpex,
                    ActualsCapex = issueFinancial.ActualsCapex,
                    ForecastV1 = issueFinancial.ForecastV1,
                    ForecastV2 = issueFinancial.ForecastV2,
                    ForecastV3 = issueFinancial.ForecastV3

                };
                originalIssue.IssueFinancials.Add(newFinancial);
            }
            cee.Configuration.AutoDetectChangesEnabled = true;
        }
Exemplo n.º 16
0
        private void SaveIssueRelatedPcsEquipments(Issue issue, Issue originalIssue, CmsEntities cee)
        {
            log.Verbose("SaveIssueRelatedPcsEquipments()");

            //Delete IssueRelatedPcsEquipment
            cee.DeleteWhere<IssueRelatedPcsEquipment>(cee, x => x.IssueId == issue.Id);

            cee.Configuration.AutoDetectChangesEnabled = false;

            //Save SaveIssueRelatedPcsEquipments
            foreach (IssueRelatedPcsEquipment instrument in issue.IssueRelatedPcsEquipments.ToList())
            {
                var newPcsEquipment = new IssueRelatedPcsEquipment
                {
                    IssueId = issue.Id,
                    PcsEquipmentId = instrument.PcsEquipmentId,
                    Notes = instrument.Notes
                };

                if (instrument.Implemented && instrument.ImplementedById.HasValue)
                {
                    newPcsEquipment.Implemented = true;
                    newPcsEquipment.ImplementedById = instrument.ImplementedById;
                    newPcsEquipment.ImplementedDate = instrument.ImplementedDate;
                }

                if (instrument.Tested && instrument.TestedById.HasValue)
                {
                    newPcsEquipment.Tested = true;
                    newPcsEquipment.TestedById = instrument.ImplementedById;
                    newPcsEquipment.TestedDate = instrument.ImplementedDate;
                }

                originalIssue.IssueRelatedPcsEquipments.Add(newPcsEquipment);
            }
            cee.Configuration.AutoDetectChangesEnabled = true;
        }
Exemplo n.º 17
0
        private void SaveIssueKpis(Issue issue, Issue originalIssue, CmsEntities cee)
        {
            log.Verbose("SaveIssueKpis()");
            //Delete SaveIssueKpis
            cee.DeleteWhere<IssueKpi>(cee, x => x.IssueId == issue.Id);

            cee.Configuration.AutoDetectChangesEnabled = false;

            //Save SaveIssueKpis
            foreach (IssueKpi issueKpi in issue.IssueKpis.ToList())
            {
                var newKpi = new IssueKpi
                {
                    IssueId = issue.Id,
                    Date = issueKpi.Date,
                    ValueGenerationActual = issueKpi.ValueGenerationActual,
                    ValueGenerationTarget = issueKpi.ValueGenerationTarget,
                    KpiBaseline = issueKpi.KpiBaseline,
                    KpiTarget = issueKpi.KpiTarget,
                    KpiActual = issueKpi.KpiActual,
                    KpiVarianceCodeId = issueKpi.KpiVarianceCodeId,
                    ValueGenerationVarianceCodeId = issueKpi.ValueGenerationVarianceCodeId,
                    KpiVarianceNote = issueKpi.KpiVarianceNote,
                    ValueGenerationVarianceNote = issueKpi.ValueGenerationVarianceNote,
                    KpiDescription = issueKpi.KpiDescription,
                    Verified = issueKpi.Verified,
                    VerifiedDate = issueKpi.VerifiedDate,
                    VerifiedUserId = issueKpi.VerifiedUserId,
                    LastModifiedDate = issueKpi.LastModifiedDate,
                    LastModifiedUserId = issueKpi.LastModifiedUserId,
                };
                originalIssue.IssueKpis.Add(newKpi);
            }
            cee.Configuration.AutoDetectChangesEnabled = true;
        }
Exemplo n.º 18
0
        private void SaveIssueReleatedActions(Issue issue, Issue originalIssue, CmsEntities cee)
        {
            log.Verbose("SaveIssueReleatedActions()");
            //Delete
            cee.DeleteWhere<IssueRelatedAction>(cee, x => x.IssueId == issue.Id);

            foreach (IssueRelatedAction relatedAction in issue.IssueRelatedActions.ToList())
            {
                IssueRelatedAction newIssueRelatedAction = new IssueRelatedAction
                {
                    IssueId = relatedAction.IssueId,
                    IssueActionStatusId = relatedAction.IssueActionStatusId,
                    IssueActionTypeId = relatedAction.IssueActionTypeId,
                    InitiatedById = relatedAction.InitiatedById,
                    InitiatedDate = relatedAction.InitiatedDate,
                    RequiredDate = relatedAction.RequiredDate,
                    AssignedToId = relatedAction.AssignedToId,
                    Implemented = relatedAction.Implemented,
                    ImplementedById = relatedAction.ImplementedById,
                    ImplementedDate = relatedAction.ImplementedDate,
                    Notes = relatedAction.Notes,
                    Description = relatedAction.Description,
                };

                originalIssue.IssueRelatedActions.Add(newIssueRelatedAction);
            }
        }
Exemplo n.º 19
0
        private void SaveIssueLearnings(Issue issue, Issue originalIssue, CmsEntities cee)
        {
            log.Verbose("SaveIssueLearnings()");
            //Delete
            cee.DeleteWhere<IssueLearning>(cee, x => x.IssueId == issue.Id);

            cee.Configuration.AutoDetectChangesEnabled = false;
            foreach (IssueLearning issueLearning in issue.IssueLearnings.ToList())
            {
                var newIssueLearning = new IssueLearning
                {
                    IssueId = issue.Id,
                    Description = issueLearning.Description,
                    InitiatedByUserId = issueLearning.InitiatedByUserId,
                    InitiatedByDate = issueLearning.InitiatedByDate,
                    Outcome = issueLearning.Outcome,
                    Affected = issueLearning.Affected,
                    FutureLearningOpportunity = issueLearning.FutureLearningOpportunity,
                    Notes = issueLearning.Notes,
                };

                originalIssue.IssueLearnings.Add(newIssueLearning);
            }
            cee.Configuration.AutoDetectChangesEnabled = true;
        }
Exemplo n.º 20
0
        private void SaveIssueTrendNotices(Issue issue, Issue originalIssue, CmsEntities cee)
        {
            log.Verbose("SaveIssueTrendNotices()");
            //Delete
            cee.DeleteWhere<IssueTrendNotice>(cee, x => x.IssueId == issue.Id);

            cee.Configuration.AutoDetectChangesEnabled = false;
            foreach (IssueTrendNotice notice in issue.IssueTrendNotices.ToList())
            {
                var newIssueTrendNotice = new IssueTrendNotice
                {
                    IssueId = issue.Id,
                    StatusId = notice.StatusId,
                    Number = notice.Number,
                    Description = notice.Description,
                    CostImpact = notice.CostImpact,
                    ScheduleImpact = notice.ScheduleImpact,
                    QualityImpact = notice.QualityImpact,
                    ScopeChange = notice.ScopeChange,
                    RequestedBy = notice.RequestedBy,
                    ApprovedBy = notice.ApprovedBy,
                    InitiatedBy = notice.InitiatedBy,
                    Notes = notice.Notes,
                    VendorId = notice.VendorId,
                    PurchaseOrder = notice.PurchaseOrder,
                    ContractNumber = notice.ContractNumber,
                    FitsWithinApprovedBudget = notice.FitsWithinApprovedBudget,
                    RequiresSupplementalFunding = notice.RequiresSupplementalFunding,
                    RequiresUpdateToRiskAssessment = notice.RequiresUpdateToRiskAssessment,
                    ChangesExistingContract = notice.ChangesExistingContract
                };

                if (notice.FinancialVarianceCodeId.HasValue && notice.FinancialVarianceCodeId > 0)
                {
                    newIssueTrendNotice.FinancialVarianceCodeId = notice.FinancialVarianceCodeId;
                }

                if (notice.IssueMilestoneDelayTypeId.HasValue && notice.IssueMilestoneDelayTypeId > 0)
                {
                    newIssueTrendNotice.IssueMilestoneDelayTypeId = notice.IssueMilestoneDelayTypeId;
                }

                originalIssue.IssueTrendNotices.Add(newIssueTrendNotice);
            }
            cee.Configuration.AutoDetectChangesEnabled = true;
        }
Exemplo n.º 21
0
        private void SaveIssueRelatedControlSystem(Issue issue, Issue originalIssue, CmsEntities cee)
        {
            log.Verbose("SaveIssueRelatedControlSystem()");
            //Delete originalIssueRelatedControlSystems
            cee.DeleteWhere<IssueRelatedControlSystem>(cee, x => x.IssueId == issue.Id);

            cee.Configuration.AutoDetectChangesEnabled = false;
            foreach (IssueRelatedControlSystem issueRelatedControlSystem in issue.IssueRelatedControlSystems)
            {
                var newIssueRelatedControlSystem = new IssueRelatedControlSystem();

                newIssueRelatedControlSystem.IssueId = issueRelatedControlSystem.IssueId;
                newIssueRelatedControlSystem.ControlSystemId = issueRelatedControlSystem.ControlSystemId;

                if (issueRelatedControlSystem.Implemented && issueRelatedControlSystem.ImplementedById.HasValue)
                {
                    newIssueRelatedControlSystem.Implemented = issueRelatedControlSystem.Implemented;
                    newIssueRelatedControlSystem.ImplementedDate = issueRelatedControlSystem.ImplementedDate;
                    newIssueRelatedControlSystem.ImplementedById = issueRelatedControlSystem.ImplementedById;
                }

                if (issueRelatedControlSystem.Tested && issueRelatedControlSystem.TestedById.HasValue)
                {
                    newIssueRelatedControlSystem.Tested = issueRelatedControlSystem.Tested;
                    newIssueRelatedControlSystem.TestedDate = issueRelatedControlSystem.TestedDate;
                    newIssueRelatedControlSystem.TestedById = issueRelatedControlSystem.TestedById;
                }

                if (issueRelatedControlSystem.Loaded && issueRelatedControlSystem.LoadedById.HasValue)
                {
                    newIssueRelatedControlSystem.Loaded = issueRelatedControlSystem.Loaded;
                    newIssueRelatedControlSystem.LoadedDate = issueRelatedControlSystem.LoadedDate;
                    newIssueRelatedControlSystem.LoadedById = issueRelatedControlSystem.LoadedById;
                }

                newIssueRelatedControlSystem.Notes = issueRelatedControlSystem.Notes;

                originalIssue.IssueRelatedControlSystems.Add(newIssueRelatedControlSystem);
            }
            cee.Configuration.AutoDetectChangesEnabled = true;
        }
Exemplo n.º 22
0
        private void DeleteCalibrationComponent(CalibrationComponent mec)
        {
            using (CmsEntities cee = new CmsEntities())
            {
                var calibrationPropertyValues = (from x in cee.CalibrationComponentPropertyValues
                                                 where x.CalibrationComponentId == mec.Id
                                                 select x).ToList();

                foreach (var calibrationPropertyValue in calibrationPropertyValues)
                {
                    cee.CalibrationComponentPropertyValues.Remove(calibrationPropertyValue);
                }

                cee.DeleteWhere<CalibrationComponentAttachment>(cee, x => x.CalibrationComponentId == mec.Id);

                var q = (from x in cee.CalibrationComponents
                         where x.Id == mec.Id
                         select x).FirstOrDefault();
                if (q != null)
                {
                    cee.CalibrationComponents.Remove(q);
                    cee.SaveChanges();
                }
            }
        }
Exemplo n.º 23
0
        private void SaveIssueRelatedDocuments(Issue issue, Issue originalIssue, CmsEntities cee)
        {
            log.Verbose("SaveIssueRelatedDocuments()");
            //Delete
            cee.DeleteWhere<IssueRelatedDocument>(cee, x => x.IssueId == issue.Id);

            cee.Configuration.AutoDetectChangesEnabled = false;
            //Save IssueRelatedDocuments
            foreach (IssueRelatedDocument issueRelatedDocument in issue.IssueRelatedDocuments.ToList())
            {
                IssueRelatedDocument newIssueRelatedDocument = new IssueRelatedDocument();
                newIssueRelatedDocument.IssueId = issueRelatedDocument.IssueId;
                newIssueRelatedDocument.DocumentId = issueRelatedDocument.DocumentId;
                newIssueRelatedDocument.Notes = issueRelatedDocument.Notes;

                if (issueRelatedDocument.Documented)
                {
                    if (issueRelatedDocument.DocumentedById.HasValue)
                    {
                        newIssueRelatedDocument.Documented = issueRelatedDocument.Documented;
                        newIssueRelatedDocument.DocumentedDate = issueRelatedDocument.DocumentedDate;
                        newIssueRelatedDocument.DocumentedById = issueRelatedDocument.DocumentedById;
                    }
                }
                originalIssue.IssueRelatedDocuments.Add(newIssueRelatedDocument);
            }
            cee.Configuration.AutoDetectChangesEnabled = true;
        }
Exemplo n.º 24
0
        /// <summary>
        ///     Save role with Privileges
        /// </summary>
        /// <param name="loggedInUserId"></param>
        /// <param name="role">The role.</param>
        /// <returns></returns>
        public DbOperationResult<Role> SaveRolePrivileges(int loggedInUserId, Role role)
        {
            DbOperationResult<Role> result = new DbOperationResult<Role>();

            using (CmsEntities cee = new CmsEntities())
            {
                var loggedInUserName = (from x in cee.Users where x.Id == loggedInUserId select x.FirstName + " " + x.LastName).FirstOrDefault();

                //delete all current privileges and categories for the role

                cee.DeleteWhere<RolePrivilege>(cee, x => x.RoleId == role.Id);
                cee.DeleteWhere<RoleApprovalCategory>(cee, x => x.RoleId == role.Id);

                //Update role
                //Check if the Role exists
                var originalRole = (from x in cee.Roles where x.Id == role.Id select x).FirstOrDefault();

                if (originalRole == null)
                {
                    //Add new Role
                    role.RolePrivileges = null;
                    role.LastModified = String.Format("Last modified {0} by {1}", DateTime.Now, loggedInUserName);
                    originalRole = cee.Roles.Add(role);
                }
                else
                {
                    //Update Role
                    originalRole.Name = role.Name;
                    originalRole.Description = role.Description;
                    originalRole.IsKeyStakeholder = role.IsKeyStakeholder;
                    originalRole.LastModified = String.Format("Last modified {0} by {1}", DateTime.Now, loggedInUserName);
                }

                cee.SaveChanges();

                //Assignt RoleApprovalCategories

                var k = (from x in role.RoleApprovalCategories where x.IsDefault select x).Count();

                if (k > 1)
                {
                    result.ServerErrorMessages.Add("Only one role per category should be the default.");
                    return result;
                }

                foreach (var roleApprovalCategory in role.RoleApprovalCategories)
                {
                    originalRole.RoleApprovalCategories.Add(new RoleApprovalCategory
                    {
                        RoleId = originalRole.Id,
                        IssueCategoryId = roleApprovalCategory.IssueCategoryId,
                        IsDefault = roleApprovalCategory.IsDefault
                    });
                }

                //Assign privileges
                foreach (var rolePrivilege in role.RolePrivileges)
                {
                    originalRole.RolePrivileges.Add(rolePrivilege);
                }

                cee.SaveChanges();

                //saves the IsKeyStakeholder and othe name,desc properties
                role = SaveRole(role);

                role = (from x in cee.Roles
                                     .Include("RolePrivileges")
                                     .Include("RolePrivileges.SecurityObject")
                                     .Include("RolePrivileges.Privilege")
                        where x.Id == role.Id
                        select x).FirstOrDefault();

                result.EntityResult = role;

                return result;
            }
        }
Exemplo n.º 25
0
        private void SaveInterlockRisks(Interlock interlock, CmsEntities cee)
        {
            //Delete all existing risks that belongs to the interlock
            cee.DeleteWhere<InterlockRisk>(cee, x => x.InterlockId == interlock.Id);

            cee.Configuration.AutoDetectChangesEnabled = false;
            foreach (var item in interlock.InterlockRisks)
            {
                var newInterlockRisk = new InterlockRisk();
                newInterlockRisk.InterlockId = item.InterlockId;
                newInterlockRisk.CategoryId = item.CategoryId;
                newInterlockRisk.RiskLikelihoodId = item.RiskLikelihoodId;
                newInterlockRisk.ConsequenceId = item.ConsequenceId;
                newInterlockRisk.RiskMatrixId = item.RiskMatrixId;
                newInterlockRisk.Description = item.Description;

                cee.InterlockRisks.Add(newInterlockRisk);
            }
            cee.Configuration.AutoDetectChangesEnabled = true;
        }