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); }