Esempio n. 1
0
        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));
        }