Example #1
0
        public override UIDataMapObject BusinessToUI(BUSDataMapObject businessEntity)
        {
            UIDataMapObject UIEntity = base.BusinessToUI(businessEntity);

            UIEntity.SourceBusinessObjectName      = businessEntity.SourceBusinessObjectName;
            UIEntity.DestinationBusinessObjectName = businessEntity.DestinationBusinessObjectName;
            return(UIEntity);
        }
Example #2
0
        public override DataMapObject BusinessToData(DataMapObject dataMapObject, BUSDataMapObject businessEntity, TContext context, bool NewRecord)
        {
            DataMapObject dataEntity = base.BusinessToData(dataMapObject, businessEntity, context, NewRecord);

            dataEntity.DataMap                     = businessEntity.DataMap;
            dataEntity.DataMapId                   = businessEntity.DataMapId;
            dataEntity.SourceBusinessObject        = businessEntity.SourceBusinessObject;
            dataEntity.SourceBusinessObjectId      = businessEntity.SourceBusinessObjectId;
            dataEntity.DestinationBusinessObject   = businessEntity.DestinationBusinessObject;
            dataEntity.DestinationBusinessObjectId = businessEntity.DestinationBusinessObjectId;
            return(dataEntity);
        }
Example #3
0
        public override BUSDataMapObject DataToBusiness(DataMapObject dataEntity, TContext context)
        {
            BUSDataMapObject businessEntity       = base.DataToBusiness(dataEntity, context);
            BusinessObject   sourceBusinessObject = context.BusinessObjects.AsNoTracking().FirstOrDefault(i => i.Id == dataEntity.SourceBusinessObjectId);

            if (sourceBusinessObject != null)
            {
                businessEntity.SourceBusinessObject     = sourceBusinessObject;
                businessEntity.SourceBusinessObjectId   = sourceBusinessObject.Id;
                businessEntity.SourceBusinessObjectName = sourceBusinessObject.Name;
            }
            BusinessObject destinationBusinessObject = context.BusinessObjects.AsNoTracking().FirstOrDefault(i => i.Id == dataEntity.DestinationBusinessObjectId);

            if (destinationBusinessObject != null)
            {
                businessEntity.DestinationBusinessObject     = destinationBusinessObject;
                businessEntity.DestinationBusinessObjectId   = destinationBusinessObject.Id;
                businessEntity.DestinationBusinessObjectName = destinationBusinessObject.Name;
            }
            return(businessEntity);
        }
Example #4
0
        public override BUSDataMapObject UIToBusiness(UIDataMapObject UIEntity, TContext context, IViewInfo viewInfo, bool isNewRecord)
        {
            BUSDataMapObject businessEntity = base.UIToBusiness(UIEntity, context, viewInfo, isNewRecord);
            DataMap          dataMap        = context.DataMaps
                                              .Select(map => new
            {
                id             = map.Id,
                name           = map.Name,
                dataMapObjects = map.DataMapObjects.Select(mapObject => new
                {
                    id   = mapObject.Id,
                    name = mapObject.Name
                })
            })
                                              .Select(map => new DataMap
            {
                Id             = map.id,
                Name           = map.name,
                DataMapObjects = map.dataMapObjects.Select(mapObject => new DataMapObject
                {
                    Id   = mapObject.id,
                    Name = mapObject.name
                }).ToList()
            })
                                              .FirstOrDefault(i => i.Id.ToString() == ComponentsRecordsInfo.GetSelectedRecord("Data Map"));

            if (dataMap == null)
            {
                businessEntity.ErrorMessage = "First you need create data map.";
            }
            else
            {
                // Если запись новая и она не уникальна, записывается ошибка
                DataMapObject dataMapObject = dataMap.DataMapObjects?.FirstOrDefault(n => n.Name == UIEntity.Name);
                if (dataMapObject != null && dataMapObject.Id != UIEntity.Id)
                {
                    businessEntity.ErrorMessage = $"Data map object with this name is already exists in data map {businessEntity.DataMap.Name}.";
                }
                else
                {
                    businessEntity.DataMap   = dataMap;
                    businessEntity.DataMapId = dataMap.Id;

                    // SourceBusinessObject
                    BusinessObject sourceBusinessObject = context.BusinessObjects.AsNoTracking().FirstOrDefault(n => n.Name == UIEntity.SourceBusinessObjectName);
                    if (sourceBusinessObject != null)
                    {
                        businessEntity.SourceBusinessObject     = sourceBusinessObject;
                        businessEntity.SourceBusinessObjectId   = sourceBusinessObject.Id;
                        businessEntity.SourceBusinessObjectName = sourceBusinessObject.Name;
                    }

                    // DestinationBusinessObject
                    BusinessObject destinationBusinessObject = context.BusinessObjects.AsNoTracking().FirstOrDefault(n => n.Name == UIEntity.DestinationBusinessObjectName);
                    if (destinationBusinessObject != null)
                    {
                        businessEntity.DestinationBusinessObject     = destinationBusinessObject;
                        businessEntity.DestinationBusinessObjectId   = destinationBusinessObject.Id;
                        businessEntity.DestinationBusinessObjectName = destinationBusinessObject.Name;
                    }
                }
            }
            return(businessEntity);
        }
Example #5
0
        public override IEnumerable <ValidationResult> BUSUIValidate(TContext context, BUSDataMapObject businessComponent, UIDataMapObject UIEntity)
        {
            List <ValidationResult> result = base.BUSUIValidate(context, businessComponent, UIEntity).ToList();

            if (businessComponent.SourceBusinessObject == null)
            {
                result.Add(new ValidationResult("Business object with this name not found.", new List <string>()
                {
                    "SourceBusinessObject"
                }));
            }
            if (businessComponent.DestinationBusinessObject == null)
            {
                result.Add(new ValidationResult("Business object with this name not found.", new List <string>()
                {
                    "DestinationBusinessObject"
                }));
            }
            return(result);
        }