Monday, May 14, 2012

How to append a text field to an existing column in SQL Server

update table set fieldName = 'append string'+ fieldName where conditions

Example:

select *from AM_Invoice where DocumentTypeId = 3 and SalesInvoiceType = 2
update AM_Invoice set InvoiceNumber = 'B/'+InvoiceNumber where DocumentTypeId = 3 and SalesInvoiceType = 2
select *from AM_Invoice where DocumentTypeId = 3 and SalesInvoiceType = 2

result:

appendstring

Friday, May 4, 2012

Samsung reveals Galaxy SIII



Samsung reveals their most awaited android phone Galaxy SIII in an event held at London



Knockout

                        
          In these recent days I've been started learning Knockout. Knockout is a simple light weight java script library which helps us to create a rich user interface  web applications using MVVM patterns.
Knockout has a rich documentation and Live examples.you can get more from knockoutjs.com



Headline features:
  • Elegant dependency tracking - automatically updates the right parts of your UI whenever your data model changes.
  • Declarative bindings - a simple and obvious way to connect parts of your UI to your data model. You can construct a complex dynamic UIs easily using arbitrarily nested binding contexts.
  • Trivially extensible - implement custom behaviors as new declarative bindings for easy reuse in just a few lines of code.
Additional benefits:
  • Pure JavaScript library - works with any server or client-side technology
  • Can be added on top of your existing web application without requiring major architectural changes
  • Compact - around 13kb after gzipping
  • Works on any mainstream browser (IE 6+, Firefox 2+, Chrome, Safari, others)
  • Comprehensive suite of specifications (developed BDD-style) means its correct functioning can easily be verified on new browsers and platforms.
In this blog post i'm going to share the use full tutorials and blog links to learn knockout
    Live tutorial :  http://learn.knockoutjs.com/
    my jsfiddle samples : http://jsfiddle.net/rgopal_p/QUrQ7/

link list will updated... :)
   


Saturday, December 10, 2011

Send a Html mail through outlook in asp.net mvc

images (1)
                 Recently we have  faced a situation to send a html formatted mail in our asp.net mvc application. We want to provide an option to users  to open their html formatted mails in outlook because user can edit the mail and can send it to their outlook contacts.Pramod tell me an idea it was quite enough to solve our problem.we have take the html from our template view and send it through smtpClient. we have used pickupDirectory option of webmail, using this we can send mail in to a particular directory, it will save as a .eml file. A custom action result will do all this things and download it as an outlook file. now user can send it by opening it in outlook
Here is the custom action result
public class MailResult : ActionResult    {  
       string _content;         
       string _viewName;         
       string _contentType = "message/rfc822";         
       dynamic _model;         
       string _fromMailAddress;         
       string _toMailAddress;                  
       public MailResult(string AViewName,dynamic AModel,string AFromMail,string AToMail)             {             
           _viewName = AViewName;             
           _model = AModel;             
          _fromMailAddress = AFromMail;             
          _toMailAddress=AToMail;         
        }         
       public override void ExecuteResult(ControllerContext context)         
        {  var view = ViewEngines.Engines.FindView(context, _viewName, null);             
           var ViewData = new ViewDataDictionary();             
           var TempData = new TempDataDictionary();             
           ViewData.Model = _model;             
           using (var writer = new StringWriter())             
            {                 
             var ccontext = new ViewContext(context, view.View, ViewData, TempData, writer);              ViewData.Model = _model;                 
             view.View.Render(ccontext, writer);                 
             writer.Flush();                 
             _content = writer.ToString();             
            }             
          System.Net.Mail.MailMessage msg = new MailMessage();             
          msg.From = new MailAddress(_fromMailAddress);             
         msg.To.Add(new MailAddress(_toMailAddress));             
          msg.IsBodyHtml = true;             
         msg.Body = _content;             
        SmtpClient smtp = new SmtpClient();             
        smtp.PickupDirectoryLocation 
          = context.HttpContext.Request.ServerVariables["APPL_PHYSICAL_PATH"];             
        smtp.PickupDirectoryLocation = smtp.PickupDirectoryLocation + @"\Content\Mail\";             Guid newGuId = Guid.NewGuid();             
        string fname = smtp.PickupDirectoryLocation + newGuId + ".eml";             
        //Save is an Extension method, using this we can specify the guid in to that ie; for            deleting        msg.Save(fname);             
        context.HttpContext.Response.Clear();             
        context.HttpContext.Response.AddHeader("Content-Disposition",string.Format("attachmen         t; filename={0}", "mail.eml"));             
         context.HttpContext.Response.Charset = "";             
         context.HttpContext.Response.Cache.SetCacheability(HttpCacheability.NoCache);       
         context.HttpContext.Response.ContentType = _contentType              
         context.HttpContext.Response.TransmitFile(fname);
         context.HttpContext.Response.End();             
         System.IO.File.Delete(fname); 
          }     
}



Extension Method:

(extension method source: codeproject)
public static class MailMessageExt
{     
   public static void Save(this MailMessage Message, string FileName)     
    {         
       Assembly assembly = typeof(SmtpClient).Assembly;
       Type _mailWriterType = assembly.GetType("System.Net.Mail.MailWriter"); 
       using (FileStream _fileStream = new FileStream(FileName, FileMode.Create)) 
        {             
          // Get reflection info for MailWriter contructor
           ConstructorInfo _mailWriterContructor = _mailWriterType.GetConstructor(                     BindingFlags.Instance | BindingFlags.NonPublic,null,new Type[] { typeof(Stream) },           null);             
          // Construct MailWriter object with our FileStream
            object _mailWriter = _mailWriterContructor.Invoke(new object[] { _fileStream });             // Get reflection info for Send() method on MailMessage
            MethodInfo _sendMethod 
     = typeof(MailMessage).GetMethod("Send",BindingFlags.Instance | BindingFlags.NonPublic);             // Call method passing in MailWriter            
           _sendMethod.Invoke(Message,BindingFlags.Instance | BindingFlags.NonPublic,                    null,new object[] { _mailWriter, true },null);             
           // Finally get reflection info for Close() method on our MailWriter
            MethodInfo _closeMethod = _mailWriter.GetType().GetMethod("Close",                           BindingFlags.Instance | BindingFlags.NonPublic); 
            // Call close method            
          _closeMethod.Invoke(_mailWriter,BindingFlags.Instance | BindingFlags.NonPublic,                 null,new object[] { },null);         
           }     
     }
}

Monday, November 7, 2011

Windows-8 Developer preview

         One week ago I've installed win-8 developer preview in ma desktop. some screen shots..



Monday, October 24, 2011

Android 4.0 (ice cream sandwich)

                       Android’s new version (4.0) released few days ago. lets check what are the new features are introduced by Google in ice cream sandwich to compete Apples ios 5.

nexus s

                

              Android 4.0, Ice Cream Sandwich brings an entirely new look and feel to Android. The lock screen, widgets, notifications, multi-tasking and everything in between has been rethought and refined to make Android simple, beautiful, and beyond smart.

 

 

 

Galaxy Nexus – Video

New features at a glance

  • Face Unlock

ice-cream-sandwich-android-4

       

           With Face Unlock on ice cream sandwich you can now unlock your phone with a smile. No complicated passwords to remember, just switch on your phone and look into the camera to quickly unlock your phone.

  • Android Beam

android beam

     

               Using this android feature you can easily share your contacts,websites,apps,maps,youtube videos etc by touching two android phones each other.

 

  • Voice typing

voice typing

     

    Use your voice to type Emails,SMS or any where you want to type texts

more to read:

  1. Android 4.0 Ice Cream Sandwich: everything you need to know
  2. Android Ice Cream Sandwich and Galaxy Nexus: Everything You Need to Know
  3. iOS 5 vs. Android 4.0 Ice Cream Sandwich vs. Windows Phone 7.5 Mango – Comparison

Sunday, October 9, 2011

Common Table Expression (CTE)

               few days ago I’ve written a  blog post in SQL server using CTE to find  Sundays. Lets dig some more deep in to this SQL server feature.

                                                        microsoft-sql-server-2008

    What is CTE

     The common table expression is a temporary named result set that can refer in a SELECT,INSERT, UPDATE or DELETE statement.

       simply a CTE is similar to a derived table but it is not stored as an object and lasts only for the duration of the query.

    Unlike a derived table, a CTE can be self referencing and can be referenced multiple times in the same query

we can use a CTE in View create statement also we can add CTE in to the new MERGE statement (In sql server 2008)

SQL Server support two types of CTEs

  • recursive
  • non recursive

 Syntax

A Common Table Expression contains three main parts:

  • The CTE name (this is what follows the WITH keyword)
  • The column list (optional)
  • The query (appears within parentheses after the AS keyword)

With CTE_Name (Column_Name_1, Column_Name_2 … Column_Name_n )
As
(
     cte_Query_Definition
)
--TSQL which uses the CTE

Some Examples

WITH Table1(Name,Designation,DateofJoin)
As   
(
    select CN.Name,D.Name,E.DateOfJoin from ContactName CN
    Inner join AM_Employee E on E.ContactId = CN.ContactId
    Inner join AM_Designation D on E.DesignationId = D.Id
)
select Name,Designation,DateofJoin from Table1