Ejemplo n.º 1
0
        public PipeComponentDataAdapter(OleDbDataReader dr, List<PipeProperty> existingPipeComponentProperties, IList<string> componentPropertyNames, int rowNumber, bool canCreateProperties)
        {
            string pipeName = dr.SafeString((int)PipeComponentColumn.Tag);
            if (!ParseTagNumberToProperties(pipeName, rowNumber))
            {
                return;
            }

            RowNumber = rowNumber;

            Tag = dr.SafeString((int)PipeComponentColumn.Tag);

            PipeDataAdapter adpter = new PipeDataAdapter(Tag);
            if (adpter.HasValidParts)
            {
                this.PipeAdapter = adpter;
            }
            else
            {
                ErrorMessages.Add(string.Format("Tag '{0}', row {2}, Component Name '{1}'. Pipe Tag is not in a valid format.", Tag, ComponentName, rowNumber));
            }

            ComponentType = dr.SafeString((int)PipeComponentColumn.ComponentType);
            ComponentAreaNumber = dr.SafeString((int)PipeComponentColumn.ComponentAreaNumber);
            ComponentSubArea = dr.SafeNullableInt((int)PipeComponentColumn.ComponentSubArea);
            ComponentNumber = dr.SafeNullableInt((int)PipeComponentColumn.ComponentNumber);

            Manufacturer = dr.SafeString((int)PipeComponentColumn.Manufacturer);
            Model = dr.SafeString((int)PipeComponentColumn.Model);

            if (!ComponentSubArea.HasValue)
            {
                ErrorMessages.Add(string.Format("Tag {0}, row {1}. The ComponentSubArea is blank.", Tag, rowNumber));
            }

            if (!ComponentNumber.HasValue)
            {
                ErrorMessages.Add(string.Format("Tag {0}, row {1}. The ComponentNumber is blank.", Tag, rowNumber));
            }

            if (string.IsNullOrEmpty(ComponentType))
            {
                ErrorMessages.Add(string.Format("Tag {0}, row {1}. The ComponentType is blank.", Tag, rowNumber));
            }

            ComponentDescription = dr.SafeString((int)PipeComponentColumn.ComponentDescription);

            int k = 0;
            const int StartColumnIndex = (int)PipeComponentColumn.Model + 1;

            for (int i = StartColumnIndex; i < StartColumnIndex + componentPropertyNames.Count; i++)
            {
                if (string.IsNullOrEmpty(dr.SafeString(i)))
                {
                    continue;
                }

                string propertyName = componentPropertyNames[k];
                k++;

                PipeProperty property = (from x in existingPipeComponentProperties where x.Name.ToLower() == propertyName.ToLower() select x).FirstOrDefault();

                if (property != null)
                {
                    //we can grab the value;
                    PropertyValues.Add(property.Name, dr.SafeString(i));
                }
                else
                {
                    if (canCreateProperties)
                    {
                        if (!PropertyValues.ContainsValue(dr.SafeString(i)))
                        {
                            PropertyValues.Add(propertyName, dr.SafeString(i));
                        }
                    }
                    else
                    {
                        RaiseMissingPropertyMessage(PipeTag, rowNumber, propertyName);
                        break;
                    }
                }
            }
        }
Ejemplo n.º 2
0
        public AlarmDataAdapter(OleDbDataReader dr, string workSheetName, int rowNumber, CommonUtils.ImportType importType)
        {
            RowNumber = rowNumber;
            WorkSheetName = workSheetName;

            ControlSystemName = dr.SafeString((int)AlarmColumn.ControlSystemName).Trim();
            ComponentName = dr.SafeString((int)AlarmColumn.ComponentName).Trim();
            AlarmPropertyName = dr.SafeString((int)AlarmColumn.AlarmPropertyName).Trim();

            Enabled = dr.SafeNullableBool((int)AlarmColumn.Enabled);

            OnDelay = dr.SafeNullableInt((int)AlarmColumn.OnDelay);
            OffDelay = dr.SafeNullableInt((int)AlarmColumn.OffDelay);

            ActivationExpr = dr.SafeString((int)AlarmColumn.ActivationExpr).Trim();
            MaskingExpr = dr.SafeString((int)AlarmColumn.MaskingExpr).Trim();

            AlarmCalcExprEnabled = dr.SafeNullableBool((int)AlarmColumn.AlarmCalcExprEnabled);
            AlarmCalcExpr = dr.SafeString((int)AlarmColumn.AlarmCalcExpr).Trim();

            Purpose = dr.SafeString((int)AlarmColumn.Purpose).Trim();
            Consequence = dr.SafeString((int)AlarmColumn.Consequence).Trim();
            Response = dr.SafeString((int)AlarmColumn.Response).Trim();

            Notes = dr.SafeString((int)AlarmColumn.Notes).Trim();
            Guidance = dr.SafeString((int)AlarmColumn.Guidance).Trim();

            Tested = dr.SafeNullableBool((int)AlarmColumn.Tested);
            TestedDate = dr.SafeNullableDate((int)AlarmColumn.TestedDate);
            TestedUser = dr.SafeString((int)AlarmColumn.TestedUser).Trim();

            Reviewed = dr.SafeNullableBool((int)AlarmColumn.Reviewed);
            ReviewedDate = dr.SafeNullableDate((int)AlarmColumn.ReviewedDate);
            ReviewedUser = dr.SafeString((int)AlarmColumn.ReviewedUser).Trim();

            Reportable = dr.SafeNullableBool((int)AlarmColumn.Reportable);
            ReportableDate = dr.SafeNullableDate((int)AlarmColumn.ReportableDate);
            ReportableUser = dr.SafeString((int)AlarmColumn.ReportableUser).Trim();

            PurposeIsIndendedNull = dr.IntendedNull((int)AlarmColumn.Purpose);
            ConsequenceIsIntendedNull = dr.IntendedNull((int)AlarmColumn.Consequence);
            ResponseTimeIsIndendedNull = dr.IntendedNull((int)AlarmColumn.Response);

            AlarmCalcExprIsIntendedNull = dr.IntendedNull((int)AlarmColumn.AlarmCalcExpr);
            ActivationExprIsIntendedNull = dr.IntendedNull((int)AlarmColumn.ActivationExpr);
            MaskingExprIsIntendedNull = dr.IntendedNull((int)AlarmColumn.MaskingExpr);
            GuidanceIsIntendedNull = dr.IntendedNull((int)AlarmColumn.Guidance);

            OnDelayIsIntendedNull = dr.IntendedNull((int)AlarmColumn.OnDelay);
            OffDelayIsIntendedNull = dr.IntendedNull((int)AlarmColumn.OffDelay);
            NotesIsIntendedNull = dr.IntendedNull((int)AlarmColumn.Notes);

            TestedDateIsIntendedNull = dr.IntendedNull((int)AlarmColumn.TestedDate);
            TestedUserIsIntendedNull = dr.IntendedNull((int)AlarmColumn.TestedUser);

            ReviewedIsIntendedNull = dr.IntendedNull((int)AlarmColumn.Reviewed);
            ReviewedDateIsIntendedNull = dr.IntendedNull((int)AlarmColumn.ReviewedDate);
            ReviewedUserIsIntendedNull = dr.IntendedNull((int)AlarmColumn.ReviewedUser);

            ReportabledIsIntendedNull = dr.IntendedNull((int)AlarmColumn.Reportable);
            ReportabledDateIsIntendedNull = dr.IntendedNull((int)AlarmColumn.ReportableDate);
            ReportableUserIsIntendedNull = dr.IntendedNull((int)AlarmColumn.ReportableUser);
        }