Pages

Subscribe:

Thursday, 26 February 2015

Autocomplete on masterpage

<%@ Register Assembly="AjaxControlToolkit" Namespace="AjaxControlToolkit" TagPrefix="asp" %>
 <asp:ToolkitScriptManager ID="ToolkitScriptManager1" runat="server" />
    <asp:TextBox ID="txtAutoComplete" runat="server" />
    <asp:AutoCompleteExtender ID="AutoCompleteExtender1" runat="server" DelimiterCharacters=""
        Enabled="True" ServicePath="SaveSelectedOption.asmx" ServiceMethod="GetCompletionList"
        TargetControlID="txtAutoComplete" MinimumPrefixLength="1" CompletionInterval="10"
        EnableCaching="true" CompletionSetCount="12">
    </asp:AutoCompleteExtender>

 [WebMethod]
        public string[] GetCompletionList(string prefixText, int count)
        {
            if (count == 0)
            {
                count = 10;
            }
            DataTable dt = GetRecords(prefixText);
            List<string> items = new List<string>(count);

            for (int i = 0; i < dt.Rows.Count; i++)
            {
                string strName = dt.Rows[i][0].ToString();
                items.Add(strName);
            }
            return items.ToArray();
        }

        public DataTable GetRecords(string strName)
        {
            string strConn = ConfigurationManager.ConnectionStrings["jsupportconnectionstring"].ConnectionString;
            SqlConnection con = new SqlConnection(strConn);
            SqlCommand cmd = new SqlCommand();
            cmd.Connection = con;
            cmd.CommandType = System.Data.CommandType.Text;
            cmd.Parameters.AddWithValue("@Name", strName);
            cmd.CommandText = "select CommentEmpId from LT_CommentReadHistory where CommentEmpId like '%'+@Name+'%'";
            DataSet objDs = new DataSet();
            SqlDataAdapter dAdapter = new SqlDataAdapter();
            dAdapter.SelectCommand = cmd;
            con.Open();
            dAdapter.Fill(objDs);
            con.Close();
            return objDs.Tables[0];
        }
using System.Configuration;
using System.Data.SqlClient;

Sunday, 8 February 2015

Save data through XML

 StringBuilder objBuilder = GetCheckedSitemap();
Role objRole = new Role();
          objRole.AddedBy = "admin";
          objRole.LastModBy = "admin";
          objRole.RoleID = roleID;
          objRole.XMLData = objBuilder.ToString();

 private StringBuilder GetCheckedSitemap()
    {
    
        StringBuilder objBuilder = new StringBuilder();
        objBuilder.Append("<?xml version=\"1.0\"?>");
        objBuilder.Append("<Root>");
  objBuilder.Append("<sitemaprole roleid=\"" + roleID + "\" SiteMapID=\"" + row1["NavId"] + "\"/>");
   objBuilder.Append("</Root>");

        return objBuilder;
    }

proc
@XMl xml=null


 update tblUwkrn  set flow= flow+ '','' + @flow
                         ,StaffId=@StaffId
                         ,StaffDate=GETDATE()
                         ,StaffStatus=@StaffStatus
                         ,AsmStatus=@AsmStatus
         from tblUwkrn inner join
         @XMl.nodes(''UwkrnList'')r(item)
        on tblUwkrn.uwkrn=item.value(''@UwkrnNo'',''nvarchar(100)'')               
       and eventid=@EventId and AsmId=@AsmId and confirm_status=''Yes''

CREATE PROCEDURE[dbo].[usp_ADM_SaveSiteMapRole]
(
   
    @RoleID varchar(50),
   
    @XMLData varchar(max),
    @AddedBy varchar(50),
    @LastModBy varchar(50),
    @EventId nvarchar(50)
)

AS
BEGIN

BEGIN TRAN SaveSiteMapRole
 BEGIN TRY
   
    DECLARE @hDoc int
    DECLARE @Error int   

    EXEC sp_xml_preparedocument @hDoc OUTPUT,@XMLData

    DELETE FROM ADM_SiteMapRole
    WHERE RoleID=@RoleID and EventId=@EventId

    SELECT @EventId as eventId, roleid,sitemapid,1 as IsActive,@AddedBy as AddedBy,GETDATE() as AddedDTM,
        @LastModBy as LastModBy,GETDATE() as LastModDTM
    INTO #ADM_SiteMapRole
    FROM OpenXML(@hDoc,''/Root/sitemaprole'')
    WITH (
            roleid varchar(50) ''@roleid'',
            sitemapid int ''@SiteMapID''       
         )
       
         declare
         @eventId1 varchar(50),
         @roleid1 varchar(50),
         @sitemapid1 int,       
         @IsActive1 bit,
         @AddedBy1 varchar(50),
         @AddedDTM1 datetime,
         @LastModBy1 varchar(50),
         @LastModDTM1 datetime
       
       
        DECLARE sr_cursor CURSOR LOCAL FOR
            SELECT eventId,roleid,sitemapid,IsActive,AddedBy,AddedDTM,LastModBy,LastModDTM
            FROM #ADM_SiteMapRole                
        OPEN sr_cursor;
        FETCH NEXT FROM sr_cursor INTO @eventId1, @roleid1,@sitemapid1,@IsActive1,@AddedBy1,@AddedDTM1,@LastModBy1,@LastModDTM1
            WHILE @@FETCH_STATUS = 0
            BEGIN
                --login here
                if not exists(select 1 from ADM_SiteMapRole where RoleID=@roleid1 and SiteMapID=@sitemapid1 and IsActive=@IsActive1 and EventId= @eventId1)
                begin
                    --insert
                    INSERT INTO ADM_SiteMapRole(EventId,RoleID,SiteMapID,IsActive,AddedBy,AddedDTM,LastModBy,LastModDTM)
                    SELECT @eventId1, @roleid1,@sitemapid1,@IsActive1,@AddedBy1,@AddedDTM1,@LastModBy1,@LastModDTM1
                    --find all parent id and insert for them 
                    declare @t1  as table
                    (
                        id int not null identity(1,1),
                        sitemapid int,
                        parentid int                   
                    )
                   
                    insert into @t1(sitemapid,parentid )
                    select sitemapid,parentid
                    from dbo.func_ADM_GetParentsOfId(@sitemapid1, @eventId1) where sitemapid <> @sitemapid1
                   
                    declare @count int
                    declare @sid int
                    set @count=1
                    while ( @count <= (select MAX(id) from @t1) )
                    begin                   
                        select @sid=sitemapid from @t1 where id=@count
                        if not exists(select 1 from ADM_SiteMapRole where RoleID=@roleid1 and SiteMapID=@sid and IsActive=@IsActive1 and EventId=@eventId1)
                        begin
                            INSERT INTO ADM_SiteMapRole(EventId,RoleID,SiteMapID,IsActive,AddedBy,AddedDTM,LastModBy,LastModDTM)
                            SELECT @eventId1, @roleid1,@sid,@IsActive1,@AddedBy1,@AddedDTM1,@LastModBy1,@LastModDTM1
                        end                       
                        set @count = @count + 1
                    end     
                end               
                FETCH NEXT FROM sr_cursor INTO @eventId1, @roleid1,@sitemapid1,@IsActive1,@AddedBy1,@AddedDTM1,@LastModBy1,@LastModDTM1
            END
        CLOSE sr_cursor;
        DEALLOCATE sr_cursor;      

    --ERROR HANDLER
    SET @Error = @@error
    IF (@Error <> 0)
    BEGIN
        exec sp_xml_removedocument @hDoc
        RETURN
    END   

    drop table #ADM_SiteMapRole
    exec sp_xml_removedocument @hDoc
   
    COMMIT TRAN SaveSiteMapRole
 end Try
 BEGIN CATCH

 ROLLBACK TRAN SaveSiteMapRole
 close  SaveSiteMapRole
 SELECT ERROR_LINE(),ERROR_NUMBER(),ERROR_SEVERITY(),ERROR_STATE(),ERROR_PROCEDURE()
,ERROR_MESSAGE()
 END CATCH

END