private void FillUploadRequestsForRecord(UPCRMRecord record) { this.uploadDocumentRequests = new List <UPOfflineUploadDocumentRequest>(); foreach (UPPageModelController modelController in this.PageModelControllers) { if (modelController is EditPageModelController) { ObjectivesEditPageModelController editModelController = (ObjectivesEditPageModelController)modelController; UPMObjectivesPage editPage = (UPMObjectivesPage)editModelController.Page; foreach (UPMGroup editGroup in editPage.Groups) { foreach (UPMObjective objective in editGroup.Children) { foreach (UPMEditField editField in objective.Fields) { if (editField is UPMImageEditField && editField.Changed) { UPMImageEditField imageEditField = (UPMImageEditField)editField; UPEditFieldContext fieldContext = editModelController.FieldContextForEditField(imageEditField); //this.uploadDocumentRequest = new UPOfflineUploadDocumentRequest(UIImageJPEGRepresentation(imageEditField.Image, 1.0), -1, "photo.jpg", "image/jpeg", record.RecordIdentification, fieldContext.FieldId, "true"); // CRM-5007 this.uploadDocumentRequests.Add(this.uploadDocumentRequest); } } } } } } }
/// <summary> /// Creates Image Field /// </summary> /// <param name="fieldAttributes"> /// Field Configuration Attributes /// </param> /// <returns> /// Image <see cref="UPMEditField"/>. /// </returns> private UPMImageEditField CreateImageField(FieldAttributes fieldAttributes) { var imageEditField = new UPMImageEditField(FieldIdentifier); var attribute = fieldAttributes.AttributForId((int)FieldAttr.Image); var previewWidth = attribute.ValueOptionsForKey(KeyPreviewWidth); var previewHeight = attribute.ValueOptionsForKey(KeyPreviewHeight); imageEditField.ImageDocumentMaxSize = new Size(176, 176); if (previewWidth != null && previewHeight != null) { var width = JObjectExtensions.ToInt(previewWidth); var height = JObjectExtensions.ToInt(previewHeight); imageEditField.ImageDocumentMaxSize = new Size(width, height); } var explicitFileName = attribute.ValueOptionsForKey(KeyFileNamePattern) as string; if (explicitFileName != null) { imageEditField.ExplicitFileName = explicitFileName; } var documentKey = Value; if (!string.IsNullOrWhiteSpace(documentKey)) { var documentManager = new DocumentManager(); var documentData = documentManager.DocumentForKey(documentKey); imageEditField.ImageDocument = new UPMDocument( FieldIdentifier, null, null, null, null, documentData?.Url ?? ServerSession.CurrentSession.DocumentRequestUrlForDocumentKey(documentKey), documentData?.Title, null, null, documentData?.UrlForD1RecordId()); } return(imageEditField); }