Advertisement
Guest User

Untitled

a guest
Jul 4th, 2019
79
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
VB.NET 7.67 KB | None | 0 0
  1. Imports System.Data.SqlClient
  2. Imports System.Text
  3. Module ModuleMain
  4.     Private sqlCon As SqlConnection
  5.     Sub Main()
  6.         '02.01, 01.04, 01.07 и 01.10 sendFile
  7.         Dim day As Integer = DateTime.Today.Day
  8.         Dim month As Integer = DateTime.Today.Month
  9.  
  10.         Dim xml = XDocument.Load("Config.xml")
  11.         Dim date1 As String = xml.<config>.<Dates>.<date1>.Value
  12.         Dim strArraydate1() As String
  13.         strArraydate1 = Split(date1, ".")
  14.         Dim day1 As String = Convert.ToInt32(strArraydate1(0))
  15.         Dim month1 As Integer = Convert.ToInt32(strArraydate1(1))
  16.  
  17.         Dim date2 As String = xml.<config>.<Dates>.<date2>.Value
  18.         Dim strArraydate2() As String
  19.         strArraydate2 = Split(date2, ".")
  20.         Dim day2 As String = Convert.ToInt32(strArraydate2(0))
  21.         Dim month2 As Integer = Convert.ToInt32(strArraydate2(1))
  22.  
  23.         Dim date3 As String = xml.<config>.<Dates>.<date3>.Value
  24.         Dim strArraydate3() As String
  25.         strArraydate3 = Split(date3, ".")
  26.         Dim day3 As String = Convert.ToInt32(strArraydate3(0))
  27.         Dim month3 As Integer = Convert.ToInt32(strArraydate3(1))
  28.  
  29.         Dim date4 As String = xml.<config>.<Dates>.<date4>.Value
  30.         Dim strArraydate4() As String
  31.         strArraydate4 = Split(date4, ".")
  32.         Dim day4 As String = Convert.ToInt32(strArraydate4(0))
  33.         Dim month4 As Integer = Convert.ToInt32(strArraydate4(1))
  34.  
  35.         If (day = day1 And month = month1) Or (day = day2 And month = month2) Or (day = day3 And month = month3) Or (day = day4 And month = month4) Then
  36.             Console.WriteLine(String.Format("Sending= {0}.{1}.{2}", day.ToString, month.ToString, DateTime.Today.Year.ToString()))
  37.             SendExcelFile()
  38.         Else
  39.             Console.WriteLine(String.Format("Not sent -  Dates for send: " + date1 + ", " + date2 + ", " + date3 + " and " + date4 + " "))
  40.         End If
  41.     End Sub
  42.     Sub SendExcelFile()
  43.         If My.Computer.FileSystem.FileExists("Config.xml") Then
  44.             Dim xml = XDocument.Load("Config.xml")
  45.             Dim strConn As String = xml.<config>.<dbconfig>.<dbpath>.Value
  46.             sqlCon = New SqlConnection(strConn)
  47.  
  48.             Using (sqlCon)
  49.  
  50.                 Dim sqlComm As New SqlCommand
  51.  
  52.                 sqlComm.Connection = sqlCon
  53.  
  54.                 sqlComm.CommandText = "proc_SearchProcedure"
  55.                 sqlComm.CommandType = CommandType.StoredProcedure
  56.  
  57.                 sqlComm.Parameters.AddWithValue("idProc", "")
  58.                 sqlComm.Parameters.AddWithValue("nameProc", "")
  59.                 sqlComm.Parameters.AddWithValue("nameProcEng", "")
  60.                 sqlComm.Parameters.AddWithValue("english", "0")
  61.                 sqlComm.Parameters.AddWithValue("noDecision", "")
  62.                 sqlComm.Parameters.AddWithValue("dateActivationStart", "")
  63.                 sqlComm.Parameters.AddWithValue("dateActivationEnd", "")
  64.                 sqlComm.Parameters.AddWithValue("dateReviseStart", "")
  65.                 sqlComm.Parameters.AddWithValue("dateReviseEnd", "")
  66.                 sqlComm.Parameters.AddWithValue("responsibleSector", "0")
  67.                 sqlComm.Parameters.AddWithValue("tbSectorProcedureidSector", "0")
  68.                 sqlComm.Parameters.AddWithValue("tbProceduresidStatus", "0")
  69.                 sqlComm.Parameters.AddWithValue("tbProceduresidType", "0")
  70.                 sqlComm.Parameters.AddWithValue("tbProceduresidConf", "0")
  71.                 sqlComm.Parameters.AddWithValue("reportNotModified", "True")
  72.                 sqlComm.Parameters.AddWithValue("involvedSector", "0")
  73.  
  74.                 sqlCon.Open()
  75.  
  76.                 sqlComm.ExecuteNonQuery()
  77.  
  78.                 Dim ds As DataSet = Nothing
  79.                 Dim da As SqlDataAdapter = Nothing
  80.                 da = New SqlDataAdapter
  81.                 da.SelectCommand = DirectCast(sqlComm, SqlCommand)
  82.                 ds = New DataSet
  83.                 da.Fill(ds)
  84.  
  85.                 Dim tab As String = vbTab
  86.  
  87.                 Dim sb As New StringBuilder()
  88.  
  89.                 sb.AppendLine("<html>")
  90.                 sb.AppendLine("<meta http-equiv=""Content-Language"" content=""mk""> ")
  91.                 sb.AppendLine("<meta http-equiv=""Content-Type"" content=""text/html; charset=UTF-8""> ")
  92.                 sb.AppendLine(tab & "<body>")
  93.                 sb.AppendLine(tab & tab & "<table rules=""all"" border=""1"">")
  94.  
  95.                 Dim listSkip As New List(Of Integer)
  96.                 Dim noSkipColumn As Integer = 0
  97.                 ' headers.
  98.                 sb.Append(tab & tab & tab & "<tr>")
  99.  
  100.                 For Each dc As DataColumn In ds.Tables(0).Columns
  101.                     Dim headerColumn As String = dc.ColumnName
  102.                     Select Case dc.ColumnName
  103.                         Case "idProc"
  104.                             headerColumn = "ИД"
  105.                         Case "name"
  106.                             headerColumn = "Име"
  107.                         Case "nameEng"
  108.                             headerColumn = "Име анг."
  109.                         Case "noDecision"
  110.                             headerColumn = "Бр. одлука"
  111.                         Case "dateActivation"
  112.                             headerColumn = "Датум на одобрување"
  113.                         Case "dateRevise"
  114.                             headerColumn = "Ревидирано на"
  115.                         Case "responsibleSector"
  116.                             headerColumn = "Надлежен сектор"
  117.                         Case "statusName"
  118.                             headerColumn = "Статус"
  119.                         Case "nameConf"
  120.                             headerColumn = "Право на пристап"
  121.                         Case "changeRequestFrom"
  122.                             headerColumn = "Изменето од"
  123.                         Case "revisedRequestFrom"
  124.                             headerColumn = "Ревидирано од"
  125.                         Case "notes"
  126.                             headerColumn = "Забелешки"
  127.                         Case Else
  128.                             listSkip.Add(noSkipColumn)
  129.                     End Select
  130.                     If Not listSkip.Contains(noSkipColumn) Then
  131.                         sb.AppendFormat("<th scope=""col"">{0}</th>", headerColumn)
  132.                     End If
  133.  
  134.                     noSkipColumn = noSkipColumn + 1
  135.                 Next
  136.  
  137.                 sb.AppendLine("</tr>")
  138.  
  139.                 ' data rows
  140.                 For Each dr As DataRow In ds.Tables(0).Rows
  141.                     sb.Append(tab & tab & tab & "<tr>")
  142.                     noSkipColumn = 0
  143.                     For Each dc As DataColumn In ds.Tables(0).Columns
  144.                         If Not listSkip.Contains(noSkipColumn) Then
  145.                             Dim cellValue As String = If(dr(dc) IsNot Nothing, dr(dc).ToString(), "")
  146.                             sb.AppendFormat("<td>{0}</td>", cellValue)
  147.                         End If
  148.                         noSkipColumn = noSkipColumn + 1
  149.                     Next
  150.  
  151.                     sb.AppendLine("</tr>")
  152.                 Next
  153.  
  154.                 sb.AppendLine(tab & tab & "</table>")
  155.                 sb.AppendLine(tab & "</body>")
  156.                 sb.AppendLine("</html>")
  157.  
  158.                 Dim path As String = xml.<config>.<FolderPath>.<path>.Value
  159.  
  160.                 Dim renderedDataSet As String = sb.ToString()
  161.                 System.IO.File.WriteAllText(path + "SBProcedures_" + DateTime.Today.ToString("dd_MM_yyyy") + ".xls", renderedDataSet)
  162.                 MailNotification.SendMailNotification()
  163.                 Console.WriteLine(String.Format("Sending completed"))
  164.             End Using
  165.         End If
  166.     End Sub
  167.  
  168. End Module
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement