Exemplo n.º 1
0
        public virtual ActionResult Edit(string entityName, string key)
        {
            var entity = _admin.GetEntity(entityName);

            if (entity == null)
            {
                return(RedirectToAction("NotFound", new { entityName }));
            }

            var entityRecord = _source.GetEntityRecord(entity, key);

            if (entityRecord == null)
            {
                return(RedirectToAction("Index", "Entities", new { area = "IlaroAdmin", entityName }));
            }

            var model = new EntityEditModel
            {
                Entity           = entity,
                Record           = entityRecord,
                PropertiesGroups = _entityService.PrepareGroups(entityRecord, getKey: false, key: key),
                ConcurrencyCheck = entityRecord.GetConcurrencyCheckValue()
            };

            return(View(model));
        }
Exemplo n.º 2
0
        public void updates_record_with_many_to_one_foreign_property()
        {
            set_up_test();
            var category = DB.Categories.Insert(CategoryName: "Category");
            var product2 = DB.Products.Insert(ProductName: "Product2", CategoryId: category.CategoryID);

            _entityRecord = _source.GetEntityRecord(
                _admin.GetEntity <Category>(),
                category.CategoryID.ToString());

            _entityRecord["CategoryName"].Raw = "Category";
            _entityRecord["Products"].Values  = new List <object> {
                _productId
            };
            _updater.Update(_entityRecord);

            var categories = (List <dynamic>)DB.Categories.All().ToList();

            Assert.Equal(1, categories.Count);
            var products = (List <dynamic>)DB.Products.All().ToList();

            Assert.Equal(2, products.Count);
            var product = products.First(x => x.ProductID == _productId);

            product2 = products.First(x => x.ProductID == product2.ProductID);
            Assert.Null(product2.CategoryID);
            Assert.Equal(category.CategoryID, product.CategoryID);
        }
Exemplo n.º 3
0
        public void get_record_with_correct_data_return_record()
        {
            DB.Products.Insert(ProductName: "Product");
            var productId = DB.Products.Insert(ProductName: "Product2").ProductID;

            var          enetity      = _admin.GetEntity("Product");
            EntityRecord entityRecord = _source.GetEntityRecord(enetity, productId.ToString());

            Assert.NotNull(enetity);
            Assert.Equal("Product2", entityRecord["ProductName"].AsString);
        }
Exemplo n.º 4
0
        public void when_record_has_foreign_record_and_delete_option_is_set_null__delete_root_record_and_set_foreign_key_to_null()
        {
            Entity <Customer> .Register().ReadAttributes();

            Entity <Order> .Register().ReadAttributes();

            Entity <OrderDetail> .Register().ReadAttributes();

            _admin.Initialise(ConnectionStringName);

            var customerId = "CTEST";

            DB.Customers.Insert(CustomerID: customerId, CompanyName: "test");
            var orderId   = DB.Orders.Insert(CustomerID: customerId).OrderID;
            var productId = DB.Products.Insert(ProductName: "test").ProductID;

            DB.OrderDetails.Insert(OrderID: orderId, ProductID: productId);

            var customerEntity = _admin.GetEntity <Customer>();
            var entityRecord   = _source.GetEntityRecord(
                customerEntity,
                customerId);

            var deleteOptions = new Dictionary <string, PropertyDeleteOption>
            {
                { "Order", new PropertyDeleteOption {
                      DeleteOption = CascadeOption.Detach
                  } }
            };

            var result = _deleter.Delete(entityRecord, deleteOptions);

            Assert.True(result);

            Assert.Equal(0, DB.Customers.All().ToList().Count);
            Assert.Equal(null, DB.Orders.All().FirstOrDefault().CustomerID);
            Assert.Equal(1, DB.OrderDetails.All().ToList().Count);
        }
        public void when_removed_all_values_from_many_to_many_property__many_to_many_table_is_empty()
        {
            var employeeEntity          = _admin.GetEntity <Employee>();
            var employeeTerritoryEntity = _admin.GetEntity <EmployeeTerritory>();

            var employee    = DB.Employees.Insert(FirstName: "Test", LastName: "Test");
            var territoryId = new_territory();

            DB.EmployeeTerritories.Insert(EmployeeID: employee.EmployeeID, TerritoryID: territoryId);

            var record = _source.GetEntityRecord(employeeEntity, ((int)employee.EmployeeID).ToString());

            record.Values.FirstOrDefault(x => x.Property.Name == "Photo").DataBehavior = DataBehavior.Skip;
            var manyToManyPropertyValue = record.Values.FirstOrDefault(x => x.Property.ForeignEntity == employeeTerritoryEntity);

            manyToManyPropertyValue.Values.Clear();

            _updater.Update(record);

            var employeeTerritoryCount = DB.EmployeeTerritories.GetCount();

            Assert.Equal(0, employeeTerritoryCount);
        }