Example #1
0
        public void TestCancelError()
        {
            ProviderList list = ProviderList.GetList();
              Csla.Xaml.CslaDataProvider dp = new Csla.Xaml.CslaDataProvider();
              list.BeginEdit();
              dp.ManageObjectLifetime = true;
              dp.ObjectInstance = list;
              dp.RemoveItem(null, new Xaml.ExecuteEventArgs { MethodParameter = list[0] });
              dp.Save();

              Assert.AreEqual(1, list.Count);

              dp.Cancel();
              Assert.AreEqual(2, list.Count);
        }
        public void TestCancelError()
        {
            ProviderList list = ProviderList.GetList();

            Csla.Xaml.CslaDataProvider dp = new Csla.Xaml.CslaDataProvider();
            list.BeginEdit();
            dp.ManageObjectLifetime = true;
            dp.ObjectInstance       = list;
            dp.RemoveItem(null, new Xaml.ExecuteEventArgs {
                MethodParameter = list[0]
            });
            dp.Save();

            Assert.AreEqual(1, list.Count);

            dp.Cancel();
            Assert.AreEqual(2, list.Count);
        }
        public void ProviderCancelAfterExceptionInSave()
        {
            var context = GetContext();

            var provider = new Csla.Xaml.CslaDataProvider();

            provider.ManageObjectLifetime = true;
            CustomerWithErrorList.GetCustomerWithErrorList((o1, e1) =>
            {
                Csla.ApplicationContext.GlobalContext.Clear();
                var custs = e1.Object;
                int count = custs.Count;
                provider.ObjectInstance = custs;
                provider.RemoveItem(null, new Csla.Xaml.ExecuteEventArgs {
                    MethodParameter = custs[0]
                });


                provider.DataChanged += (o4, e4) =>
                {
                    if (provider.Data != null)
                    {
                        CustomerWithErrorList savedList = provider.Data as CustomerWithErrorList;
                        context.Assert.AreEqual(count, savedList.Count);
                        context.Assert.Success();
                    }
                };

                provider.PropertyChanged += (o3, e3) =>
                {
                    if (e3.PropertyName == "Error")
                    {
                        provider.Cancel();
                    }
                };
                provider.Save();
            });
            var tmp = provider.Data;

            context.Complete();
        }
        public void Cancel_reverts_property_values_on_bound_BO_back_to_the_original_values()
        {
            var context = GetContext();

            var provider = new Csla.Xaml.CslaDataProvider();

            Customer.GetCustomer((o1, e1) =>
            {
                var cust                = e1.Object;
                int custID              = cust.Id;
                string custName         = cust.Name;
                provider.ObjectInstance = cust;
                cust.Name               = "new test name";
                provider.Cancel();
                context.Assert.AreEqual(custID, ((Customer)provider.Data).Id);
                context.Assert.AreEqual(custName, ((Customer)provider.Data).Name);
                context.Assert.Success();
            });
            var tmp = provider.Data;

            context.Complete();
        }
        public void TestCslaDataProviderCancelShouldBeBusy()
        {
            var context = GetContext();

            var provider = new Csla.Xaml.CslaDataProvider();

            Customer.GetCustomer((o1, e1) =>
            {
                Csla.ApplicationContext.GlobalContext.Clear();
                var cust           = e1.Object;
                bool wasBusy       = false;
                bool wasNotBusy    = false;
                context.Completed += (o5, e5) =>
                {
                    context.Assert.IsTrue(wasBusy);
                    context.Assert.IsTrue(wasNotBusy);
                };
                provider.ObjectInstance = cust;
                cust.Name = "blah";
                provider.PropertyChanged += (o3, e3) =>
                {
                    if (e3.PropertyName == "IsBusy" && provider.IsBusy)
                    {
                        wasBusy = true;
                    }
                    if (e3.PropertyName == "IsNotBusy" && provider.IsNotBusy && wasBusy)
                    {
                        wasNotBusy = true;
                    }
                };
                provider.ObjectInstance = cust;
                provider.Cancel();
                context.Assert.Success();
            });
            var tmp = provider.Data;

            context.Complete();
        }
    public void ProviderCancelAfterExceptionInSave()
    {
      var context = GetContext();

      var provider = new Csla.Xaml.CslaDataProvider();
      provider.ManageObjectLifetime = true;
      CustomerWithErrorList.GetCustomerWithErrorList((o1, e1) =>
      {
        Csla.ApplicationContext.GlobalContext.Clear();
        var custs = e1.Object;
        int count = custs.Count;
        provider.ObjectInstance = custs;
        provider.RemoveItem(null, new Csla.Xaml.ExecuteEventArgs { MethodParameter = custs[0] });


        provider.DataChanged += (o4, e4) =>
        {
          if (provider.Data != null)
          {
            CustomerWithErrorList savedList = provider.Data as CustomerWithErrorList;
            context.Assert.AreEqual(count, savedList.Count);
            context.Assert.Success();
          }
        };

        provider.PropertyChanged += (o3, e3) =>
          {
            if (e3.PropertyName == "Error")
            {
              provider.Cancel();
            }

          };
        provider.Save();


      });
      var tmp = provider.Data;
      context.Complete();
    }
    public void TestCslaDataProviderCancelShouldBeBusy()
    {
      var context = GetContext();

      var provider = new Csla.Xaml.CslaDataProvider();
      Customer.GetCustomer((o1, e1) =>
      {
        Csla.ApplicationContext.GlobalContext.Clear();
        var cust = e1.Object;
        bool wasBusy = false;
        bool wasNotBusy = false;
        context.Completed += (o5, e5) =>
        {
          context.Assert.IsTrue(wasBusy);
          context.Assert.IsTrue(wasNotBusy);
        };
        provider.ObjectInstance = cust;
        cust.Name = "blah";
        provider.PropertyChanged += (o3, e3) =>
        {
          if (e3.PropertyName == "IsBusy" && provider.IsBusy)
            wasBusy = true;
          if (e3.PropertyName == "IsNotBusy" && provider.IsNotBusy && wasBusy)
            wasNotBusy = true;
        };
        provider.ObjectInstance = cust;
        provider.Cancel();
        context.Assert.Success();

      });
      var tmp = provider.Data;
      context.Complete();
    }
    public void Cancel_reverts_property_values_on_bound_BO_back_to_the_original_values()
    {
      var context = GetContext();

      var provider = new Csla.Xaml.CslaDataProvider();
      Customer.GetCustomer((o1, e1) =>
      {
        var cust = e1.Object;
        int custID = cust.Id;
        string custName = cust.Name;
        provider.ObjectInstance = cust;
        cust.Name = "new test name";
        provider.Cancel();
        context.Assert.AreEqual(custID, ((Customer)provider.Data).Id);
        context.Assert.AreEqual(custName, ((Customer)provider.Data).Name);
        context.Assert.Success();
      });
      var tmp = provider.Data;
      context.Complete();
    }