public async Task <JObject> Get(string moduleName, string objectName)
        {
            Models.Configuration.Object model = await _context.Objects
                                                .Include(o => o.Module)
                                                .Include(o => o.ParentObject)
                                                .Include(o => o.MainObject)
                                                .Include(o => o.ObjectFields)
                                                .Where(p =>
                                                       p.Module.Name == moduleName && p.Name == objectName
                                                       ).FirstOrDefaultAsync();

            model.Module.Objects = null;
            model.ObjectFields   = model.ObjectFields.Select(f => {
                f.Object = null;
                return(f);
            }).ToList();

            if (model.ParentObject != null)
            {
                model.ParentObject.Module = null;
            }
            if (model.MainObject != null)
            {
                model.MainObject.Module = null;
            }

            return(model == null ? null : JObject.FromObject(model));
        }
        public async Task <JObject> Put(string moduleName, string objectName, [FromBody] JObject value)
        {
            Models.Configuration.Object model = value.ToObject <Models.Configuration.Object>();

            await this._context.Objects.AddAsync(model);

            await _context.SaveChangesAsync();

            return(model == null ? null : JObject.FromObject(model));
        }
        public async Task Delete(string moduleName, string objectName)
        {
            Models.Configuration.Object Object = await _context.Objects.Where(p =>
                                                                              p.Module.Name == moduleName && p.Name == objectName
                                                                              ).FirstOrDefaultAsync();

            this._context.Objects.Remove(Object);

            await _context.SaveChangesAsync();
        }
Ejemplo n.º 4
0
        public async Task <JObject> Post(string moduleName, string objectName, string objectFieldName, [FromBody] JObject value)
        {
            ObjectField objectFieldUpdate = value.ToObject <ObjectField>();

            ObjectField baseObjectField = await _context.ObjectFields.Where(of =>
                                                                            of.Name == objectFieldName && of.Object.Name == objectName && of.Object.Module.Name == moduleName
                                                                            ).FirstOrDefaultAsync();

            if (baseObjectField != null)
            {
                baseObjectField.Description  = objectFieldUpdate.Description;
                baseObjectField.IsActive     = objectFieldUpdate.IsActive;
                baseObjectField.DateModified = DateTime.UtcNow;

                _context.ObjectFields.Update(baseObjectField);
            }
            else
            {
                Models.Configuration.Object baseObject = await _context.Objects.Where(o =>
                                                                                      o.Name == objectName && o.Module.Name == moduleName
                                                                                      ).FirstOrDefaultAsync();

                if (objectFieldUpdate.Description == null)
                {
                    objectFieldUpdate.Description = "";
                }
                if (objectFieldUpdate.DataType == null)
                {
                    objectFieldUpdate.DataType = "[nvarchar](128)";
                }

                objectFieldUpdate.Object   = baseObject;
                objectFieldUpdate.ObjectId = baseObject.ObjectId;

                objectFieldUpdate.DateCreated  = DateTime.UtcNow;
                objectFieldUpdate.CreatedBy    = Guid.Empty;
                objectFieldUpdate.DateModified = DateTime.UtcNow;
                objectFieldUpdate.ModifiedBy   = Guid.Empty;
                objectFieldUpdate.IsActive     = false;

                await _context.ObjectFields.AddAsync(objectFieldUpdate);
            }

            await _context.SaveChangesAsync();

            return(baseObjectField == null ? null : JObject.FromObject(baseObjectField));
        }
        public async Task <JObject> Post(string moduleName, string objectName, [FromBody] JObject value)
        {
            Models.Configuration.Object objectUpdate = value.ToObject <Models.Configuration.Object>();

            Models.Configuration.Object baseObject = await _context.Objects.Where(p =>
                                                                                  p.Module.Name == moduleName && p.Name == objectName
                                                                                  ).FirstOrDefaultAsync();

            baseObject.Description  = objectUpdate.Description;
            baseObject.IsActive     = objectUpdate.IsActive;
            baseObject.DateModified = DateTime.UtcNow;

            _context.Objects.Update(baseObject);

            await _context.SaveChangesAsync();

            return(baseObject == null ? null : JObject.FromObject(baseObject));
        }