private PublishResult PublishWithoutPreUpload(MapInfo mapInfo) { var service = new DOMAService(); service.Url = WebServiceUrl; var request = new PublishMapRequest { Username = Username, Password = Password, MapInfo = TranslateMapInfo(mapInfo), }; try { request.MapInfo.BlankMapImageData = null; // this version of the webservice has not support for blank map images var response = service.PublishMap(request); return(new PublishResult { Success = response.Success, ErrorMessage = response.ErrorMessage, URL = response.URL }); } catch (Exception ex) { return(new PublishResult { Success = false, ErrorMessage = ex.Message }); } }
private void PublishMap(TransferMap transferMap, MapInfo mapInfo) { try { var doma = CreateDomaClient(); mapInfo.MapImageFileExtension = transferMap.FileExtension; mapInfo.MapImageData = transferMap.MapImage; transferMap.TransferStatus = "Publishing..."; var publishMapRequest = new PublishMapRequest { MapInfo = mapInfo, Username = Username, Password = Password }; var publishMapTask = Task<PublishMapResponse>.Factory.FromAsync(doma.BeginPublishMap, doma.EndPublishMap, publishMapRequest, null); publishMapTask.Wait(); if (publishMapTask.Status == TaskStatus.Faulted) { _transferExceptions.Add(publishMapTask.Exception); transferMap.TransferStatus = publishMapTask.Exception != null ? publishMapTask.Exception.Message : "Failed"; return; } var response = publishMapTask.Result; if (response.Success) { transferMap.TransferStatus = "Complete"; transferMap.ExistsOnTarget = true; } else { transferMap.TransferStatus = response.ErrorMessage; } } catch (AggregateException ae) { var innerExceptions = ae.Flatten().InnerExceptions; foreach (var innerException in innerExceptions) { _transferExceptions.Add(innerException); } transferMap.TransferStatus = "Publishing failed badly: " + string.Join(", ", innerExceptions.Select(x => x.Message)); } catch (Exception e) { _transferExceptions.Add(e); transferMap.TransferStatus = "Publishing failed badly: " + e.Message; } }