Send an image (stored as base64 string) inline in email


Byte[] bitmapData = Convert.FromBase64String(FixBase64ForImage("Base64 string"));
System.IO.MemoryStream streamBitmap = new System.IO.MemoryStream(bitmapData);
var imageToInline = new LinkedResource(streamBitmap, MediaTypeNames.Image.Jpeg);
imageToInline.ContentId = "Pic1";
AlternateView avHtml = AlternateView.CreateAlternateViewFromString(mailMessage.Body, null, MediaTypeNames.Text.Html);
avHtml.LinkedResources.Add(imageToInline);
mailMessage.AlternateViews.Add(avHtml);

public static string FixBase64ForImage(string Image)
{
System.Text.StringBuilder sbText = new System.Text.StringBuilder(Image, Image.Length);
sbText.Replace("\r\n", string.Empty); sbText.Replace(" ", string.Empty);
return sbText.ToString();
}

Put/Delete http verb not working server

Please add following code in web.cofig file.


<system.webServer>
		<modules>
			<remove name="WebDAVModule"/>
			<remove name="FormsAuthentication" />
			<remove name="ApplicationInsightsWebTracking" />
			<add name="ApplicationInsightsWebTracking" type="Microsoft.ApplicationInsights.Web.ApplicationInsightsHttpModule, Microsoft.AI.Web" preCondition="managedHandler" />
		</modules>
		<handlers>
			<remove name="WebDAV" />
			<remove name="ExtensionlessUrlHandler-Integrated-4.0" />
			<remove name="OPTIONSVerbHandler" />
			<remove name="TRACEVerbHandler" />
			<add name="ExtensionlessUrlHandler-Integrated-4.0" path="*." verb="*" type="System.Web.Handlers.TransferRequestHandler" preCondition="integratedMode,runtimeVersionv4.0" />
		</handlers>

If not solve then please follow link.

Honesty and humanity is not only demesne of people who has status in society

The day 6th September 2016, I and my friend met at tea stall near G-2 circle for breakfast around 9.00 am. Usually, we meet there not daily. As always, we do fun there by teasing uncle (the shopkeeper) and left this place around 10:00 am.

My friend was doing job in Ahmedabad and we live in Gandhinagar. He always park his motorcycle near GH-2 Circle, cross the road to pick up bus/car for Ahmedabad. It was his daily routine. But that day, he could not crossed the road. When he was crossing the road, he got an accident with an auto-rickshaw. Ajay (my friend) covered his face by his hand, however, the speed was high so an auto-driver could not control, the front-mirror of auto broke Ajay’s nose and cut right hand palm. He was unconscious for few minutes.

A girl who was traveling in auto, called 108 and someone call me from my friend’s mobile because in call list, last dial number was mine. I was reach at an accident place in 5 minutes and talked to a girl and others. Also, call to 108, van reached after 10 minutes after my call. Shifted to Civil hospital, Gandhinagar.

Government servant, always follow the rules even though a Man is dying. The same story happened what we usually see in movies. Doctors did not ready to do treatment until not ready to do police case, an auto drive came with us as human being but he was afraid by police case. Mr. Chauhan begged me to do not do police case. Mr. Chauhan words were “I am not runaway as others. I came with you in hospital. I have no money. I am poor. Please do not do police case.” (“સાહેબ હું ભાગી ના ગયો બાકી બધા તો ભાગી જાય છે. મારી પાસે રૂપિયા નથી મારા પર પોલીસ કેશના કરો. હું ગરીબ માનસ છુ.”) He told me other things too but dislike to describe here. I convinced him, don’t worry, we will not do police but in front of doctor please ready to do police case so doctor start treatment. He agreed, doctor start treatment by confirming us, we will do a police case. A policeman reach after 2 hours in hospital. I talked with him, it was an accident, and no one is accused. So please do not do police case against auto-driver. Ajay was also gave same statement as he dislike to do police case to poor auto-driver. We, all know now a days, there is not an easy to run family. A policeman was a good person. He confirmed twice with us not to do police case and told us a great decision taken by you guys. An auto-driver shake his hand and told us, can he leave, his family in tension and waiting for him. We told, yes please go. Policeman sitting with us for few minutes and left.

A man (auto-driver) is poor, not strong family/society background, however, he did not run away from his responsibility. He taught me that honesty and humanity is not demesne of rich people or who has status in the society.

રક્ષા બંધન

એક પવિત્ર દિવસ, એક પવિત્ર સબંધ. આ દિવસે બહેન ભાઈની રક્ષા માટે પ્રાથના કરે અને ભાઈ બહેનને ભેટ અને આ જીવન રક્ષા કરવાનું, બહેનની સારી ખરાબ બધી તકલીફમાં સાથ આપવાનું વચન આપે. ભારત દેશ, રઘુ વંશનો દેશ છે એટલે કે “રઘુ કુલ રીત સદા ચલી આવી, પ્રાણ જાય પણ વચન ના જાય”. ભાઈએ બહેન ને આપેલું વચન આખી જિંદગી યાદ રાખી ને નિભાવે.

એકે સુતરના તાંતણે બંધાયેલો આ “પ્રેમ” છે અને આ “પ્રેમ” એવો કે ભાઈ-બહેન નું દિલ ખુશીઓં થી ભરી દે છે.

બાળપણમાં આ દિવસે મિત્રો વચ્ચે સરખામણી થાય, કોના હાથમાં સૌથી વધારે રાખડી છે, કોને સૌથી વધારે બહેન છે. જેના હાથ માં સૌથી વધારે રાખડી હોય, એ બધા મિત્રો વચ્ચે પોતાનો કોલર ઉંચો કરીને ચાલે. આડા દિવસ એ બહેન ને એક રમકડું પણ ના અડવા દેતો હોય એ ભાઈ આ દિવસ એ બહેન મનગમતી વસ્તુ આપવામાં અચકાઈ નહિ. આ નિસ્વાર્થ પ્રેમ છે ભાઈ બહેન વચ્ચેનો.

પણ આ જ બાળક જયારે યવાનીના ઉંબરે પગ મુકે છે, બહેન કરતા અને મિત્રમાં (Girl Friend) વધારે રસ પડે છે ને અને મિત્રો વચ્ચે સરખામણી કોલેજ Canteen માં કરે કોને કેટલા Friendship Belt હાથ પર બાંધ્યા છે. હા, મિત્રો ભૂલી ના જતા ૨૦૧૭માં, “Friendship Day” ના બીજા જ દિવસે રક્ષાબંધન છે.

મારી આ વાત વાંચીને, બધાને પોતાના કોલેજના દિવસો યાદ આવી ગયા હશે અને જે અત્યારે કોલેજ કાળમાં હશે એને ડર લાગવા લાગ્યો હશે કે કોલેજ ની કોઈ છોકરી Friendship Belt ના બદલે રાખડી તો નઈ બાંધી જાય ને.

છોકરો મોટો થઇ એટલે બાપનો મિત્ર બની જાય. બાપએ એની સાથે એક મિત્ર બનીને વાત કરવી. મિત્ર બની ને સલાહ આપવી તો જ દીકરો સાંભળે. બાકી હવાજ નો દીકરો કોઈના બાપનું ના સાંભળે.

એવી જ રીતે મારા મિત્રો છોકરી મોટી થાય એટલે એને નાની બહેન ની જેમ નહિ પણ એક મિત્ર તરીકે સાંભળવી, એક મિત્ર તરીકે અની ઈચ્છા, આકાંશા, મહત્વાકાંક્ષા સાંભળવી અને એને માન આપવું, જ્યાં એ ખોટી હોય ત્યાં એને એક મિત્ર બનીને સમજાવી. ખાસ તો આપડા રુડીચુસ્ત વિચારો માંથી એને મુક્તિ આપવી, દુનિયામાં કશું કરી બતાવવા માટે એને ભણવા,પહેરવા અને ફરવા ની છૂટ આપવી.

કેટલાક યુવાનો આ પોસ્ટ વાંચી ને વિચારમાં પડશે, બહેન ને મિત્ર અને મિત્રને બહેન કેમ કરી ને મનાય. મારા મિત્રો, પત્ની/પ્રેમિકા એક જ હોય બાકી બધી બહેન અને મિત્ર જ હોય એટલે વધારે વિચાર કરશો નહિ. “Happy Rakhi Day and Happy Friendship Day”

Dynamically add rows and html controls in table using jQuery

How to add rows dynamically in HTML table with textbox and textarea controls. Example: Download

<html>
<head>
<title>Table Dynamic Row Add Delete Demo</title>
<script src="https://code.jquery.com/jquery-3.2.1.js"
integrity="sha256-DZAnKJ/6XZ9si04Hgrsxu/8s717jcIzLy3oi35EouyE="
crossorigin="anonymous"></script>
</head>
<body>
<div>
<table id="tbl1">
<thead>
<tr>
<th>
Family
</th>
<th>
Address
</th>
</tr>
</thead>
<tbody>
<tr>
<td>
<input type="text" id="txtFamil_01" name="txtFamily_01" />
</td>
<td>
<input type="text" id="txtAddress_01" name="txtAddress_01" />
</td>
</tr>
<tr>
<td>
<textarea id="txtFamil_02" name="txtFamily_02"></textarea>
</td>
<td>
<textarea id="txtAddress_02" name="txtAddress_02"></textarea>
</td>
</tr>
</tbody>
</table>
<br />
<button type="button" id="btnAddNewRow">Add New Row</button>
<button type="button" id="btnSave" name="btnSave">Save</button>
</div>
<script type="text/javascript">
$(document).ready(function () {
$("#btnAddNewRow").on("click", function () {

var $newRows = $get_lastID();

$(“#tbl1>tbody”).append($newRows);

});

$get_lastID = function () {
var $id = $(‘#tbl1 tbody tr:last-child td:first-child textarea’).attr(“name”);
$lastChar = parseInt($id.substr($id.length – 2), 10);
$lastChar = $lastChar + 1;
var $newRows=””;
$newRow1 = “<tr> \
<td><input type=’text’ name=’txtFamily_0″+ $lastChar + “‘ /></td> \
<td><input type=’text’ name=’txtAddress_0” + $lastChar + “‘ /></td> \ </tr>”

$newRow2 = “<tr> \
<td><textarea type=’text’ name=’txtFamily_0″+ ($lastChar + 1) + “‘></textarea></td> \
<td><textarea type=’text’ name=’txtAddress_0” + ($lastChar + 1) + “‘></textarea></td> \ </tr>”

$newRows = $newRow1+$newRow2;

return $newRows;
}

$(“#btnSave”).on(“click”, function () {
$(“#tbl1 tbody tr”).each(function (i, tr) {

var famil1, famil2, address1, address2;

if (i % 2 === 0) { /* textbox find here*/
famil1 = $(this).find(‘td’).eq(0).find(‘input’).val();
famil2 = $(this).find(‘td’).eq(1).find(‘input’).val();
alert(famil1 + ” ” + famil2);
}
else { /* textarea find here */

address1 = $(this).find(‘td’).eq(0).find(‘textarea’).val();
address2 = $(this).find(‘td’).eq(1).find(‘textarea’).val();
alert(address1 + ” ” + address2);

}

});

});
});
</script>
</body>
</html>

CSS style problem with MVC rendered checkboxes using MVC helper

I have faced the issue with CSS for checkboxes in asp.net mvc. Below is mvc code.


 @Html.CheckBoxFor(model => model.GroupClosed)
  <label for="GroupClosed" class="block">
                            Group Closed
                        </label>

It will render as below:


 <div class="checkbox clip-check check-primary">
                        <span class="control-label" style="color:white">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span>
                        <input id="GroupClosed" name="GroupClosed" type="checkbox" value="true"><input name="GroupClosed" type="hidden" value="false">
                        <label for="GroupClosed" class="block">
                            Group Closed
                        </label>
                    </div>                     

Before modify the css file as below.


.clip-check input[type="checkbox"]:checked + label:before,
 {
  border-width: 10px;
}

After modify:


.clip-check input[type="checkbox"]:checked + label:before,
.clip-check  input[type="checkbox"]:checked + input[type="hidden"] + label::before {
  border-width: 10px;
}

Note that the bold line contains the input[type=”hidden”] which identifies the hidden checkbox and solve the issue. I have added this line and make changes according to css has been written in css file. Happy 🙂

નિર્માની પુરુષ

જુન ૨૦૧૬, એક અઠવાડિયા પેહલા જ નક્કી થઇ ગયું હતું કે અમે પાંચ મિત્રો પૂજ્ય મહંત સ્વામી ને મળવા તીથલ જઈશું. પ્લાન પ્રમાણે જ મેં શુક્રવારે અડધી રાજા લઇ ને એક્ષપ્રેસ હાઈવે પહોચી ગયો. પણ દક્ષેશ મને લેવા અમદાવાદ ના આવી શક્યો એટલે હું બસ માં ઘરે, આણંદ પહોચી ગયો. પછી ૮.૩૦ વાગે અમે પાંચ મિત્રો તીથલ જવા નીકળ્યા. રાતે ૨.૦૦ વાગે અમે મંદિર પહોચ્યા ને એક સ્વામી સાથે વાત કરી તો ખબર પડી કે પૂજાય મહંત સ્વામી તો સેલવાસ છે. સ્વામી એ કીધું અત્યારે રાતે ના જવાય રાત અહિયાં આરામ કરો ને સવાર માં વેહલા નીકળી જજો એટલે મળી લેવાશે. અમે રાત તીથલ રોકાયા સવાર માં ભગવાન ના દર્શન અને દરિયા ના દર્શન કરી ૮.૩૦ વાગ્યા ની આજુબાજુ સેલવાસ જવા નીકળ્યા. ૧૧.૦૦ વાગે મુલાકાત નો સમય હતો. ઠાકોરજી ના દર્શન કરીને અમે સ્વામી ની રૂમ આગળ જઈને બેસી ગયા ને બધા મિત્રો વાત કરવા લાગ્યા. ૧૧.૩૦ વાગે સ્વામી થી મુલાકાત થઇ આશીર્વાદ લીધા ને બધા બહાર આવી ગયા પણ અમે સ્વામી સાથે વાત કરી ને એટલા ખુશ હતા કે સ્વામી સાથે ગ્રુપ ફોટો પડવાનો રહી ગયો. એટલે અમે સેવક સંત ને વાત કરી, સ્વામીના જમવાનો સમય થઇ ગયો હતો છતાં સ્વામી એ કીધું છોકરાઓ ને આવદો.

અમે બધા મિત્રો રૂમમાં ગયા. સ્વામી બેઠા હતા અમે પાછા વાતો કરવા લાગ્યા સ્વામી અમને શાંતિથી સંભાળતા. પછી અમે કીધું સ્વામી અમારે ગ્રુપ ફોટો પડાવો છે. સ્વામી તરત ઉભા થઈ ગયા ફોટો પડવા માટે અને અમને ખબર ના રહી કેમ કે અમે ફોટો પાડે એવા ભાઈ ની શોધમાં હતા ને વાતો કરતા હતા. એટલી વાર માં તો સ્વામી ની આગળ જ ટીપોઈ પડી હતી એ સ્વામી ખાસડવા લાગ્યા કેમ કે જયારે ફોટો પાડવા અમે પાંચ મિત્રો ઉભા રેહતા તો ટીપોઈ ના લીધે ઉભા ના રહી સકતા ને અમારે ખસેડવી જ્ પડતી. અમારે ખસેડવી ના પડે એટલે સ્વામી જાતે જ ખસડવા લાગ્યા. આટલા મોટા પુરષ, જેની નીચે હજારો સંત્તો ને અનુયાયો છે. જેમાં થી તો કેટલાય લોકો I.A.S, નેતા અને બીજી કેટલી ઉંચી પદવી પર હશે જે બધા સ્વામી નો પડ્યો બોલ જીલી લે છે ને એ જ સ્વામી અમારા જેમને જીવન માં કોઈ મોટું કામ નથી કર્યું, કોઈ આવી મોટી પદવી નથી મેળવી તો પણ આટલું ધ્યાન રાખી હસતા મોડે બધી ઈચ્છા પૂરી કરે. આવું કોણ કરી શકે? કેટલાય લોક ને ફરિયાદ હોય છે સ્વામી મારી સામે તો જોતા જ નથી. પણ હું મારા અનુભવ પર થી કહું સ્વામી સામે જોવે જ છે બસ એ નજર અંતર ની હોય છે. આવા નિર્માની પુરષ ને સાધુ આપડા ગુરુ છે, આપડા કેટલાય સારા કર્મોનું ફળ હશે. એટલે હું બધા સત્સંગી ને એક જ પ્રાથના કરું ક્યારે અહંમ ને આપડો શિકાર કરવા ના દો. ભગવાન સ્વામીનારાયણ ના ચરણો માં પણ એ જ પ્રાથના અહંમ, માયા થાકી રક્ષા કરો ધર્મ, જ્ઞાન, મોક્ષ અને અર્થ સિદ્ધી આપો. એ મેળવા માં આવતી દરેક પ્રકાર ની તકલીફ થી લડવા માં બુધિ અને બળ આપો. જય સ્વામીનારાયણ!!

7 points will taking care of your life

On 12 Feb 2017, I met Vishwas Jambu and Nikhileswarananda in a conference at Anand the Milk City. I like most Vishwas’ speech. He shared his thoughts which can make everyone’s life better that’s my belief. His thought perfectly match with mine that is the reason I would like to share it to everyone.

  • Focus on major things not minor things in life. For example, you want to go to watch the movie with a friend not girl friend or boy friend, ticket is booked. Your dad is rejected to give a car. You have bike. In that case movie is important thing not a car and reach at time to theater. 🙂
  • Run towards to fear. One of my friend get the job but there is a condition if his performance won’t good company will terminate in probation period. Probation period time limit is three months. He has no other job. However, he feels fear to accept this job. In that case, I think he should accept the challenge by over ruled to fear.
  • Be first, be fast and be fantastic. Today’s day to day life is very fast. In that if you are not think different, not earn well and not develop your personality. The world will reject you from every where. So think different, high and do well so the world gives you respect.
  • Art of distractions: For example, when you do serious task in your office/home or any place and your phone is ringing. It is distracting you from your work. You can keep silent your phone for that much time so it will not distracting you.
  • Intention
  • Give 60 minutes to your life to do exercise, reading and keep silence to better health.
  • Vertical alignment (Decide Priorities) is really needed in everybodies life.
      1. Health
      1. God/Guru (Spiritual Activities)
      1. Job/Business/Profession – income source
      1. Family
      1. Hobby

    Hope you like this blog. Thank you for reading 🙂

Generate and Download PDF file on Ajax Post method, C#

Requirements: On ajax post, save data to database, generate invoice and download as PDF file. There are many open source packages available to generate PDF file. So I’m not going describe that using which paid/free package is used to generate PDF file. I am going to describe the trick how can download the generated PDF file without saving on hard drive.

HomeController.CS


public class HomeController : Controller
    {
        public ActionResult Index()
        {         
            return View();
        }

        public ActionResult Download()
        {
            //using (var ms = new MemoryStream())
            //{
                //using (var document = new Document(PageSize.A4, 50, 50, 15, 15))
                //{
                //    PdfWriter.GetInstance(document, ms);
                //    document.Open();
                //    document.Add(new Paragraph("HelloWorld"));
                //    document.Close();
                //}
                //Response.Clear();
                ////Response.ContentType = "application/pdf";
                //Response.ContentType = "application/octet-stream";
                //Response.AddHeader("content-disposition", "attachment;filename= Test.pdf");
                //Response.Buffer = true;
                //Response.Clear();
                //var bytes = ms.ToArray();
                //Response.OutputStream.Write(bytes, 0, bytes.Length);
                //Response.OutputStream.Flush();
           // }

            return View();
        }

        [HttpPost]
        public ActionResult Save()
        {

// write code here to save the data in database. 
            var fName = string.Format("MYPDF-{0}.pdf", DateTime.Now.ToString("s"));
            using (var ms = new MemoryStream())
            {
                using (var document = new Document(PageSize.A4, 50, 50, 15, 15))
                {
                    PdfWriter.GetInstance(document, ms);
                    document.Open();
                    document.Add(new Paragraph("HelloWorld"));
                    document.Close();
                }

                var bytes = ms.ToArray();              
                Session[fName] = bytes;
            }

            return Json(new { success = true, fName }, JsonRequestBehavior.AllowGet);
            //return View();
        }
         public ActionResult DownloadInvoice(string fName)
         {
             var ms =  Session[fName] as byte[] ;
             if(ms == null)
                 return new EmptyResult();
             Session[fName] = null;
             return File(ms, "application/octet-stream", fName);
         }
    }

Index.cshtml

 <input type="button" id="btnSave" value="Save & Download PDF" />
 
 $(document).ready(function () {
 $("#btnSave").click(function () {
 $.ajax({
 type: 'POST',
 url: "/home/save",
 dataType: "json",
 success: function (resultData)
 {
 if (resultData.success) {
 window.location = "/home/DownloadInvoice" + "?fName=" + resultData.fName;
 }
 }
 });
 })
 })
 

On ajax post method, data will save into the database. Here Save is a post method. Check the HomeController.CS file. Generate file and save an array of byte in Session. In JSON result, send the name of file. Ajax post method retrieve the data and using window.location send request to server to download the file. Now, check DownloadInvoice method in HomeController.cs.

Thank you for reading this post.