private byte[] GetReportPdf(string reportID, Dictionary <string, string> parameters) { var commands = new List <Command>(); foreach (string parameterName in parameters.Keys) { commands.Add(new Value { Value = parameters[parameterName], ObjectName = "Parameters", FieldName = parameterName }); } commands.Add(new Field { FieldName = "PdfContent", ObjectName = "ReportResults" }); var result = _screen.Submit(reportID, commands.ToArray()); if (result != null && result.Length > 0) { var field = result[0] .Containers.Where(c => c != null && c.Name == "ReportResults").FirstOrDefault() .Fields.Where(f => f != null && f.FieldName == "PdfContent").FirstOrDefault(); return(Convert.FromBase64String(field.Value)); } else { throw new ApplicationException(String.Format(Strings.WebServiceReportReturnValueMissingWarning, reportID)); } }
private void UpdateWeight(string scaleID, decimal weight) { _progress.Report(new MonitorMessage(String.Format(Strings.UpdateScaleWeightNotify, scaleID))); var commands = new Command[] { new Key { ObjectName = "Scale", FieldName = "ScaleID", Value = "=[Scale.ScaleID]" }, new ScreenApi.Action { FieldName = "Cancel", ObjectName = "Scale" }, new Value { Value = scaleID, ObjectName = "Scale", FieldName = "ScaleID", Commit = true }, new Value { Value = weight.ToString(System.Globalization.CultureInfo.InvariantCulture), ObjectName = "Scale", FieldName = "LastWeight" }, new ScreenApi.Action { FieldName = "Save", ObjectName = "Scale" }, }; var result = _screen.Submit(ScaleScreen, commands); _progress.Report(new MonitorMessage(String.Format(Strings.UpdateScaleWeightSuccessNotify, scaleID), MonitorMessage.MonitorStates.Ok)); }