private async void GetEmployeeList()
        {
            if (_currentCoObject.Employees.Count > 0)
            {
                return;
            }

            IEmployeeService emp_service = service_factory.CreateClient <IEmployeeService>();

            using (emp_service)
            {
                try
                {
                    Task <List <Employee> > task = emp_service.GetEmployeesAsync((Client.Entities.Company)CurrentCompany);
                    await           task;
                    List <Employee> emp_list = task.Result;

                    if (emp_list.Count > 0)
                    {
                        Company.Employees.Clear();

                        foreach (Employee emp in emp_list)
                        {
                            Company.Employees.Add(new EmployeeWrapper(emp));
                        }
                    }
                    Company.AcceptChanges();
                }
                catch (Exception ex)
                {
                    DisplayErrorMessage(ex);
                    return;
                }
            }
        }
 private void DoSave()
 {
     ExecuteFaultHandledOperation(() =>
     {
         ICompanyService company_service = service_factory.CreateClient <ICompanyService>();
         using (TransactionScope scope = new TransactionScope()) // TransactionScopeAsyncFlowOption.Enabled
         {
             using (company_service)
             {
                 MapPropsToObject();
                 int company_key = company_service.CreateCompany(Company.Model);
                 Company.AcceptChanges();
                 event_aggregator.GetEvent <CompanySavedEvent>().Publish("Company saved sucessfully");
             }
             scope.Complete();
         }
     });
 }