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 }); } }
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 }); } }
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; }