Ejemplo n.º 1
0
        public Arbinada.GenieLamp.Warehouse.Services.CommitResult Commit()
        {
            Arbinada.GenieLamp.Warehouse.Services.CommitResult result = new Arbinada.GenieLamp.Warehouse.Services.CommitResult();

            PersistenceServiceClient ps = new PersistenceServiceClient();

            try
            {
                try
                {
                    UnitOfWorkProxy uow = ps.CreateUnitOfWork();
                    List <UnitOfWorkProxy.WorkItem> workItemsProxy = uow.WorkItems.ToList <UnitOfWorkProxy.WorkItem>();
                    foreach (WorkItem workItem in workItems)
                    {
                        UnitOfWorkProxy.WorkItem workItemProxy = new UnitOfWorkProxy.WorkItem();
                        workItemProxy.Item = workItem.Item.Proxy;
                        switch (workItem.Action)
                        {
                        case Action.Save:
                            workItemProxy.Action = UnitOfWorkProxy.Action.Save;
                            break;

                        case Action.Delete:
                            workItemProxy.Action = UnitOfWorkProxy.Action.Delete;
                            break;
                        }
                        workItemsProxy.Add(workItemProxy);
                    }
                    uow.WorkItems = workItemsProxy.ToArray();
                    result        = ps.Commit(uow);
                }
                finally
                {
                    ps.Close();
                }
            }
            catch (Exception e)
            {
                result.HasError        = true;
                result.Message         = e.Message;
                result.ExceptionString = e.ToString();
            }
            return(result);
        }
        public RemotePersistenceService()
        {
            var address = new Uri(Application.Current.Host.Source, "../PersistenceService/PersistenceService.svc");

            this.serviceClient = new PersistenceServiceClient("BasicHttpBinding_IPersistenceService", address.AbsoluteUri);


            this.serviceClient.CreateAdvertCompleted    += new EventHandler <CreateAdvertCompletedEventArgs>(CreateAdvertCompleted);
            this.serviceClient.GetAdvertCompleted       += new EventHandler <GetAdvertCompletedEventArgs>(GetAdvertCompleted);
            this.serviceClient.GetAdvertsCompleted      += new EventHandler <GetAdvertsCompletedEventArgs>(GetAdvertsCompleted);
            this.serviceClient.GetAdvertStatusCompleted += new EventHandler <GetAdvertStatusCompletedEventArgs>(GetAdvertStatusCompleted);

            this.serviceClient.GetUsersCompleted   += new EventHandler <GetUsersCompletedEventArgs>(GetUsersCompleted);
            this.serviceClient.IsLoggedInCompleted += new EventHandler <IsLoggedInCompletedEventArgs>(IsLoggedInCompleted);
            this.serviceClient.LoginCompleted      += new EventHandler <LoginCompletedEventArgs>(LoginCompleted);
            this.serviceClient.UpdateUserCompleted += new EventHandler <AsyncCompletedEventArgs>(UpdateUserCompleted);

            this.serviceClient.GetWallCompleted  += new EventHandler <GetWallCompletedEventArgs>(GetWallCompleted);
            this.serviceClient.GetWallsCompleted += new EventHandler <GetWallsCompletedEventArgs>(GetWallsCompleted);
        }