Wednesday 13 November 2013

EXPORT DATA IN EXCEL SHEET USING ASP.NET C#

  public static void ExportToExcel(DataTable dt, string fileName)
    {
        if (dt != null)
        {
            HttpContext cont = HttpContext.Current;
            cont.Response.Clear();

            string header = "attachment; filename=" + fileName + ".xls";
            cont.Response.AppendHeader("content-disposition", header);
            cont.Response.ContentType = "application/vnd.ms-excel";

            StringBuilder sb = new StringBuilder();

            // Render out an HTML table to pass into Excel
            sb.Append("<table cellpadding=2 cellspacing=2>");

            // Get all column names
            sb.Append("<tr>");

            foreach (DataColumn dc in dt.Columns)
            {
                sb.Append("<td>");

                sb.Append("<b>" + dc.ColumnName.Replace("_", " ") + "</b>");

                sb.Append("</td>");
            }

            sb.Append("</tr>");

            // Handle table rows and cells
            for (int i = 0; i < dt.Rows.Count; i++)
            {
                sb.Append("<tr>");

                foreach (DataColumn dc in dt.Columns)
                {
                    sb.Append("<td>");

                    sb.Append(dt.Rows[i][dc].ToString());

                    sb.Append("</td>");
                }

                sb.Append("</tr>");
            }

            // Close the table tag
            sb.Append("</table>");

            dt.Dispose();

            // Pass the table HTML string into the response output stream to be passed to Excel
            cont.Response.Write(sb.ToString());
            cont.Response.End();
            cont.Response.Clear();
        }
        else
        {
            throw new Exception("The data table cannot be null.");
        }
    }



U CAN CALL THIS METHOD LIKE BELOW IN PAGE LOAD

 ExportToExcel( dt,filename  );

Sample Project for downloading Files in ZIP Format

for .cs file we use this below code
----------------------------------

  protected void Page_Load(object sender, EventArgs e)
    {
        if (!IsPostBack)
        {
            // Calling the function of Grid View Bind
            BindGridview();
        }

    }
    protected void BindGridview()
    {
        // Creation of String arrary to store path
        string[] getfilesPath = Directory.GetFiles(Server.MapPath("~/FilesUploaded/"));
        // Adding files to list
        List<ListItem> files = new List<ListItem>();
        foreach (string path in getfilesPath)
        {
            //Adding files to the list item
            files.Add(new ListItem(Path.GetFileName(path)));
        }
        xfiles.DataSource = files;
        xfiles.DataBind();
    }


    protected void btnUpload_Click(object sender, EventArgs e)
    {
        // Uploading the Files to the folder
        if (xfuupload.HasFile)
        {
            string filename = Path.GetFileName(xfuupload.PostedFile.FileName);
            xfuupload.SaveAs(Server.MapPath("FilesUploaded/") + filename);
            xlit.Text = "File Uploaded Successfully";
            BindGridview();
        }
    }
    protected void btnDownload_Click(object sender, EventArgs e)
    {
        // Creating an Object of ZipFile Class in Iconic.Zip dll
        ZipFile creatingzip = new ZipFile();
        //Finding the Checkbox Control and checking which of the files are selected using the check box
        foreach (GridViewRow gvrow in xfiles.Rows)
        {
            CheckBox chk = (CheckBox)gvrow.FindControl("chkselectfordownload");
            if (chk.Checked)
            {
                string fileName = gvrow.Cells[1].Text;
                string filePath = Server.MapPath("~/FilesUploaded/" + fileName);
                // Adding the file to Zip Archieve
                creatingzip.AddFile(filePath, "files");
            }
        }
        Response.Clear();
        Response.AddHeader("Content-Disposition", "attachment; filename=Downloads.zip");
        // Setting the content type to ZIP
        Response.ContentType = "application/zip";
        creatingzip.Save(Response.OutputStream);
        Response.End();
    }


for designing page
------------------
<form id="form1" runat="server">
     Sample Project for downloading Files in ZIP Format<p>
        <asp:FileUpload ID="xfuupload" runat="server" /> <br /><br />
        <asp:Button ID="btnUpload" runat="server" Text="Upload"
            onclick="btnUpload_Click" />
    </p>
    <p>
        <asp:Literal ID="xlit" runat="server"></asp:Literal>
    </p>

    <div>
     <asp:GridView ID="xfiles" runat="server" AutoGenerateColumns="False">
            <Columns>
                <asp:TemplateField HeaderText="Select Files">
                    <ItemTemplate>
                        <asp:CheckBox ID="chkselectfordownload" runat="server" />
                    </ItemTemplate>
                </asp:TemplateField>
                <asp:BoundField DataField="Text" HeaderText="Files" />
            </Columns>
        </asp:GridView>
        <br />
        <br />
        <asp:Button ID="btnDownload" runat="server" Text="Download Selected Files"
            onclick="btnDownload_Click" />

    </div>
    </form>



output like this





SEND EMAILS FROM YOUR APPLICATIONS

 SEND EMAIL FROM YOUR APPLICATION

protected void BtnSave_Click(object sender, EventArgs e)
    {
        string attachment = string.Empty;
        string emailList = string.Empty;
           
        foreach (GridViewRow curRow in GdvEmail.Rows)
        {
            CheckBox chkSelect = (CheckBox)curRow.FindControl("chkRow");
            if (chkSelect.Checked)
            {
                if (emailList != "")
                {
                    emailList = emailList + ";" + curRow.Cells[1].Text;
                }
                else
                {
                    emailList = curRow.Cells[1].Text;
                }
            }
        }
        if (emailList != "")
        {
            SmtpClient smtp = new SmtpClient();
            smtp.Credentials = new NetworkCredential("rajendar1210@gmail.com", "01234@56789");
            smtp.Port = 587;
            smtp.Host = "smtp.gmail.com";
            smtp.EnableSsl = true;
            MailMessage message = new MailMessage();
            message.From = new MailAddress("rajendar1210@gmail.com");
            if (emailList.Contains(";"))
            {
                string[] _EmailsTO = emailList.Split(";".ToCharArray());
                for (int i = 0; i < _EmailsTO.Length; i++)
                {
                    message.To.Add(new MailAddress(_EmailsTO[i]));
                }
            }
            else
            {
                if (!emailList.Equals(string.Empty))
                {
                    message.To.Add(new MailAddress(emailList));
                }
            }
            if (FileUploadEmail.PostedFile != null)
            {

                HttpPostedFile attFile = FileUploadEmail.PostedFile;

                int attachFileLength = attFile.ContentLength;

                if (attachFileLength > 0)
                {

                    string FileNameToAttache = Path.GetFileName(FileUploadEmail.PostedFile.FileName);
                    FileNameToAttache = "attachments/" + FileNameToAttache;
                    FileUploadEmail.PostedFile.SaveAs(Server.MapPath(FileNameToAttache));

                    message.Attachments.Add(new Attachment(Server.MapPath(FileNameToAttache)));
                    attachment = FileNameToAttache;

                }

            }
            message.Subject = txtSubject.Text.Trim();
            message.Body = TxtMessage.Text.Trim();
            smtp.Timeout = 9999999;
            smtp.Send(message);
            if (File.Exists(attachment))
            {

                if (IsFolderReadOnly(attachment))
                {
                    System.IO.DirectoryInfo oDir = new System.IO.DirectoryInfo(attachment);
                    oDir.Attributes = oDir.Attributes & ~System.IO.FileAttributes.ReadOnly;
                }

                File.Delete(attachment);//Error is thrown from here

            }
            attachment = null;

            Page.RegisterStartupScript("Sathyam Computer Education", "<script>alert('Mail sent thank you...');if(alert){ window.location='EmailNotification.aspx';}</script>");
        }
        else
        {
            ScriptManager.RegisterStartupScript(this, GetType(), "ShowAlert", "alert(' Select the email in the grid ')", true);
        }
    }

Tuesday 22 October 2013

how to join multiple tables with left join using postgresql querry

select K.*,L.* from
(select I.*,J. columnname,J.columnnamefrom
(SELECT G.*,H.columnname,H.columnnameFROM
(SELECT E.*,F.columnname,F.columnnameFROM
(select c.*,d.columnname,D.columnnamefrom
 (
  select B.columnname,A.columnname,A.columnnamefrom tabbranchnames B
  LEFT JOIN
  (
    SELECT columnname,COUNT(A.columnname) AS INVOICENO,COALESCE(SUM(A.columnname),0) AS PAIDAMOUNT
    FROM tablename A,tablename B WHERE A.columnname= B.columnname
    AND CAST(B.columnname AS DATE) BETWEEN '01-SEP-2013' AND '30-SEP-2013'
    AND  CAST(A.columnnameAS DATE) BETWEEN '01-SEP-2013' AND '30-SEP-2013'
    AND A.columnnameNOT LIKE 'RCQ%'  group by vchbranchname
   ) A on B.columnname=A.columnname
  )C
  LEFT JOIN
  (
     SELECT columnname,COUNT(A.columnname) AS preinvno,COALESCE(SUM(A.columnname),0) AS precash
     FROM tablename A,tablename B
     WHERE A.columnname= B.columnname
     AND CAST(B.columnname AS DATE) <'01-SEP-2013' AND CAST(B.DDC_LOGINDATE AS DATE) >= '21-JAN-2013' 
     AND  CAST(A.columnnameAS DATE) BETWEEN '01-SEP-2013' AND '30-SEP-2013'
     AND A.columnnameNOT LIKE 'RCQ%'
     group by columnname
  )D  on C.columnname=D.columnname
)E
LEFT JOIN
(
      SELECT b.columnname,COUNT(A.columnname) as chqinvoiceno,COALESCE(SUM(A.columnname),0) as chqamount
      FROM tablename A,tablename B,tablename C
      WHERE A.columnname= B.columnnameAND A.columnname= C.columnnameAND columnname= 'Y'
      AND  CAST(B.columnname AS DATE) BETWEEN '01-SEP-2013' AND '30-SEP-2013'
      AND C.columnname<= '30-SEP-2013' AND A.columnname LIKE 'RCQ%'
      group by columnname
)F
ON E.columnname=F.columnname) G
LEFT JOIN
(
SELECT columnname,COUNT(A.columnname) AS preinvoiceno,COALESCE(SUM(A.columnname),0) AS prechqamt
      FROM tablename A,tablename B,tablename C
      WHERE A.columnname= B.columnnameAND A.columnname= C.columnnameAND c.columnname= 'Y' 
      AND CAST(B.columnname AS DATE) <'01-SEP-2013' AND  CAST(B.columnname AS DATE) >= '21-JAN-2013' 
      AND C.columnnameBETWEEN '01-SEP-2013' AND '30-SEP-2013'
      AND A.columnnameLIKE 'RCQ%'
      group by columnname
) H on G.columnname=H.columnname) I
LEFT JOIN
(
SELECT B.columnname,COUNT(A.columnname) AS jvno,COALESCE(SUM(A.columnname),0) AS jvamt
      FROM tablename A,tablename B
      WHERE A.columnname= B.columnname
      AND CAST(B.columnname AS DATE) BETWEEN '01-SEP-2013' AND '30-SEP-2013'
      AND  CAST(A.columnnameAS DATE) BETWEEN '01-SEP-2013' AND '30-SEP-2013'
      group by columnname
) J on I.columnname=J.columnname) K
LEFT JOIN
(SELECT B.columnname,COUNT(A.columnname) AS prvjvno,COALESCE(SUM(A.columnname),0) AS prvjvamt
      FROM tablename A,tablename B
      WHERE A.columnname= B.columnname
      AND CAST(B.columnname AS DATE) <'01-SEP-2013' AND CAST(B.DDC_LOGINDATE AS DATE) >= '21-JAN-2013'
      AND  CAST(A.columnnameAS DATE) BETWEEN '01-SEP-2013' AND '30-SEP-2013'
      group by columnname) L on L.columnname=K.columnname

      where K.columnnameis not null or k.columnnameis not null or l.columnnameis not null
      or l.columnnameis not null or k.columnnameis not null or k.columnnameis not null or k.columnnameis not null or k.chqamount is not null
      or k.columnnameis not null or k.columnnameis not null or k.columnnameis not null or k.columnnameis not null

jQuery to block paste in a textbox

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <title>Block Paste</title>
    
    <script src="Scripts/jquery-1.4.1.js" type="text/javascript"></script>
    
     <script type="text/javascript">
          // hook to the document ready function
         $(document).ready(function () {
             
           // bind the paste operation
           $('#<%=tbAccept.ClientID%>').bind('paste',
                function (e) {
                     // prevent the default operation
                  e.preventDefault();
                    // warn the user
                     alert("Paste disabled in this textbox");
               });

          });
      
</script> </head> <body> <form id="form1" runat="server"> <div> Please enter your name: <!-- the textbox you want to disable paste on --> <asp:TextBox runat="server" ID="tbAccept"> </asp:TextBox> </div> </form> </body> </html>

Monday 21 October 2013

how to write functions in postgresql


CREATE OR REPLACE FUNCTION getfoo(integer)
  RETURNS SETOF foo AS
$BODY$
    SELECT * FROM foo WHERE fooid = $1;
$BODY$
  LANGUAGE sql VOLATILE;

JQUERRY GRID USEFULL FOR NEW GRIDVIEWS DESGN

Refer this link for grid we use it and share with u

http://www.datatables.net/index

and also dojo grid also usefull now a days

http://dojotoolkit.org/documentation/tutorials/1.8/working_grid/demo/rowclick.php