Wednesday, 28 November 2012

.Net Business Connector Call a static method with dynamic parameters

Dear All
  Here a sample code for how to call a static method with a dynamic parameters because by default the CallStaticClassMethod allow you to only put max three parameters

so suppose we have a method in Axapta which is take two integer parameters and return the sum of them like this :

static int myMethod(int x,int y)
   Return x+y;

and here below is how to call this method with any number of parameters

            Dim param As Object() = New Object(1) {}
            param(0) = 3
            param(1) = 2       
            Return ax.CallStaticClassMethod("HBUnderQualityMovement", "myMethod", param)

Thanks and Regards
Happy Programming :)

Saturday, 17 November 2012

Convert English numbers into Arabic charchters

This artical is how to convert the English like 123456789 to ١٢٣٤٥٦٧٨٩٩٠

 public string ConvertToEasternArabicNumerals(string input)
            System.Text.UTF8Encoding utf8Encoder = new System.Text.UTF8Encoding();
            System.Text.Decoder utf8Decoder = utf8Encoder.GetDecoder();
            System.Text.StringBuilder convertedChars = new System.Text.StringBuilder();
            char[] convertedChar = new char[1];
            byte[] bytes = new byte[] { 217, 160 };
            char[] inputCharArray = input.ToCharArray();
            foreach (char c in inputCharArray)
                if (char.IsDigit(c))
                    bytes[1] = Convert.ToByte(160 + char.GetNumericValue(c));
                    utf8Decoder.GetChars(bytes, 0, 2, convertedChar, 0);
            return convertedChars.ToString();

Wednesday, 14 November 2012

View SSRS Report and passing parameters into it using report viewer ASP.NET

Dear All
As we like to make every thing is dynamic in this post i will show how to view a SSRS report published in the report server  using ASP.NET and also passing to it a parameters as the code below

        If Page.IsPostBack = False Then


                ReportViewer1.ServerReport.ReportServerCredentials = New ReportCredentials
                ReportViewer1.ShowCredentialPrompts = False
                ReportViewer1.ServerReport.ReportServerCredentials = New ReportCredentials()
                ReportViewer1.ProcessingMode = ProcessingMode.Remote

                Dim sReportName As String = "/budget/Budget_Actual"
                ReportViewer1.ServerReport.ReportServerUrl = New System.Uri("http://sv-ssrs01/Reportserver")
                ReportViewer1.ServerReport.ReportPath = sReportName

                ReportViewer1.ShowParameterPrompts = False

                ReportViewer1.ServerReport.SetParameters(New ReportParameter("BudgetYear", "2010"))
                ReportViewer1.ServerReport.SetParameters(New ReportParameter("BudgetYear2", "2012"))
                ReportViewer1.ServerReport.SetParameters(New ReportParameter("DepartmentID", "IT"))



            Catch ex As Exception

            End Try


Public Class ReportCredentials
    Implements IReportServerCredentials
    Private _Username As String
    Private _Password As String
    Private _Domain As String

    Public Sub New()
        _Username = ConfigurationManager.AppSettings("ReportServerUserName").ToString
        _Password = ConfigurationManager.AppSettings("ReportServerPassword").ToString
        _Domain = ConfigurationManager.AppSettings("DOMAIN").ToString
    End Sub

    Public ReadOnly Property ImpersonationUser() As WindowsIdentity Implements IReportServerCredentials.ImpersonationUser
            Return Nothing
        End Get
    End Property

    Public ReadOnly Property NetworkCredentials() As System.Net.ICredentials Implements IReportServerCredentials.NetworkCredentials
            Return New Net.NetworkCredential(_Username, _Password, _Domain)
        End Get
    End Property

    Public Function GetFormsCredentials(ByRef authCookie As System.Net.Cookie, ByRef userName As String, ByRef password As String, ByRef authority As String) As Boolean Implements IReportServerCredentials.GetFormsCredentials
        userName = _Username
        password = _Password
        authority = _Domain
        Return Nothing
    End Function

End Class