Wednesday, 15 April 2015

Sending emails from database


Configure Data Base Mail in Sql Server

Step 1
Go to All Programs à Microsoft SQL Server 2008R2/2012 à Click on   SQL Server Management Studio (SSMS) 

Step 2
Enter Server name, Login, Password and select Authentication type

Click on Connect button
Step 3
In Object Explorer, Expand the Management and right click on DataBase Mail and click on Configure DataBase  Mail



Step 4
Select the radio button for Set up Database mail by performing the following tasks



Click on Next
Step 5 Specify profile name and Description and click on Add button




After click on the Add button it will open a new window .In the new window click on New Account


Step 6   Specify Account name, Description and attributes for your SMTP account
      1. Separate email id for SQL Server (This is From Email ID)
      2. SMTP server name
      3. Port number
      4. SSL feature should be enable or disable.
In Basic Authentication option enter the same email ID along with the valid password of the email ID.


Click on Ok button
Step 7   Click on Next button
Step 8 Select Default Profile Yes from the drop down box



Click on Next   button
Step 9 Click on Next button
Step 10 Click on Finish button



Click on Close button

Sql Commands


                                                                   Sql server

identity set:
DBCC CHECKIDENT('Admin', RESEED, 0)

check db mails status:
use msdb
select * from sysmail_allitems order by 1 desc

Remove all constraints of a table and then delete the data of table

exec sp_MSforeachtable 'ALTER TABLE ? NOCHECK CONSTRAINT ALL'  
exec sp_MSforeachtable 'ALTER TABLE ? DISABLE TRIGGER ALL'  
exec sp_MSforeachtable 'DELETE FROM ?'  
exec sp_MSforeachtable 'ALTER TABLE ? CHECK CONSTRAINT ALL'  
exec sp_MSforeachtable 'ALTER TABLE ? ENABLE TRIGGER ALL' 
exec sp_MSforeachtable 'IF NOT EXISTS (SELECT *
    FROM SYS.IDENTITY_COLUMNS
    JOIN SYS.TABLES ON SYS.IDENTITY_COLUMNS.Object_ID = SYS.TABLES.Object_ID
    WHERE SYS.TABLES.Object_ID = OBJECT_ID(''?'') AND SYS.IDENTITY_COLUMNS.Last_Value IS NULL)
    AND OBJECTPROPERTY(OBJECT_ID(''?''), ''TableHasIdentity'') = 1
    DBCC CHECKIDENT (''?'', RESEED, 0) WITH NO_INFOMSGS'


Cursor Declaration

DECLARE @MyCursor CURSOR
SET @MyCursor = CURSOR FAST_FORWARD
FOR
SELECT UserID,EmailID
FROM   UserInfo where isnull(EmailID,'')!=''
OPEN @MyCursor
FETCH NEXT FROM @MyCursor
INTO @UserId,@Toemail
WHILE @@FETCH_STATUS = 0
BEGIN
select @EmailNotif=EmailNotifiaction from NotificationSettings where UserID=@UserId and NotificationTypeID=3
if(@EmailNotif=1)
begin
EXEC msdb.dbo.sp_send_dbmail
 @recipients =@Toemail , 
 @profile_name ='KaiserAdmin',
 @subject ='Bulletin Board', 
 @body = @tableHTML,
 @body_format = 'HTML';
end
 
FETCH NEXT FROM @MyCursor
INTO @UserId,@Toemail
END
CLOSE @MyCursor
DEALLOCATE @MyCursor


Tuesday, 16 October 2012

Generating PDF in Hindi

Generating PDF in Hindi using ITextSharp in asp.net

    First we have to download ItextSharp.dll and Fonts (hindi-devanagari-fonts.rar) from Internet, then install it in our system (select all fonts in that downloaded folder,right click on it, in that there is an option "install" ). Then write the code in .cs page

In .aspx:
 <asp:Button ID="btnpdf" runat="server" Text="GeneratePdf" OnClick="btnpdf_Click" />
In .cs page:

using iTextSharp.text;
using iTextSharp.text.html.simpleparser;
using iTextSharp.text.pdf;
using System.IO;
protected void btnpdf_Click(object sender, EventArgs e)
    {
System.IO.StringWriter stringWrite = new System.IO.StringWriter();
        string fileName = " EmployeeTranferReport.pdf";
        Response.AppendHeader("Content-Type", "application/pdf");
        Response.AppendHeader("Content-disposition", "attachment; filename=" + fileName);
        Response.Cache.SetCacheability(HttpCacheability.NoCache);

        stringWrite.WriteLine("<html><body encoding=" + BaseFont.IDENTITY_H + " style='font-family:Arial Unicode MS;font-size:12;'> <table style='width:100%'><tr><td align='center'><b>अगरतला नगरपालिका परिषद</b></td></tr><tr><td align='center'>अगरतला</td></tr></table> </body></html>");

        HtmlTextWriter hw = new HtmlTextWriter(stringWrite);
        StringReader sr = new StringReader(stringWrite.ToString());
        Document pdfDoc = new Document(PageSize.A4, 20f, 10f, 10f, 0f);
        HTMLWorker htmlparser = new HTMLWorker(pdfDoc);
        PdfWriter wi = PdfWriter.GetInstance(pdfDoc, Response.OutputStream);
        pdfDoc.Open();

        string fontpath = Environment.GetFolderPath(Environment.SpecialFolder.Fonts) + "\\ARIALUNI.TTF";        //  "ARIALUNI.TTF" file copied from fonts folder and placed in the folder

        BaseFont bf = BaseFont.CreateFont(fontpath, BaseFont.IDENTITY_H, BaseFont.EMBEDDED);
        FontFactory.RegisterDirectory(Environment.GetFolderPath(Environment.SpecialFolder.Fonts), true);
        FontFactory.Register(fontpath, "Arial Unicode MS");
        FontFactory.RegisterFamily("Arial Unicode MS", "Arial Unicode MS", fontpath);     
        htmlparser.Parse(sr);    
        pdfDoc.Close();
        Response.Write(pdfDoc);
        Response.End();
}

Tuesday, 25 September 2012

JavaScript

For Generating Digital Clock


 CSS:

<style type="text/css">
#wallClock {
    width:200px;
    text-align:center;
    padding:30px;
    border:7px double #CC0000;
    background-color:#000066;
}
#fullDate {
    display:block;
    font-family:Courier,monospace;
    font-weight:bold;
    font-size:16pt;
    color:#FFFF00;
}
#bigTime {
    display:block;
    font-family:Arial,Helvetica,sans-serif;
    font-weight:bold;
    font-size:56pt;
    color:#FFFFFF;
    line-height:100%;
}

#dayName {
    display:inline;
    font-family:Courier,monospace;
    font-weight:bold;
    font-size:16pt;
    color:#FFFF00;
}
#seconds {
    display:inline;
    font-family:Courier,monospace;
    font-weight:bold;
    font-size:16pt;
    color:#FFFFFF;
}
</style>

Script:

<script type="text/javascript">
var clockTimerID = null;
var monNames = new Array ('',
        'Jan','Feb','Mar',
        'Apr','May','Jun',
        'Jul','Aug','Sep',
        'Oct','Nov','Dec');
var dayNames = new Array ('',
        'Sunday','Monday',
        'Tuesday','Wednesday',
        'Thursday','Friday',
        'Saturday' );

function startClock () {

    if ( clockTimerID != null ) {
        clearTimeout ( clockTimerID );
    }

    update_clock_display ();
}

function update_clock_display () {

    // GET THE CURRENT SYSTEM DATE/TIME INFORMATION
    var dateNow = new Date ();

    // SPLIT THE DATE INTO VARIOUS DATE/TIME COMPONENTS
    var hour = dateNow.getHours ();
    var mins = dateNow.getMinutes ();
    var secs = dateNow.getSeconds ();
    var date = dateNow.getDate ();
    var daynum = dateNow.getDay () + 1;
    var monnum = dateNow.getMonth () + 1;
    var year = dateNow.getYear ();

    // SECONDARY CALCULATION FOR CLOCK DIGITS, ETC.
    var hour1 = Math.floor ( hour / 10 );
    var hour2 = hour % 10;
    var mins1 = Math.floor ( mins / 10 );
    var mins2 = mins % 10;
    var secs1 = Math.floor ( secs / 10 );
    var secs2 = secs % 10;
    var date1 = Math.floor (date / 10);
    var date2 = date % 10;
    if ( year < 200 ) {
        year += 1900;
    }

    // NOW START THE ROUTINES TO UPDATE THE CLOCK
    updateDate('fullDate',monNames,date1,date2,monnum,year);
    updateTime('bigTime',hour1,hour2,mins1,mins2);
    updateDayName('dayName',dayNames,daynum);
    updateSeconds('seconds',secs1,secs2);

    // THIS LINE RECURSIVELY CALLS IT'S OWN ROUTINE EVERY SECOND
    clockTimerID = setTimeout ("update_clock_display ()" ,1000)
}

var prevDate = "";
function updateDate(objId,monNames,date1,date2,monnum,year) {

    var htmstr = date1 + '' + date2 + '-' + monNames[monnum] + '-' + year;
    if (htmstr != prevDate) {
        squirtHTML(objId,htmstr);
    }
    prevDate = htmstr;
}

var prevTime = "";
function updateTime(objId,hour1,hour2,mins1,mins2) {

    var htmstr = hour1 + '' + hour2 + ':' + mins1 + '' + mins2;
    if (htmstr != prevTime) {
        squirtHTML(objId,htmstr);
    }
    prevTime = htmstr;
}

var prevDayName = "";
function updateDayName(objId,dayNames,dayNum) {

    var htmstr = dayNames[dayNum] + '  ';
    if (htmstr != prevDayName) {
        squirtHTML(objId,htmstr);
    }
    prevDayName = htmstr;
}

var prevSeconds = "";
function updateSeconds(objId,secs1,secs2) {

    var htmstr = secs1 + '' + secs2;
    if (htmstr != prevSeconds) {
        squirtHTML(objId,htmstr);
    }
    prevSeconds = htmstr;
}

function convertObj(objStr) {

    var objID = null;

    if (document.getElementById) {
        objID = document.getElementById(objStr);
    } else if (document.all) {
        objID = eval("document." + objStr);
    } else if (document.layers) {
        objID = eval("document.layers." + objStr);
    }

    return(objID);
}

function squirtHTML(objStr,htmstr) {

    var objID = convertObj(objStr);
    objID.innerHTML = htmstr;
}
</script>

HTML:

 <div id="wallClock">
<div id="fullDate"></div>
<div id="bigTime"></div>
<div id="dayName"></div>
<div id="seconds"></div>

Place Before end of the body tag.
   <script type="text/javascript">startClock()</script>