public async Task <ActionResult <IEnumerable <string> > > GetData([FromBody] GetDataRequest request)
        {
            if (_magoAPI.Client == null)
            {
                return(new ContentResult {
                    StatusCode = 500,
                    Content = "Error on GetData: not logged in"
                });
            }
            try
            {
                string xmlParams = request.xmlParams;

                ITbServerMagicLinkResult tbResult = await _magoAPI.Client.TbServer?.GetXmlData(request.userData, request.xmlParams, DateTime.Now);

                if (!tbResult.Success)
                {
                    return(new ContentResult {
                        StatusCode = 500,
                        Content = $"Error in GetData\r\n{tbResult.ReturnValue}"
                    });
                }
                if (tbResult.Xmls.Count == 0)
                {
                    return(new ContentResult {
                        StatusCode = 500,
                        Content = "No data extracted"
                    });
                }

                // just 1 result can be an error or warning message
                if (tbResult.Xmls.Count == 1)
                {
                    var strMessages = extractXMLMessages(tbResult.Xmls[0], out bool hasErrors);
                    if (hasErrors)
                    {
                        return(new ContentResult {
                            StatusCode = 500,
                            Content = $"Request failed:\r\n{strMessages}"
                        });
                    }
                    else if (strMessages != string.Empty)
                    {
                        return(new ContentResult {
                            StatusCode = 500,
                            Content = $"Request completed with warnings:\r\n{strMessages}"
                        });
                    }
                }

                return(tbResult.Xmls);
            }
            catch (System.Exception e)
            {
                return(new ContentResult {
                    StatusCode = 500,
                    Content = e.Message
                });
            }
        }
示例#2
0
        private async void btnPost_Click(object sender, EventArgs e)
        {
            if (userData == null)
            {
                MessageBox.Show("not yet connected");
                return;
            }

            Cursor.Current = Cursors.WaitCursor;

            string xmlData = $@"<?xml version='1.0'?>
                <maxs:Contacts xmlns:maxs='http://www.microarea.it/Schema/2004/Smart/ERP/Contacts/Contacts/{cbxProfileType.Text}/{tbxProfileName.Text}.xsd' tbNamespace = 'Document.ERP.Contacts.Documents.Contacts' xTechProfile = '{tbxProfileName.Text}' >
                    <maxs:Data>
                        <maxs:Contacts master='true'>
                            <maxs:CompanyName>{txtCompanyName.Text}</maxs:CompanyName>
                            <maxs:Address>{txtAddress.Text}</maxs:Address>
                            <maxs:Telephone1>{txtPhone.Text}</maxs:Telephone1>
                            <maxs:ContactPerson>{txtContactName.Text}</maxs:ContactPerson>
                        </maxs:Contacts>
                    </maxs:Data>
                </maxs:Contacts> ";

            ITbServerMagicLinkResult tbResult = await magocloudClient.TbServer?.SetXmlData(userData, xmlData, 0, DateTime.Now);

            if (!tbResult.Success)
            {
                tbxMessages.Text = "Error in SetData\r\n" + tbResult.ReturnValue;
                Cursor.Current   = Cursors.Default;

                return;
            }

            if (tbResult.Xmls.Count == 0)
            {
                tbxMessages.Text = "No postback received";
                Cursor.Current   = Cursors.Default;

                return;
            }

            var strMessages = extractXMLMessages(tbResult.Xmls[0], out bool hasErrors);

            if (hasErrors)
            {
                tbxMessages.Text = "Request failed:\r\n" + strMessages;
                Cursor.Current   = Cursors.Default;

                return;
            }
            else if (strMessages != string.Empty)
            {
                tbxMessages.Text = "Request completed with warnings:\r\n" + strMessages;
            }

            tbxResponse.Text += tbResult.Xmls[0];

            Cursor.Current = Cursors.Default;
        }
        public async Task <ActionResult <SetDataResponse> > SetData([FromBody] SetDataRequest request)
        {
            if (_magoAPI.Client == null)
            {
                return(new ContentResult {
                    StatusCode = 500,
                    Content = "Error on SetData: not logged in"
                });
            }
            try
            {
                ITbServerMagicLinkResult tbResult = await _magoAPI.Client.TbServer?.SetXmlData(request.userData, request.xmlData, 0, DateTime.Now);

                if (!tbResult.Success)
                {
                    return(new ContentResult {
                        StatusCode = 500,
                        Content = $"Error in SetData\r\n{tbResult.ReturnValue}"
                    });
                }
                if (tbResult.Xmls.Count == 0)
                {
                    return(new ContentResult {
                        StatusCode = 500,
                        Content = "No postback received"
                    });
                }

                var strMessages = extractXMLMessages(tbResult.Xmls[0], out bool hasErrors);
                if (hasErrors)
                {
                    return(new ContentResult {
                        StatusCode = 500,
                        Content = $"Request failed:\r\n{strMessages}"
                    });
                }

                return(new SetDataResponse {
                    xmlData = tbResult.Xmls[0],
                    warnings = strMessages
                });
            }
            catch (System.Exception e)
            {
                return(new ContentResult {
                    StatusCode = 500,
                    Content = e.Message
                });
            }
        }
示例#4
0
        private async void btnGetContacts_Click(object sender, EventArgs e)
        {
            if (userData == null)
            {
                MessageBox.Show("not yet connected");
                return;
            }
            Cursor.Current = Cursors.WaitCursor;

            var xmlParam =
                $@"<?xml version='1.0' encoding='utf-8'?>
                    <maxs:Contacts tbNamespace='Document.ERP.Contacts.Documents.Contacts' xTechProfile='{tbxProfileName.Text}' xmlns:maxs='http://www.microarea.it/Schema/2004/Smart/ERP/Contacts/Contacts/{cbxProfileType.Text}/{tbxProfileName.Text}.xsd'>
                        <maxs:Parameters>
                        </maxs:Parameters>
                    </maxs:Contacts>";
            //<maxs:DefaultDialog title='Fields search'>
            //  <maxs:DefaultGroup title='Search group'>
            //    <maxs:Contact type='String'>9999</maxs:Contact>
            //  </maxs:DefaultGroup>
            //</maxs:DefaultDialog>

            ITbServerMagicLinkResult tbResult = await magocloudClient.TbServer?.GetXmlData(userData, xmlParam, DateTime.Now);

            if (!tbResult.Success)
            {
                tbxMessages.Text = "Error in GetData\r\n" + tbResult.ReturnValue;
                Cursor.Current   = Cursors.Default;

                return;
            }

            if (tbResult.Xmls.Count == 0)
            {
                tbxMessages.Text = "No data extracted";
                Cursor.Current   = Cursors.Default;

                return;
            }

            // just 1 result can be an error or warning message
            if (tbResult.Xmls.Count == 1)
            {
                var strMessages = extractXMLMessages(tbResult.Xmls[0], out bool hasErrors);
                if (hasErrors)
                {
                    tbxMessages.Text = "Request failed:\r\n" + strMessages;
                    Cursor.Current   = Cursors.Default;

                    return;
                }
                else if (strMessages != string.Empty)
                {
                    tbxMessages.Text = "Request completed with warnings:\r\n" + strMessages;
                }
            }

            foreach (string xmlContent in tbResult.Xmls)
            {
                tbxData.Text += "\n" + xmlContent;
            }

            Cursor.Current = Cursors.Default;
        }