Wednesday, 21 May 2014

how to call wcf service asynchronously from asp.net page

protected void btnSearch_Click(object sender, EventArgs e)
{
PageAsyncTask task = new PageAsyncTask(BeginGetrdgDetailsAsyncData, EndGetrdgDetailsAsyncData, null, null);
            Page.RegisterAsyncTask(task);
}



IAsyncResult BeginGetrdgDetailsAsyncData(object src, EventArgs args, AsyncCallback cb, object state)
    {
        StringBuilder sb = new StringBuilder();
        sb.Append("<SalesAnalysis>");
        -----
-------
        sb.Append("</SalesAnalysis>");
        return pharma.BeginSales_Analysis(sb.ToString(), cb, state);
    }

    void EndGetrdgDetailsAsyncData(IAsyncResult ar)
    {
        try
        {
            String result = pharma.EndSales_Analysis(ar, out strerror);
            if (strerror == "")
            {
                DataSet dsresult = new DataSet();
                dsresult = JsonConvert.DeserializeObject<DataSet>(result);

                DataView dv = new DataView(dsresult.Tables[2]);
                DataTable distinctValues = dv.ToTable(true, "SCHEDULE_ID", "SCHEDULE_NAME");
                for (int i = 0; i < distinctValues.Rows.Count; i++)
                {
                    dsresult.Tables[1].Columns.Add(distinctValues.Rows[i]["SCHEDULE_NAME"].ToString());
                    DataRow[] drs = dsresult.Tables[1].Select("SCHEDULE_ID='" + distinctValues.Rows[i]["SCHEDULE_ID"].ToString() + "'");
                    if (drs.Length > 0)
                    {
                        //foreach (DataRow dr in drs)
                        //{
                        //    //assigning usage col values under dynamically created col "EQ_DESC"
                        //    dr[distinctValues.Rows[i]["SCHEDULE_NAME"].ToString()] = dr["Usage"].ToString();

                        //    //usage += Convert.ToDecimal(dr["Usage"].ToString());
                        //}
                    }
                }

                rdgDetails.DataSource = dsresult.Tables[1];
                rdgDetails.DataBind();
            }
            else
            {
                errormsg
            }
        }
        catch (Exception ex)
        {
         
        }
    }
--------------------------------------------------------------------------------
wcf

public String Sales_Analysis(String strParameter, out string error)
        {
            error = string.Empty;
            XmlDocument pdoc = new XmlDocument();
            pdoc.LoadXml(strParameter);
            DataSet ds = new DataSet();
            methodParameters = strParameter;
            try
            {
                if (dbclass.Connectdb(ConfigurationManager.ConnectionStrings["constr"].ConnectionString))
                {
                    dbclass.cmd = new OracleCommand();
                    dbclass.cmd.CommandText = "Proc Name";
                    dbclass.cmd.CommandType = CommandType.StoredProcedure;
                    #region add parameters
 //IN parameter..

                    //Out parameter..
                   
                    #endregion

                    ds = dbclass.ExecuteCommandDataSet(dbclass.con, dbclass.cmd);

                    if (ds.Tables[1].Rows.Count > 0)
                    {
                        return JsonConvert.SerializeObject(ds, Newtonsoft.Json.Formatting.Indented);
                    }
                    else
                    {
                        return "[]";
                    }
                }
            }
            catch (Exception ex)
            {
                error = ex.Message;
            }
            return JsonConvert.SerializeObject(ds, Newtonsoft.Json.Formatting.Indented);
        }


Monday, 21 October 2013

Export gridview to excel in asp.net

protected void btnExport_Click(object sender, EventArgs e)
{
DataTable dt = new DataTable();
        dt.Columns.Add("Sr No");
        dt.Columns.Add("Qty");
        dt.Columns.Add("Rate");

        foreach (gridviewrow item in gridview.Rows)
        {
           
                DataRow dr = dt.NewRow();
                dr["Sr No"] = item["colOrderSrNo"].Text;
                dr["Qty"] = item["colOrderQty"].Text;
                dr["Rate"] = item["colUnitRate"].Text;
;
                dt.Rows.Add(dr);
        }
        if (dt == null)
        {
            throw new Exception("No record found for export");
        }
        string Path = "D:\\FileName" + DateTime.Now.Day.ToString() + "_" + DateTime.Now.Month.ToString() + ".xls";
        FileInfo FI = new FileInfo(Path);
        if (!FI.Exists)
        {
           
        }
        else
        {
            FI.Delete();
        }
        StringWriter stringWriter = new StringWriter();
        HtmlTextWriter htmlWrite = new HtmlTextWriter(stringWriter);
        DataGrid DataGrd = new DataGrid();
        DataGrd.DataSource = dt;
        DataGrd.DataBind();

        DataGrd.RenderControl(htmlWrite);
        string directory = Path.Substring(0, Path.LastIndexOf("\\"));
        if (!Directory.Exists(directory))
        {
            Directory.CreateDirectory(directory);
        }
        System.IO.StreamWriter vw = new System.IO.StreamWriter(Path, true);
        stringWriter.ToString().Normalize();
        vw.Write(stringWriter.ToString());
        vw.Flush();
        vw.Close();
        WriteAttachment(FI.Name, "application/vnd.ms-excel", stringWriter.ToString());


}




 public static void WriteAttachment(string FileName, string FileType, string content)
    {
        try
        {
            HttpResponse Response = System.Web.HttpContext.Current.Response;
            Response.ClearHeaders();
            Response.AppendHeader("Content-Disposition", "attachment; filename=" + FileName);
            Response.ContentType = FileType;
            Response.Write(content);
            Response.End();
        }
        catch (Exception ex)
        {

        }
    }

Saturday, 19 October 2013

get row index and data column associated with row index

GridDataItem rows = (GridDataItem)(((ImageButton)e.CommandSource).NamingContainer);
                int varName1 = Convert.ToInt32(((Label)rows.FindControl("lblSRNO")).Text.ToString());

Monday, 14 October 2013

query string example

"../Radiology/EMR.aspx?&dReqId=" + Session[SessionVariable.ot_Req_no].ToString() + "&dVmId=" + Session[HMISWEB.SessionVariable.vmid].ToString() + "&strVisitType=" + Session[SessionVariable.OT_Visit_Type].ToString() + "&strModify_YN=N" + "&strDeptTemplateType=S" + "&dDocId=0" + "&strAccessString=Y";

Serial Number For grid view

<telerik:GridTemplateColumn UniqueName="SRNO" AllowFiltering="false" HeaderText="Sr No">
                                                            <ItemTemplate>
                                                               <asp:Label ID="lblSRNO" runat="server" ></asp:Label>
                                                            </ItemTemplate>
                                                            <HeaderStyle Width="5%" />
                                                            <ItemStyle Width="5%" />
                                                        </telerik:GridTemplateColumn>




protected void rdgAddedItems_ItemDataBound(object sender, Telerik.Web.UI.GridItemEventArgs e)
    {
        if (e.Item is GridDataItem)
        {
            Label lbl = e.Item.FindControl("lblSRNO") as Label;
            lbl.Text = (e.Item.ItemIndex + 1).ToString();
        }
    }

Wednesday, 19 June 2013

display image in image control from file upload control

string path = Server.MapPath("Images/") + FileUpload1.PostedFile.FileName;
            FileUpload1.SaveAs(path);
            Image3.ImageUrl = "Images/" + FileUpload1.PostedFile.FileName;

Tuesday, 12 March 2013

how to access controls on another form c#

Form1 with 1 textbox and button
this button is for opening new form (form2)

Form2 with datagridview and button is for sending datagraidview value to textbox on Form1


On Form1
 private void button_Click(object sender, EventArgs e)
        {
            Form2 f2 = new Form2(this);
            f2.Show();
        }

On Form2

 public Form2()
        {
            InitializeComponent();
        }

        private Form1 f1 = null;


        public Form2(Form callingForm)
        {
            f1 = callingForm as Form1;
            InitializeComponent();
        }

private void button_Click(object sender, EventArgs e)
        {
            this.f1.TextBox = dataGridView1.SelectedRows[0].Cells["columnname"].Value.ToString();
            this.Close();         
        }