Jump to content
Xtreme .Net Talk

Recommended Posts

Posted

I'm need a solution that behaves something like this:

(A) application (outside company)

- this application is the front-end used as user data input (lots of webpages, one for each specific Report)

- this application should use one common Web Service which hosts Crystal Reports and exports them

 

(B) application (my Web Service)

- hosts all Crystal Reports (at first 30, then should be an option to add more)

- primary source for reports is DataSet or Class object (created with XSD.exe on DataSets for each report)

- it exports Crystal Report as RPT file which is then used in application C.

 

© application

- an utility (DLL) I created that is set into client GAC which is used to print reports directly to printer (a very wanted solution I guess. When I tried to find something like that, there was none)

 

Now the problem:

(A) application is an outside solution that has no insight into (B) crystal reports and their datasources, thus I need to serve all Data objects (or DTO) for (A) so they can fill the data, send it to (B) which exports filled report.

 

Here's how I do it (currently):

(B) application

(separate public Class generated by XSD.exe)

 

Namespace nBCInspc

<System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "2.0.50727.42"), _

System.SerializableAttribute(), _

System.Diagnostics.DebuggerStepThroughAttribute(), _

System.ComponentModel.DesignerCategoryAttribute("code"), _

System.Xml.Serialization.XmlTypeAttribute(AnonymousType:=True, [Namespace]:="http://tempuri.org/dsBCI.xsd")> _

Partial Public Class dsBCIB1_1

 

Private cusNameField As String

 

'''<remarks/>

Public Property cusName() As String

Get

Return Me.cusNameField

End Get

Set(ByVal value As String)

Me.cusNameField = value

End Set

End Property

End Class

 

(B) Main class (service)

<WebMethod()> _

<System.Xml.Serialization.XmlInclude(GetType(nBCInspc.dsBCIB1_1))> _

Public Function crSerRPT(ByVal myDTO As Object)

'processes IN parameter from (A) and exports filled RPT

End Function

---------------------------------------------------

(A) application calling (B) service

Dim neS As New nPrint.dsBCIB1_1

neS.cusName = "Best Customer"

 

Dim np As New nPrint.Service

np.Credentials = System.Net.CredentialCache.DefaultNetworkCredentials

 

Dim fname As String

fname = np.crSerRPT(neS)

----------------------------------------------------

 

The main problem is that when I use this part of code neS.cusName = "Best Customer" I cannot fill more than one value. This of course is not good, because I need to fill multiple values (tables in reports etc.).

When they write neS. intellisense gives them all available fields because of this line:

<System.Xml.Serialization.XmlInclude(GetType(nBCInspc.dsBCIB1_1))> _

 

I need to:

- (DONE) provide to (A) full list of parameters for each report so they can fill it and send it

- allow them to fill multiple values

 

Any ideas welcome, I can try to explain better if needed, or even a completely different hint for a solution!

 

Thanks!

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...