Tuesday, 29 January 2019

Web service call time given SSL error in ASP .net

<!-- User Validation API at LOGIN module Begin-->
   <system.serviceModel>
  <bindings>
      <basicHttpBinding>
        <binding name="UserValidateSoap">
          <security mode="Transport">
            <transport clientCredentialType="None" />
          </security>
        </binding>
        </basicHttpBinding>
    </bindings>
   <client>
     <endpoint address="https://localhost/abcd.asmx" binding="basicHttpBinding" bindingConfiguration="UserValidateSoap" contract="UserValidate.UserValidateSoap" name="UserValidateSoap" />
   </client>
 </system.serviceModel>
<!--  User Validation API at LOGIN module End-->

Monday, 28 January 2019

Business Logic for Email send mail in C sharp in .net

using System;
using System.Collections.Generic;
using System.Text;
using System.Net.Mail;
using System.IO;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.HtmlControls;
using System.Xml;
using System.Collections;

namespace Business_Logic
{
    public class AppHandler
    {
        private MailAddress emailRecipient;
        private MailAddress emailRecipientCC;
        private MailAddress emailSender;
        private String emailTo;
        private String emailCopy;
        private String emailPriority;
        private String emailSubject;
        private String emailMessage;
        private String emailSmtp;
        private FileUpload[] emailfileUpload;
        private string[] emailFile;
        string[] arrFields = new string[1000];
        string[] arrValues = new string[1000];


        // Email To multiple
        public String EmailTo
        {
            get { return emailTo; }
            set { emailTo = value; }
        }
        // Email Receipient
        public MailAddress EmailRecipient
        {
            get { return emailRecipient; }
            set { emailRecipient = value; }
        }
        // Email Receipient CC
        public MailAddress EmailRecipientCC
        {
            get { return emailRecipientCC; }
            set { emailRecipientCC = value; }
        }
        // Files upload
        public FileUpload[] UploadFiles
        {
            get { return emailfileUpload; }
            set { emailfileUpload = value; }
        }
        public string[] AttachedFilePath
        {
            get { return emailFile; }
            set { emailFile = value; }
        }
       
        //Email sender
        public MailAddress EmailSender
        {
            get { return emailSender; }
            set { emailSender = value; }
        }
       
        // Email copy
        public String EmailCopy
        {
            get { return emailCopy; }
            set { emailCopy = value; }
        }
        // Email Priority
        public String EmailPriority
        {
            get { return emailPriority; }
            set { emailPriority = value; }
        }
        //Email Subject
        public String EmailSubject
        {
            get { return emailSubject; }
            set { emailSubject = value; }
        }
        //Email Message
        public String EmailMessage
        {
            get { return emailMessage; }
            set { emailMessage = value; }
        }

        //Email Smtp address
        public String EmailSmtp
        {
            get { return emailSmtp; }
            set { emailSmtp = value; }
        }
    }
}
========================
using System;
using System.Collections.Generic;
using System.Text;
using System.Net.Mail;
using System.IO;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.HtmlControls;

namespace Business_Logic
{
    public sealed class EmailHandler
    {
        private static char[] charSeparators = new char[] { };
        private static String[] result;
        private static String[] resultCC;
        public static void SendMailMessage(AppHandler pMailApp)
        {
            try
            {
                MailMessage mailMsg = new MailMessage();
                result = pMailApp.EmailRecipient.ToString().Split(charSeparators, StringSplitOptions.RemoveEmptyEntries);
                for (int count = 0; count < result.Length; count++)
                {
                    mailMsg.To.Add(new MailAddress(result[count]));
                }
                if (pMailApp.EmailRecipientCC != null)
                {
                    if (!string.IsNullOrEmpty(pMailApp.EmailRecipientCC.ToString()))
                    {
                        resultCC = pMailApp.EmailRecipientCC.ToString().Split(charSeparators, StringSplitOptions.RemoveEmptyEntries);
                        for (int count = 0; count < resultCC.Length; count++)
                        {
                            mailMsg.CC.Add(new MailAddress(resultCC[count]));
                        }
                    }
                }
                mailMsg.IsBodyHtml = true;
                //Email Sender
                mailMsg.From = pMailApp.EmailSender;
                //Email Subject
                mailMsg.Subject = pMailApp.EmailSubject;
                //Email Body
                mailMsg.Body = pMailApp.EmailMessage;
                //Email Priority
                switch (pMailApp.EmailPriority.ToString())
                {
                    case "Low" :
                    mailMsg.Priority = MailPriority.Low;
                    break;
                    case "Normal" :
                    mailMsg.Priority = MailPriority.Normal;
                    break;
                    case "High" :
                    mailMsg.Priority = MailPriority.High;
                    break;
                }
                //Attachments
                if (pMailApp.AttachedFilePath != null)
                {
                    for (int i = 0; i < pMailApp.AttachedFilePath.Length; i++)
                    {
                        Attachment attachFile= new Attachment(pMailApp.AttachedFilePath[i]);
                        mailMsg.Attachments.Add(attachFile);            
                    }
                }
                //SMTP address
                SmtpClient smtpClient = new SmtpClient(pMailApp.EmailSmtp);
               // smtpClient.DeliveryMethod = SmtpDeliveryMethod.PickupDirectoryFromIis;
                smtpClient.DeliveryMethod = SmtpDeliveryMethod.Network;
                smtpClient.Send(mailMsg);
            }
            catch (Exception ex)
            {
                throw (ex);
            }
        }
        public static void SendMailMessagenewMultiple(AppHandler pMailApp)
        {
            try
            {
                MailMessage mailMsg = new MailMessage();
                result = pMailApp.EmailTo.ToString().Split(';');
                for (int count = 0; count < result.Length; count++)
                {
                    mailMsg.To.Add(new MailAddress(result[count]));
                }
                if (pMailApp.EmailRecipientCC != null)
                {
                    if (!string.IsNullOrEmpty(pMailApp.EmailRecipientCC.ToString()))
                    {
                        resultCC = pMailApp.EmailRecipientCC.ToString().Split(charSeparators, StringSplitOptions.RemoveEmptyEntries);
                        for (int count = 0; count < resultCC.Length; count++)
                        {
                            mailMsg.CC.Add(new MailAddress(resultCC[count]));
                        }
                    }
                }
                mailMsg.IsBodyHtml = true;
                //Email Sender
                mailMsg.From = pMailApp.EmailSender;
                //Email Subject
                mailMsg.Subject = pMailApp.EmailSubject;
                //Email Body
                mailMsg.Body = pMailApp.EmailMessage;
                //Email Priority
                switch (pMailApp.EmailPriority.ToString())
                {
                    case "Low":
                        mailMsg.Priority = MailPriority.Low;
                        break;
                    case "Normal":
                        mailMsg.Priority = MailPriority.Normal;
                        break;
                    case "High":
                        mailMsg.Priority = MailPriority.High;
                        break;
                }
                //Attachments
                if (pMailApp.AttachedFilePath != null)
                {
                    for (int i = 0; i < pMailApp.AttachedFilePath.Length; i++)
                    {
                        Attachment attachFile = new Attachment(pMailApp.AttachedFilePath[i]);
                        mailMsg.Attachments.Add(attachFile);
                    }
                }
                //SMTP address
                SmtpClient smtpClient = new SmtpClient(pMailApp.EmailSmtp);
                // smtpClient.DeliveryMethod = SmtpDeliveryMethod.PickupDirectoryFromIis;
                smtpClient.DeliveryMethod = SmtpDeliveryMethod.Network;
                smtpClient.Send(mailMsg);
            }
            catch (Exception ex)
            {
                throw (ex);
            }
        }
    }
}

Wednesday, 16 January 2019

Insert, Update, Delete in List view XML in Asp.net c sharp

==========================Employee.xml=========
<?xml version="1.0" encoding="utf-8"?>
<NewElement>
  <Employee>
    <ID>1</ID>
    <Name>pramod s r</Name>
  </Employee>
  <Employee>
    <ID>2</ID>
    <Name>koli</Name>
  </Employee>
  <Employee>
    <ID>3</ID>
    <Name>xyz</Name>
  </Employee>
  <Employee>
    <ID>4</ID>
    <Name>sdfsdf</Name>
  </Employee>
</NewElement>
==============================Design=============================
<asp:ListView ID="lvEmployee" runat="server" InsertItemPosition="LastItem" OnItemInserting="lvEmployee_ItemInserting"
            OnItemDeleting="lvEmployee_ItemDeleting" OnItemEditing="lvEmployee_ItemEditing"
            OnItemCanceling="lvEmployee_ItemCanceling" >
            <LayoutTemplate>
                <table id="Table1" runat="server">
                    <tr id="Tr1" runat="server">
                        <td id="Td1" runat="server">
                            <table id="itemPlaceholderContainer" runat="server" border="0" style="">
                                <tr id="Tr2" runat="server" style="">
                                    <th id="Th1" runat="server">
                                    </th>
                                    <th id="Th2" runat="server">
                                        ID
                                    </th>
                                    <th id="Th3" runat="server">
                                        Name
                                    </th>
                                </tr>
                                <tr id="itemPlaceholder" runat="server">
                                </tr>
                            </table>
                        </td>
                    </tr>
                    <tr id="Tr3" runat="server">
                        <td id="Td2" runat="server" style="">
                        </td>
                    </tr>
                </table>
            </LayoutTemplate>
            <ItemTemplate>
                <tr style="">
                    <td>
                        <asp:Button ID="DeleteButton" runat="server" CommandName="Delete" Text="Delete" />
                        <asp:Button ID="EditButton" runat="server" CommandName="Edit" Text="Edit" />
                    </td>
                    <td>
                        <asp:Label ID="lblID" runat="server" Text='<%# Bind("ID") %>' />
                    </td>
                    <td>
                        <asp:Label ID="lblName" runat="server" Text='<%# Bind("Name") %>' />
                    </td>
                </tr>
            </ItemTemplate>
            <InsertItemTemplate>
                <tr style="">
                    <td>
                        <asp:Button ID="InsertButton" runat="server" CommandName="Insert" Text="Insert" />
                        <asp:Button ID="CancelButton" runat="server" CommandName="Cancel" Text="Clear" />
                    </td>
                    <td>
                       
                    </td>
                    <td>
                        <asp:TextBox ID="txtID" runat="server" Text='<%# Bind("ID") %>' />
                    </td>
                    <td>
                        <asp:TextBox ID="txtName" runat="server" Text='<%# Bind("Name") %>' />
                    </td>
                    <td>
                        <asp:Button ID="btnUpdate" runat="server" Text="Update" OnClick="btnUpdate_Click" />
                    </td>
                </tr>
            </InsertItemTemplate>
        </asp:ListView>
==================================Code======================
using System;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Data;
using System.Xml;

public partial class Listview_XML : System.Web.UI.Page
{
    //Global varaiable declaration
    string xmlfile = @"E:\Employee.xml";

    protected void Page_Load(object sender, EventArgs e)
    {
        if (!Page.IsPostBack)
        {
            LoadData();
        }

    }
    //Loading the data from xml file
    protected void LoadData()
    {
        DataSet ds = new DataSet();
        DataTable table = new DataTable();
        //reading xml file and loading listview.
        ds.ReadXml(xmlfile);
        lvEmployee.DataSource = ds;
        //binding dataset to listview.
        lvEmployee.DataBind();
    }

    // onclick of insert button in listview

    protected void lvEmployee_ItemInserting(object sender, ListViewInsertEventArgs e)
    {
        TextBox txtidTextBox = (TextBox)lvEmployee.InsertItem.FindControl("txtID");
        TextBox txtnameTextBox = (TextBox)lvEmployee.InsertItem.FindControl("txtName");
        // loading xml file
        XmlDocument xdoc = new XmlDocument();
        xdoc.Load(xmlfile);

        //Creating childnode to root node using Xmlelement
        XmlElement xelement = xdoc.CreateElement("Employee");
        //creating subnode to childnode using XmlElement
        XmlElement xID = xdoc.CreateElement("ID");
        xID.InnerText = txtidTextBox.Text;
        xelement.AppendChild(xID);

        //creating subnode to childnode using XmlElement
        XmlElement xName = xdoc.CreateElement("Name");
        xName.InnerText = txtnameTextBox.Text;
        xelement.AppendChild(xName);

        //Adding childnode to the root node.(in my case "NewElement is root node")
        xdoc.DocumentElement.AppendChild(xelement);
        xdoc.Save(xmlfile);
        LoadData();
    }

    // onclick of edit button in listview

    static Int16 i = 0;// based on the requirement we can change the declaration of variable i.

    protected void lvEmployee_ItemEditing(object sender, ListViewEditEventArgs e)
    {
        //getting the index value of particular row on click of edit button
        lvEmployee.EditIndex = e.NewEditIndex;
        i = Convert.ToInt16(lvEmployee.EditIndex);

        // to get the values from label which is inside listview, we need FindControl
        Label lblid = (Label)lvEmployee.EditItem.FindControl("lblID");
        Label lblname = (Label)lvEmployee.EditItem.FindControl("lblName");

        // to get the values from textbox which is inside listview, we need FindControl
        TextBox txtidTextBox = (TextBox)lvEmployee.InsertItem.FindControl("txtID");
        TextBox txtnameTextBox = (TextBox)lvEmployee.InsertItem.FindControl("txtName");
        txtidTextBox.Text = lblid.Text;
        txtidTextBox.Visible = false;
        txtnameTextBox.Text = lblname.Text;

    }

    protected void lvEmployee_ItemDeleting(object sender, ListViewDeleteEventArgs e)
    {
        // to get the values from label which is inside listview, we need FindControl
        Label lbl = (lvEmployee.Items[e.ItemIndex].FindControl("lblID")) as Label;
        Label lblName = (lvEmployee.Items[e.ItemIndex].FindControl("lblName")) as Label;
        //loading xml file using Xmldocument.
        XmlDocument xmlDoc = new XmlDocument();
        xmlDoc.Load(xmlfile);
        XmlNodeList newXMLNodes = xmlDoc.SelectNodes("/NewElement/Employee");

        // here i am searching based on id and name.So i am concatenating data into one string variable.
        string value = lbl.Text + lblName.Text;

        // code to remove child node from xml based on selection(matches all the data in xml file)
        //when a match is found removes that childnode from root node.
        foreach (XmlNode newXMLNode in newXMLNodes)
        {
            if (newXMLNode.InnerText == value)
            {
                newXMLNode.ParentNode.RemoveChild(newXMLNode);
            }
        }
        //saving back xml file and reloading listview.
        xmlDoc.Save(xmlfile);
        xmlDoc = null;
        LoadData();


    }

    protected void lvEmployee_ItemCanceling(object sender, ListViewCancelEventArgs e)
    {
        // to clear the textbox data.. (reset)
        TextBox txtidTextBox = (TextBox)lvEmployee.InsertItem.FindControl("txtID");
        TextBox txtnameTextBox = (TextBox)lvEmployee.InsertItem.FindControl("txtName");
        txtidTextBox.Text = string.Empty;
        txtnameTextBox.Text = string.Empty;
    }


    protected void btnUpdate_Click(object sender, EventArgs e)
    {
        try
        {
            // to get the values from label which is inside listview, we need FindControl
            Label lblid = (Label)lvEmployee.EditItem.FindControl("lblID");
            Label lblname = (Label)lvEmployee.EditItem.FindControl("lblName");
            // to get the values from textbox which is inside listview, we need FindControl
            TextBox txtidTextBox = (TextBox)lvEmployee.InsertItem.FindControl("txtID");
            TextBox txtnameTextBox = (TextBox)lvEmployee.InsertItem.FindControl("txtName");
            //loading xml file
            XmlDocument xmldoc = new XmlDocument();
            xmldoc.Load(xmlfile);

            // Index value will be obtained at lvEmployee_ItemEditing ,that index value
            //is used here for update.
            XmlNode xmlnode = xmldoc.DocumentElement.ChildNodes.Item(i);
            xmlnode["ID"].InnerText = lblid.Text;
            xmlnode["Name"].InnerText = txtnameTextBox.Text;
            // save xml file and reload listview.
            xmldoc.Save(xmlfile);
            LoadData();
        }
        catch
        {
        }
    }

}

Paging button more functionality in List View .net c sharp

===================view================
<form id="form1" runat="server">
    <div class="StatusMessage">
        <asp:ListView ID="lvEmployee" runat="server" OnDataBound="lvEmployee_DataBound">
            <LayoutTemplate>
                <table id="itemPlaceholderContainer">
                    <tr runat="server" id="itemPlaceholder">
                    </tr>
                </table>
            </LayoutTemplate>
            <ItemTemplate>
                <tr>
                    <td>
                        Address:<asp:Label ID="AddressLabel" runat="server" Text='<%# Eval("Id") %>' />
                    </td>
                </tr>
            </ItemTemplate>
        </asp:ListView>
        <div id="divpaging" runat="server">
            <asp:DataPager ID="DataPager1" runat="server" PagedControlID="lvEmployee"
                OnPreRender="DataPager1_PreRender">
                <Fields>
                    <asp:TemplatePagerField OnPagerCommand="listPages_Click">
                        <PagerTemplate>
                            <asp:Button ID="listPages" runat="server" Text="more"></asp:Button>
                        </PagerTemplate>
                    </asp:TemplatePagerField>
                </Fields>
            </asp:DataPager>
        </div>
    </div>
    </form>
================================Code=========================
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;

public partial class listview_paging : System.Web.UI.Page
{

        int CurrentPage = 2;

        public int PageNumber
        {
            get
            {
                if (ViewState["PageNumber"] != null)
                    return Convert.ToInt32(ViewState["PageNumber"]);
                else
                    return 0;
            }
            set
            {
                ViewState["PageNumber"] = value;

            }
        }

        protected void Page_Load(object sender, EventArgs e)
        {

            if (!IsPostBack)
            {
                PageNumber = 1;
                DataPager1.PageSize = 2;
                ProductList db = new ProductList();
                lvEmployee.DataSource = db.GellAll();
                lvEmployee.DataBind();

            }

        }

        protected void lvEmployee_DataBound(object sender, EventArgs e)
        {

            int PageCount = (DataPager1.TotalRowCount / 2);

            if (PageCount * 2 != DataPager1.TotalRowCount)
            {

                PageCount = PageCount + 1;

            }

        }

        protected void DataPager1_PreRender(object sender, EventArgs e)
        {

            ProductList db = new ProductList();
            lvEmployee.DataSource = db.GellAll();
            lvEmployee.DataBind();

        }

        protected void listPages_Click(object sender, EventArgs e)
        {
            decimal PageCount = (decimal)((decimal)DataPager1.TotalRowCount / 2);

            if (PageNumber < PageCount)
            {
                PageNumber = PageNumber + 1;
                if (PageNumber >= PageCount)
                {
                    divpaging.Attributes["style"] = "display:none;";
                }
            }
            else
            {
                divpaging.Attributes["style"] = "display:none;";
            }

            int PageSize = 2 * PageNumber;//CurrentPage

            DataPager1.SetPageProperties(0, PageSize, true);
        }

    }

Sunday, 6 January 2019

All Table Count and calculate Space in SQL server

SELECT
    t.NAME AS TableName,
    s.Name AS SchemaName,
    p.rows AS RowCounts,
    SUM(a.total_pages) * 8 AS TotalSpaceKB,
    CAST(ROUND(((SUM(a.total_pages) * 8) / 1024.00), 2) AS NUMERIC(36, 2)) AS TotalSpaceMB,
    SUM(a.used_pages) * 8 AS UsedSpaceKB,
    CAST(ROUND(((SUM(a.used_pages) * 8) / 1024.00), 2) AS NUMERIC(36, 2)) AS UsedSpaceMB,
    (SUM(a.total_pages) - SUM(a.used_pages)) * 8 AS UnusedSpaceKB,
    CAST(ROUND(((SUM(a.total_pages) - SUM(a.used_pages)) * 8) / 1024.00, 2) AS NUMERIC(36, 2)) AS UnusedSpaceMB
FROM
    sys.tables t
INNER JOIN    
    sys.indexes i ON t.OBJECT_ID = i.object_id
INNER JOIN
    sys.partitions p ON i.object_id = p.OBJECT_ID AND i.index_id = p.index_id
INNER JOIN
    sys.allocation_units a ON p.partition_id = a.container_id
LEFT OUTER JOIN
    sys.schemas s ON t.schema_id = s.schema_id
WHERE
    t.NAME NOT LIKE 'dt%'
    AND t.is_ms_shipped = 0
    AND i.OBJECT_ID > 255
GROUP BY
    t.Name, s.Name, p.Rows
ORDER BY
    t.Name