public PipeComponentImporter(Workbook workbook, Dictionary<Int32, List<CellValue>> pipeComponentCellValuesToCheck,
                                     string tagNumberCellName, string lineNumberCellName, string pandIDCellName)
        {
            mTagNumberCellName = tagNumberCellName;
            mLineNumberCellName = lineNumberCellName;
            mPandIDCellName = pandIDCellName;

            mCee = new CmsEquipmentEntities();
            mWorkbook = workbook;
            mPipeComponentCellValuesToCheck = pipeComponentCellValuesToCheck;

            mExistingPipes = mCee.Pipes
                .Include("Area")
                .Include("PipeClass")
                .Include("PipeSize")
                .Include("PipeFluidCode")
                .Include("PipeCategory")
                .Include("PipeSpecialFeature").ToList();

            mImportResult = mCee.PipeComponents
                .Include("Pipe")
                .Include("Pipe.Area")
                .Include("PipeComponentType").ToList();

            mDocumentTypes = mCee.DocumentTypes.ToList();
            mExistingPipeComponentTypes = mCee.PipeComponentTypes.ToList();

            mExistingPipeComponentProperties = mCee.PipeComponentProperties.ToList();
            mDrawings = (from x in mDocumentTypes where x.Name == "Drawing" select x.Documents).FirstOrDefault().ToList();
        }
Example #2
0
        public PipeImporter(Workbook workbook, Dictionary<Int32, List<CellValue>> pipeCellValuesToCheck, string lineNumberCellName, string pandIdCellName)
        {
            mWorkbook = workbook;
            mPipeCellValuesToCheck = pipeCellValuesToCheck;
            mLineNumberCellName = lineNumberCellName;
            mPandIdCellName = pandIdCellName;

            mCee = new CmsEquipmentEntities();
        }
Example #3
0
        public void DoWork(Form1 form)
        {
            mForm = form;
            mOldIssuesDataContext = new OldIssuesDataContext();

            mCee = new CmsEquipmentEntities();
            try
            {
                if (form.AllExceptIssues)
                {
                    //UpdateIssueAreas();
                    //UpdateAreas();
                    ImportIssueCategories();
                    ImportRoles();
                    AddPriviledges();
                    AddSecurityObjects();
                    ImportUsers();
                    AssignRolePrivileges();

                    ImportIssueClassification();
                    ImportDocumentTypes();
                    ImportDocumentAutors();
                    ImportDocuments();
                    ImportIssueRiskLikelihood();
                    ImportPcsEquipment();
                    ImportIssuePriority();
                    ImportIssueStatus();
                    ImportIssueType();
                    ImportDistributionListType();
                    ImportDistributionList();
                    ImportDistribution();
                    //PopulateAttachmentTypes();
                    PopulateIssueRiskCategory();
                    PopulateIssueRiskType();
                    //ImportMechanicalTypes();
                    //ImportMechanicalEquipment();
                }
                else
                {
                    ImportIssues();
                }

            }
            catch (Exception ex)
            {

                string message = String.Format("Error: {0} Stack Trace {1}, Inner Exeption {2}",
                    ex.Message, ex.StackTrace, ex.InnerException == null ? String.Empty : ex.InnerException.Message);
                mForm.AddMessage(MessageType.Error, message);
            }

            mForm.AddMessage(MessageType.Info, "");
            mForm.AddMessage(MessageType.Info, "-------------------- Done --------------------");
            mForm.AddMessage(MessageType.Info, "");
        }
Example #4
0
        private void ImportMechanicalEquipment_DoWork(object sender, DoWorkEventArgs e)
        {
            CmsEquipmentEntities cmsEquipmentEntities = new CmsEquipmentEntities();

            var mechanicalEquipments = (from x in cmsEquipmentEntities.MechanicalEquipments select x).ToList();

            foreach (var mechanicalEquipment in mechanicalEquipments)
            {
                //B-313-DRY-001
                AddMessage(MessageType.Added, String.Format("Processing Mechanical Equipment Id '{0}' Name '{1}' .", mechanicalEquipment.Id, mechanicalEquipment.Name));

                var array = mechanicalEquipment.Name.Split('-');

                if (array.Length > 1)
                {
                    int areaNumber = -1;

                    if (int.TryParse(array[1], out areaNumber))
                    {
                        var area = (from x in cmsEquipmentEntities.Areas where x.AreaNumber == areaNumber select x).FirstOrDefault();

                        if (area == null)
                        {
                            AddMessage(MessageType.Warning,
                                       String.Format("Could not find Assigned Area name '{0}' from  Mechanical Equipment Id '{1}' Name '{2}'.",
                                                     areaNumber, mechanicalEquipment.Id, mechanicalEquipment.Name));

                            AddMessage(MessageType.Added,
                                       String.Format("Addign new Area name '{0}'.", areaNumber));
                            cmsEquipmentEntities.Areas.AddObject(new Area { Name = areaNumber.ToString(), AreaNumber = areaNumber });
                            cmsEquipmentEntities.SaveChanges();
                            area = (from x in cmsEquipmentEntities.Areas where x.AreaNumber == areaNumber select x).FirstOrDefault();
                        }

                        if (area != null)
                        {
                            mechanicalEquipment.AreaId = area.Id;
                            AddMessage(MessageType.Added, String.Format("Assigned Area Id '{0}' Name '{1}' to  Mechanical Equipment Id '{2}' Name '{3}' .",
                                                                        area.Id, area.Name, mechanicalEquipment.Id, mechanicalEquipment.Name));
                        }
                        else
                        {
                            AddMessage(MessageType.Warning,
                                       String.Format("Wrong name of  Mechanical Equipment Id '{0}' Name '{1}'. Adding Unknow Area.",
                                                     mechanicalEquipment.Id, mechanicalEquipment.Name));
                            mechanicalEquipment.AreaId = ((from x in cmsEquipmentEntities.Areas where x.Name == "Unknown" select x).FirstOrDefault()).Id;
                        }
                    }
                    else
                    {
                        AddMessage(MessageType.Warning,
                                   String.Format("Could not recognise Assigned Area name '{0}' from  Mechanical Equipment Id '{1}' Name '{2}'. Adding Unknow Area.",
                                                 areaNumber, mechanicalEquipment.Id, mechanicalEquipment.Name));
                        mechanicalEquipment.AreaId = ((from x in cmsEquipmentEntities.Areas where x.Name == "Unknown" select x).FirstOrDefault()).Id;
                    }
                }
                else
                {
                    AddMessage(MessageType.Warning,
                               String.Format("Wrong name of  Mechanical Equipment Id '{0}' Name '{1}'. Adding Unknow Area.",
                                             mechanicalEquipment.Id, mechanicalEquipment.Name));
                    mechanicalEquipment.AreaId = ((from x in cmsEquipmentEntities.Areas where x.Name == "Unknown" select x).FirstOrDefault()).Id;
                }
            }
            cmsEquipmentEntities.SaveChanges();
        }
Example #5
0
        private void btnCleanUpDupDocVersions_Click(object sender, EventArgs e)
        {
            AddMessage(MessageType.Info, "Starting");

            try
            {

                CmsEquipmentEntities cmsEquipmentEntities = new CmsEquipmentEntities();

                List<DocumentVersion> docVersionsToDelete = new List<DocumentVersion>();

                List<string> foldersToDelete = new List<string>();

                List<DocumentVersion> documentVersions = (from x in cmsEquipmentEntities.DocumentVersions select x).ToList();

                foreach (DocumentVersion documentVersion in documentVersions)
                {
                    List<DocumentVersion> dups = (from x in documentVersions where x.Version == documentVersion.Version && x.DocumentId == documentVersion.DocumentId select x).ToList();

                    if (dups.Count > 1)
                    {
                        //we have  dups

                        //leave one behind
                        List<DocumentVersion> versions = (from x in dups orderby x.Id descending select x).Skip(1).ToList();

                        List<string> folders = (from x in dups orderby x.Id descending select x.Path).Skip(1).ToList();

                        if (versions.Count > 0)
                        {
                            //still have dups
                            foreach (DocumentVersion version in versions)
                            {
                                int count = (from x in docVersionsToDelete where x.Id == version.Id select x.Id).Count();

                                if (count==0)
                                {
                                    //not been added
                                    AddMessage(MessageType.Info, string.Format("Doc ID :{0}, dups count: {1}", documentVersion.DocumentId, versions.Count));

                                    docVersionsToDelete.Add(version);
                                    foldersToDelete.AddRange(folders);
                                }
                            }
                        }
                    }

                }

                AddMessage(MessageType.Info, "doc version to delete = " + docVersionsToDelete.Count);

                foreach (DocumentVersion version in docVersionsToDelete)
                {
                    cmsEquipmentEntities.DeleteObject(version);
                }

                cmsEquipmentEntities.SaveChanges(SaveOptions.None);

                foreach (string s in foldersToDelete)
                {
                    string configPath = @"D:\cmsRoot\CMS Document Versions\";
                    string path = Path.Combine(configPath, s);

                    if (Directory.Exists(path))
                    {
                        Directory.Delete(path, true);
                    }
                }

                AddMessage(MessageType.Info, "Finished");
            }

            catch (Exception ex)
            {
                AddMessage(MessageType.Error, ex.ToString());
            }
        }
Example #6
0
 public Form1()
 {
     InitializeComponent();
     mCee = new CmsEquipmentEntities();
 }
Example #7
0
        private static string BuildReleatedIssuesText(int issueId)
        {
            using (CmsEquipmentEntities cee = new CmsEquipmentEntities())
            {
                cee.ContextOptions.LazyLoadingEnabled = false;

                List<string> links = new List<string>();

                List<IssueRelatedIssue> relatedIssues = (from x in cee.IssueRelatedIssues.Include("RelatedIssue") orderby  x.RelatedIssueId descending where x.IssueId == issueId select x).ToList();

                string url = Util.GetAppSettingValue(Common.AppSettingKey.ApplicationUrl);

                foreach (IssueRelatedIssue relatedIssue in relatedIssues)
                {
                    string issueIdHef = string.Format(@"<a href='{0}?issueid={1}'>{1} - {2}</a>", url, relatedIssue.RelatedIssueId.ToString(), relatedIssue.RelatedIssue.Name);
                    links.Add(issueIdHef);
                }

                return string.Join("<br />", links.ToArray());
            }
        }
Example #8
0
        private static Dictionary<string, string> ParseEmail(IEnumerable<IssueDistributionUser> users)
        {
            Dictionary<string, string> ret = new Dictionary<string, string>();

            using (CmsEquipmentEntities cee = new CmsEquipmentEntities())
            {
                foreach (IssueDistributionUser distributionUser in users)
                {
                    User uq = (from u in cee.Users where u.Id == distributionUser.UserId && u.ActiveUser select u).FirstOrDefault();

                    if (uq != null && !string.IsNullOrEmpty(uq.EmailAddress) && !ret.ContainsKey(uq.EmailAddress.Trim()))
                    {
                        ret.Add(uq.EmailAddress.Trim(), string.Format("{0} {1}", uq.FirstName, uq.LastName));
                    }
                }
            }

            return ret;
        }
Example #9
0
        private static string BuildLatestResponseText(Issue issue)
        {
            using (CmsEquipmentEntities cee = new CmsEquipmentEntities())
            {
                cee.ContextOptions.LazyLoadingEnabled = true;
                IssueResponse latestResponse = (from resp in
                                                    cee.IssueResponses
                                                    .Include("IssueStatus")
                                                where resp.IssueId == issue.Id
                                                orderby resp.Date descending
                                                select resp).FirstOrDefault();

                if (latestResponse == null)
                {
                    return NORESPONSETEXT;
                }

                if (string.IsNullOrEmpty(latestResponse.ResponseText))
                {
                    return NORESPONSETEXT;
                }

                return latestResponse.ResponseText;
            }
        }
Example #10
0
        private static string BuildHighestRiskText(int issueId, IssuueRiskTypeId riskTypeId)
        {
            //1=initial
            //2==final

            IssueRisk highestRisk = null;
            int highestRating = 0;

            using (CmsEquipmentEntities cee = new CmsEquipmentEntities())
            {
                List<IssueRisk> issueRisks = (from x in cee.IssueRisks
                                                  .Include("IssueRiskMatrix")
                                                  .Include("IssueRiskMatrix.IssueRiskRating")
                                              where x.IssueId == issueId && x.IssueRiskType.Id == (int)riskTypeId
                                              select x).ToList();

                foreach (IssueRisk issueRisk in issueRisks)
                {
                    if (issueRisk.IssueRiskMatrix.RiskRatingNumber > highestRating)
                    {
                        highestRating = issueRisk.IssueRiskMatrix.RiskRatingNumber;
                        highestRisk = issueRisk;
                    }
                }
            }

            if (highestRisk != null)
            {
                return String.Format("{0} - {1}", highestRating, highestRisk.IssueRiskMatrix.IssueRiskRating.Name);
            }

            return "-";
        }
Example #11
0
        private static StringBuilder BuildCategories(Issue issue)
        {
            using (CmsEquipmentEntities cee = new CmsEquipmentEntities())
            {
                //Details - CATEGORIES
                IList<IssueAssignedCategory> issueCategories = (from p in cee.IssueAssignedCategories.Include("IssueCategory") where p.Issue.Id == issue.Id select p).ToList();

                StringBuilder sb = new StringBuilder();
                for (int index = 0; index < issueCategories.Count; index++)
                {
                    IssueAssignedCategory assignedCategory = issueCategories[index];
                    sb.Append(assignedCategory.IssueCategory.Name);

                    if (index < issueCategories.Count)
                    {
                        sb.Append(", ");
                    }
                }

                return sb;
            }
        }
Example #12
0
        private static StringBuilder BuildAreas(Issue issue)
        {
            using (CmsEquipmentEntities cee = new CmsEquipmentEntities())
            {
                //Details - AREAS
                IList<IssueArea> issueAreas = (from p in cee.IssueAreas.Include("Area") where p.IssueId == issue.Id select p).ToList();

                StringBuilder sb = new StringBuilder();
                for (int index = 0; index < issueAreas.Count; index++)
                {
                    IssueArea issueArea = issueAreas[index];
                    sb.Append(issueArea.Area.Name);

                    if (index < issueAreas.Count)
                    {
                        sb.Append(", ");
                    }
                }
                return sb;
            }
        }
Example #13
0
        private static string BuildActionsAssignedToText(int issueId)
        {
            using (CmsEquipmentEntities cee = new CmsEquipmentEntities())
            {
                cee.ContextOptions.LazyLoadingEnabled = true;
                string[] list = (from x in cee.IssueRelatedActions where x.IssueId == issueId orderby x.AssignedToUser.LastName select x.AssignedToUser.FirstName + " " + x.AssignedToUser.LastName).Distinct().ToArray();

                string joined = string.Join(", ", list);
                return joined;
            }
        }