public IList <DataRowViewModel> GetRecords(Entity entity, IList <IEntityFilter> filters = null, string searchQuery = null, string order = null, string orderDirection = null, bool determineDisplayValue = false) { var search = new EntitySearch { Query = searchQuery, Properties = entity.SearchProperties }; order = order.IsNullOrEmpty() ? entity.Key.ColumnName : order; orderDirection = orderDirection.IsNullOrEmpty() ? "ASC" : orderDirection.ToUpper(); var orderBy = order + " " + orderDirection; var columns = string.Join(",", entity.Properties.Where(x => !x.IsForeignKey || (!x.IsCollection && x.IsForeignKey)).Select(x => x.ColumnName).Distinct()); var where = ConvertFiltersToSQL(filters, search); var table = new DynamicModel(AdminInitialise.ConnectionString, tableName: entity.TableName, primaryKeyField: entity.Key.ColumnName); var result = table.All(columns: columns, where : where, orderBy: orderBy); var data = new List <DataRowViewModel>(); foreach (var item in result) { data.Add(ExpandoToDataRow(item, entity)); } if (determineDisplayValue) { foreach (var row in data) { row.DisplayName = GetDisplayName(entity, row); } } return(data); }
public List <dynamic> GetAllInvoices() { var invoices = new DynamicModel("invoicesDB", "invoice", "id"); return(invoices.All().ToList()); //dynamic invoices = new Invoices(); //return (invoices.find() as IEnumerable<dynamic>).ToList(); }
public OperationResult <Contact[]> GetContacts() { var result = new OperationResult <Contact[]>(); result.Data = table.All().Select(x => new Contact() { Id = x.Id, Dob = x.Dob, Name = x.Name, Phone = x.Phone }).ToArray(); return(result); }
public IList <DataRow> GetRecords( Entity entity, IList <IEntityFilter> filters = null, string searchQuery = null, string order = null, string orderDirection = null, bool determineDisplayValue = false) { var search = new EntitySearch { Query = searchQuery, Properties = entity.SearchProperties }; order = order.IsNullOrEmpty() ? entity.Key.ColumnName : order; orderDirection = orderDirection.IsNullOrEmpty() ? "ASC" : orderDirection.ToUpper(); var orderBy = order + " " + orderDirection; var columns = string.Join(",", entity.Properties .Where(x => !x.IsForeignKey || (!x.TypeInfo.IsCollection && x.IsForeignKey)) .Select(x => x.ColumnName) .Distinct()); List <object> args; var where = ConvertFiltersToSql(filters, search, out args); var table = new DynamicModel( AdminInitialise.ConnectionStringName, entity.TableName, entity.Key.ColumnName); var result = table.All( columns: columns, where : where, orderBy: orderBy, args: args.ToArray()); var data = result .Select(item => new DataRow(item, entity)) .ToList(); if (determineDisplayValue) { foreach (var row in data) { row.DisplayName = entity.ToString(row); } } return(data); }
public static dynamic Process(DataProcessRequest request) { dynamic result = null; var tbl = new DynamicModel(ConnectionString, tableName: request.EntityType.Name, primaryKeyField: "Id"); switch (request.Type) { case RequestType.GET: if (request.Object != null) { throw new NotImplementedException(); //result = tbl. } else { result = tbl.All(); } break; case RequestType.POST: // Id is not allowed when doing an insert as this is the auto generated key as IDENTITY(1,1) IDictionary <string, object> map = ObjectExtensions.ToDictionary(request.Object); map.Remove("Id"); result = tbl.Insert(map); break; case RequestType.UPDATE: result = tbl.Update(request.Object); break; case RequestType.PUT: throw new NotImplementedException(); break; case RequestType.DELETE: throw new NotImplementedException(); break; default: break; } return(result); }
public ActionResult Index() { var c = comments.All(); return(View(c)); }
public PagedRecords GetRecords( Entity entity, IList <BaseFilter> filters = null, string searchQuery = null, string order = null, string orderDirection = null, bool determineDisplayValue = false, int?page = null, int?take = null, bool loadForeignKeys = false) { var search = new EntitySearch { Query = searchQuery, Properties = entity.SearchProperties }; order = order.IsNullOrEmpty() ? entity.Keys.FirstOrDefault().Column : order; orderDirection = orderDirection.IsNullOrEmpty() ? "ASC" : orderDirection.ToUpper(); var orderBy = order + " " + orderDirection; var columns = string.Join(",", entity.DisplayProperties .Union(entity.Keys) .Where(x => !x.IsForeignKey || (!x.TypeInfo.IsCollection && x.IsForeignKey)) .Select(x => $"{entity.Table}.{x.Column} as {x.Column}") .Distinct()); List <object> args; var where = ConvertFiltersToSql(filters, search, out args); var table = new DynamicModel( _admin.ConnectionStringName, entity.Table, entity.JoinedKeys); if (page.HasValue && take.HasValue) { var result = table.Paged( columns: columns, where : where, orderBy: orderBy, currentPage: page.Value, pageSize: take.Value, args: args.ToArray()); var records = new List <EntityRecord>(); foreach (var item in result.Items) { records.Add(entity.CreateRecord((Dictionary <string, object>)item)); } return(new PagedRecords { TotalItems = result.TotalRecords, TotalPages = result.TotalPages, Records = records }); } else { var joins = ""; if (loadForeignKeys) { foreach (var foreignKey in entity.ForeignKeys.WhereOneToMany()) { var joinTable = foreignKey.ForeignEntity.Table; var joinProperty = foreignKey.ForeignEntity.Keys.FirstOrDefault(x => x.ForeignEntity == entity); var keyProperty = foreignKey.TypeInfo.IsCollection ? entity.Keys.FirstOrDefault() : foreignKey; joins += Environment.NewLine + $"left join {joinTable} on {joinTable}.{joinProperty.Column} = {entity.Table}.{keyProperty.Column}"; var propertyToGet = foreignKey.ForeignEntity.Keys.FirstOrDefault(x => x.ForeignEntity != entity) ?? joinProperty; columns += $",{joinTable}.{propertyToGet.Column} as {foreignKey.Column}"; } } var result = table.All( columns: columns, joins: joins, where : where, orderBy: orderBy, args: args.ToArray()); var records = result .Select(item => entity.CreateRecord(item)) .ToList(); return(new PagedRecords { Records = records }); } }
public PagedRecords GetRecords( Entity entity, IList <BaseFilter> filters = null, string searchQuery = null, string order = null, string orderDirection = null, bool determineDisplayValue = false, int?page = null, int?take = null) { var search = new EntitySearch { Query = searchQuery, Properties = entity.SearchProperties }; order = order.IsNullOrEmpty() ? entity.Key.FirstOrDefault().ColumnName : order; orderDirection = orderDirection.IsNullOrEmpty() ? "ASC" : orderDirection.ToUpper(); var orderBy = order + " " + orderDirection; var columns = string.Join(",", entity.Properties .Where(x => !x.IsForeignKey || (!x.TypeInfo.IsCollection && x.IsForeignKey)) .Select(x => x.ColumnName) .Distinct()); List <object> args; var where = ConvertFiltersToSql(filters, search, out args); var table = new DynamicModel( Admin.ConnectionStringName, entity.TableName, entity.JoinedKey); if (page.HasValue && take.HasValue) { var result = table.Paged( columns: columns, where : where, orderBy: orderBy, currentPage: page.Value, pageSize: take.Value, args: args.ToArray()); var data = new List <DataRow>(); foreach (var item in result.Items) { data.Add(new DataRow(item, entity)); } return(new PagedRecords { TotalItems = result.TotalRecords, TotalPages = result.TotalPages, Records = data }); } else { var result = table.All( columns: columns, where : where, orderBy: orderBy, args: args.ToArray()); var data = result .Select(item => new DataRow(item, entity)) .ToList(); if (determineDisplayValue) { foreach (var row in data) { row.DisplayName = entity.ToString(row); } } return(new PagedRecords { Records = data }); } }
public ActionResult Index() { return(VidpubJSON(_productions.All())); }
public List <dynamic> GetAllInvoicesDetailsById(int id) { var invoicesDetails = new DynamicModel("invoicesDB", "invoiceDetail", "id"); return(invoicesDetails.All(where : "WHERE idInvoice=@0", args: id).ToList()); }
public List <dynamic> GetAllInvoicesDetails() { var invoicesDetails = new DynamicModel("invoicesDB", "invoiceDetail", "id"); return(invoicesDetails.All().ToList()); }