Beispiel #1
0
        public override string Execute()
        {
            Console.WriteLine($"Trying to update property \"{Name}\"...");

            string message;

            var project = _projectService.GetProjectByName(Project).Result;

            if (project != null)
            {
                var model = _projectDataModelService.GetProjectDataModelByName(project.Id, Model).Result;

                if (model != null)
                {
                    var property = _projectDataModelService.GetProjectDataModelPropertyByName(project.Id, model.Id, Name).Result;

                    int?   relatedModelId = null;
                    string relationalType = null;
                    if (!string.IsNullOrEmpty(Relational))
                    {
                        var relatedModel = _projectDataModelService.GetProjectDataModelByName(project.Id, Relational).Result;

                        if (relatedModel != null)
                        {
                            relatedModelId = relatedModel.Id;
                            relationalType = RelationalType;
                        }
                        else
                        {
                            message = $"Related model {Relational} was not found";
                            Logger.LogInformation(message);
                            return(message);
                        }
                    }

                    if (property != null)
                    {
                        _projectDataModelService.UpdateProjectDataModelProperty(project.Id, model.Id, property.Id, new UpdateProjectDataModelPropertyDto
                        {
                            Id          = property.Id,
                            Name        = Rename ?? property.Name,
                            Label       = Label ?? property.Label,
                            DataType    = Type ?? property.DataType,
                            IsRequired  = Required ?? property.IsRequired,
                            ControlType = ControlType ?? property.ControlType,
                            RelatedProjectDataModelId = relatedModelId ?? property.RelatedProjectDataModelId,
                            RelationalType            = relationalType ?? property.RelationalType,
                            IsManaged = Managed ?? property.IsManaged
                        }).Wait();

                        message = $"Property {Name} has been updated successfully";
                        return(message);
                    }
                }
            }

            message = $"Failed to update property {Name}. Make sure the project, model, and property names are correct.";

            return(message);
        }
        public override string Execute()
        {
            Console.WriteLine($"Trying to add property \"{Name}\" to model {Model}...");
            string message;

            var project = _projectService.GetProjectByName(Project).Result;

            if (project != null)
            {
                var model = _projectDataModelService.GetProjectDataModelByName(project.Id, Model).Result;

                int?   relatedModelId = null;
                string relationalType = null;
                if (!string.IsNullOrEmpty(Relational))
                {
                    var relatedModel = _projectDataModelService.GetProjectDataModelByName(project.Id, Relational).Result;

                    if (relatedModel != null)
                    {
                        relatedModelId = relatedModel.Id;
                        relationalType = RelationalType;
                    }
                    else
                    {
                        message = $"Related model {Relational} was not found";
                        return(message);
                    }
                }

                if (model != null)
                {
                    var newProperty = _projectDataModelService.CreateProjectDataModelProperty(project.Id, model.Id,
                                                                                              new CreateProjectDataModelPropertyDto
                    {
                        Name        = Name,
                        DataType    = Type,
                        Label       = Label,
                        IsRequired  = Required,
                        ControlType = ControlType,
                        RelatedProjectDataModelId = relatedModelId,
                        RelationalType            = relationalType,
                        IsManaged = Managed ?? true
                    }).Result;

                    message = newProperty.ToCliString($"Property {Name} was added to model {Model}:", excludedFields: new string[]
                    {
                        "ProjectDataModelId",
                        "RelatedProjectDataModelId"
                    });
                    Logger.LogInformation(message);
                    return(message);
                }
            }

            message = $"Failed to add property {Name}. Make sure the project and model names are correct.";

            return(message);
        }
Beispiel #3
0
        public override string Execute()
        {
            Console.WriteLine($"Trying to update model \"{Name}\"...");

            string message;

            var project = _projectService.GetProjectByName(Project).Result;

            if (project != null)
            {
                var model = _projectDataModelService.GetProjectDataModelByName(project.Id, Name).Result;
                if (model != null)
                {
                    _projectDataModelService.UpdateProjectDataModel(project.Id, model.Id, new UpdateProjectDataModelDto
                    {
                        Id          = model.Id,
                        Name        = Rename ?? Name,
                        Description = Description ?? model.Description,
                        Label       = Label ?? model.Label,
                        IsManaged   = Managed ?? model.IsManaged,
                        SelectKey   = SelectKey ?? model.SelectKey
                    }).Wait();

                    message = $"Model {Name} has been updated successfully";
                    Logger.LogInformation(message);
                    return(message);
                }
            }

            message = $"Failed to update model {Name}. Make sure the project and model names are correct.";

            return(message);
        }
        public override string Execute()
        {
            if (!(AutoConfirm || Console.GetYesNo($"Are you sure you want to remove model {Name} from project {Project}?", false)))
            {
                return(string.Empty);
            }

            Console.WriteLine($"Trying to remove model \"{Name}\" from project {Project}...");

            string message;

            var project = _projectService.GetProjectByName(Project).Result;

            if (project != null)
            {
                var model = _projectDataModelService.GetProjectDataModelByName(project.Id, Name).Result;
                if (model != null)
                {
                    _projectDataModelService.DeleteProjectDataModel(project.Id, model.Id).Wait();

                    message = $"Model {Name} has been removed successfully";
                    Logger.LogInformation(message);

                    return(message);
                }
            }

            message = $"Failed to remove model {Name}. Make sure the project and model names are correct.";

            return(message);
        }
        public override string Execute()
        {
            Console.WriteLine($"Trying to get properties of model {Model}...");
            string message;

            var project = _projectService.GetProjectByName(Project).Result;

            if (project != null)
            {
                var model = _projectDataModelService.GetProjectDataModelByName(project.Id, Model).Result;

                if (model != null)
                {
                    var properties = _projectDataModelService.GetProjectDataModelProperties(project.Id, model.Id).Result;

                    message = properties.ToListCliString(properties.Count == 1 ?
                                                         "Found 1 property:" : $"Found {properties.Count} properties:", excludedFields: new string[]
                    {
                        "ProjectDataModelId",
                        "RelatedProjectDataModelId"
                    });
                    return(message);
                }
            }

            message = $"Failed to fetch properties. Make sure the project and model names are correct.";

            return(message);
        }
Beispiel #6
0
        public override string Execute()
        {
            Console.WriteLine($"Trying to get data model {Name} in project {Project}...");

            string message;

            var project = _projectService.GetProjectByName(Project).Result;

            if (project != null)
            {
                var model = _projectDataModelService.GetProjectDataModelByName(project.Id, Name).Result;

                if (model != null)
                {
                    message = model.ToCliString($"Data model {Name}", excludedFields: new string[]
                    {
                        "ProjectId",
                        "ProjectDataModelId",
                        "RelatedProjectDataModelId"
                    });
                    return(message);
                }
            }

            message = $"Failed to get model {Name}. Make sure the project and model names are correct.";

            return(message);
        }
Beispiel #7
0
        public async Task <IActionResult> GetProjectDataModel(int projectId, string modelName)
        {
            _logger.LogInformation("Getting data model {modelName} in project {projectId}", modelName, projectId);

            var projectDataModel = await _projectDataModelService.GetProjectDataModelByName(projectId, modelName);

            var result = _mapper.Map <ProjectDataModelDto>(projectDataModel);

            return(Ok(result));
        }
        public async Task <IActionResult> GetProjectDataModel(int projectId, string modelName)
        {
            _logger.LogRequest("Getting data model {modelName} in project {projectId}", modelName, projectId);

            var projectDataModel = await _projectDataModelService.GetProjectDataModelByName(projectId, modelName);

            var result = _mapper.Map <ProjectDataModelDto>(projectDataModel);

            _logger.LogResponse("Data model {modelName} in project {projectId} retrieved. Response body: {@result}", modelName, projectId, result);

            return(Ok(result));
        }