Esempio n. 1
0
		protected override void CopyEntityObjectToMetaObject(EntityObject target, Mediachase.Ibn.Data.Meta.MetaObject metaObject)
		{
			base.CopyEntityObjectToMetaObject(target, metaObject);

			if(metaObject.GetMetaType().Name == AddressEntity.GetAssignedMetaClassName())
				AddressRequestHandler.UpdateAddressName(metaObject);
		}
Esempio n. 2
0
        /// <returns>Objects count.</returns>
        private void CreateObjectsFrom45(Dictionary <int, MD47.Meta.MetaObject> objectsById)
        {
            Dictionary <int, Dictionary <string, object> > objects = GetObjects();

            foreach (int object45Id in objects.Keys)
            {
                MD47.Meta.MetaObject object47 = new MD47.Meta.MetaObject(_metaClass47);
                if (objectsById != null)
                {
                    objectsById.Add(object45Id, object47);
                }

                Dictionary <string, object> values = objects[object45Id];
                foreach (string name in values.Keys)
                {
                    object47.Properties[name].Value = values[name];
                }

                try
                {
                    object47.Save();
                }
                catch (MD47.Meta.MetaObjectValidationException ex)
                {
                    StringBuilder sb = new StringBuilder();
                    foreach (MD47.IValidator validator in ex.InvalidValidator)
                    {
                        sb.Append("\n");
                        sb.Append(validator.ErrorMessage);
                    }
                    throw new MetadataConverterException(sb.ToString(), ex);
                }
            }
        }
        protected override void CopyEntityObjectToMetaObject(EntityObject target, Mediachase.Ibn.Data.Meta.MetaObject metaObject)
        {
            base.CopyEntityObjectToMetaObject(target, metaObject);

            // OZ 2009-06-04 Duration Fix
            TimeType timeType = (TimeType)(int)metaObject[WorkflowInstanceEntity.FieldPlanFinishTimeType];

            if (timeType == TimeType.Duration &&
                metaObject[WorkflowInstanceEntity.FieldPlanDuration] == null)
            {
                metaObject[WorkflowInstanceEntity.FieldPlanFinishTimeType] = (int)TimeType.NotSet;
                timeType = TimeType.NotSet;
            }
            else if (timeType == TimeType.DateTime &&
                     metaObject[WorkflowInstanceEntity.FieldPlanFinishDate] == null)
            {
                metaObject[WorkflowInstanceEntity.FieldPlanFinishTimeType] = (int)TimeType.NotSet;
                timeType = TimeType.NotSet;
            }

            // Recalculate Plan Date
            if (timeType == TimeType.NotSet)
            {
                metaObject[WorkflowInstanceEntity.FieldPlanDuration]   = null;
                metaObject[WorkflowInstanceEntity.FieldPlanFinishDate] = null;
            }
            else if (timeType == TimeType.Duration)
            {
                DateTime?actualStartDate = (DateTime?)metaObject[WorkflowInstanceEntity.FieldActualStartDate];
                int      duration        = (int)metaObject[WorkflowInstanceEntity.FieldPlanDuration];

                if (actualStartDate.HasValue)
                {
                    metaObject[WorkflowInstanceEntity.FieldPlanFinishDate] = actualStartDate.Value.AddMinutes(duration);
                }
                else
                {
                    metaObject[WorkflowInstanceEntity.FieldPlanFinishDate] = null;
                }
            }
            else if (timeType == TimeType.DateTime)
            {
                DateTime?actualStartDate = (DateTime?)metaObject[WorkflowInstanceEntity.FieldActualStartDate];
                DateTime planFinishDate  = (DateTime)metaObject[WorkflowInstanceEntity.FieldPlanFinishDate];

                if (actualStartDate.HasValue)
                {
                    metaObject[WorkflowInstanceEntity.FieldPlanDuration] = (int)(planFinishDate - actualStartDate.Value).TotalMinutes;
                }
                else
                {
                    metaObject[WorkflowInstanceEntity.FieldPlanDuration] = null;
                }
            }
            //
        }