Sunday, 13 September 2015

@model IEnumerable<Models>

@{
    ViewBag.Title = "List Articles";
    Layout = "~/Areas/Admin/Views/Shared/_Layout.cshtml";
}

<!-- DataTables CSS -->
<link href="../../Datatable/datatables-plugins/integration/bootstrap/3/dataTables.bootstrap.css" rel="stylesheet" />
<script src="../../Datatable/DataTables/media/js/jquery.dataTables.min.js"></script>
<script src="../../Datatable/datatables-plugins/integration/bootstrap/3/dataTables.bootstrap.min.js"></script>
<link href="../../Datatable/datatables-responsive/css/dataTables.responsive.css" rel="stylesheet" />
<!-- DataTables Responsive CSS -->

<div class="row">
    <div class="col-lg-12">


        <table class="table table-striped table-bordered table-hover" id="tblSearch">
            <thead>
                <tr>
                    <th style="display: none;">
                        ArticleId
                    </th>
                    <th style="width: 20%;">
                        Member Name
                    </th>
                    <th style="width: 50%;">
                        Article Name
                    </th>
                    <th style="width: 10%;">
                        Status
                    </th>
                    <th style="width: 10%;"></th>
                    <th style="width: 10%;">
                        <div style="text-align:center">
                            View
                        </div>
                    </th>
                </tr>
            </thead>
            <tbody>
                @foreach (var item in Model)
                {
                    <tr>
                        <td style="display: none;">
                            @Html.DisplayFor(modelItem => item.ArticleId)
                        </td>
                        <td>
                            @Html.DisplayFor(modelItem => item.User.FirstName) &nbsp; @Html.DisplayFor(modelItem => item.User.LastName)
                        </td>
                        <td>
                            @Html.DisplayFor(modelItem => item.ArticleName)
                        </td>
                        <td>
                            @Html.DisplayFor(modelItem => item.Status.StatusName)
                        </td>
                        <td align="center">
                            @(Convert.ToBoolean(item.IsActive) ? Html.ActionLink("Active", "ActiveInActive", new { id = item.ArticleId }) : Html.ActionLink("InActive", "ActiveInActive", new { id = item.ArticleId }))
                        </td>
                        <td align="center">
                            @Html.ActionLink("View", "View", new { Id = item.ArticleId , Area = "admin"})
                            @*<a href="/Article/View?Id=@item.ArticleId">View</a>*@
                        </td>
                    </tr>
                }
            </tbody>
        </table>
    </div>
</div>


<!--Date Time Picker-->
<link href="~/Content/datetimepicker-master/jquery.datetimepicker.css" rel="stylesheet" />
<script src="~/Scripts/jquery-1.10.2.js"></script>
<script src="~/Content/datetimepicker-master/jquery.datetimepicker.js"></script>
<!--Date Time Picker-->
<script type="text/javascript">

    $(document).ready(function () {
        $('#tblSearch').DataTable({
            "oLanguage": { "sSearch": "Search:" },
            "iDisplayLength": 10,
            "bPaginate": true,
            "bLengthChange": true,
            "bFilter": true,
            "bSort": true,
            "bInfo": true,
            "bAutoWidth": false,
            "aaSorting": [[0, "Desc"]],
            "lengthMenu": [[10, 25, 50, -1], [10, 25, 50, "All"]]
        });


        $('#datepicker2').datetimepicker({
            format: 'd/m/Y',
            scrollinput: false,
            formatDate: 'd/m/Y',
            minDate: '-1970/01/02',
            closeOnDateSelect: true,
            onShow: function (ct) {
                this.setOptions({

                    maxDate: $('#datepicker1').val() ? $('#datepicker1').val() : false
                })
            },
            timepicker: false
        });

    });

</script>

  [Required(ErrorMessage = "Plaese Select Event Date")]
        [DisplayFormat(DataFormatString = "{0:dd/MM/yyyy}", ApplyFormatInEditMode = true)]
        [Display(Name = "Event Date")]

Thursday, 16 July 2015

Encrypt and Decry-pt Password

  public  class Password
    {
      public static string CreateRandomPassword(int Length)
      {
          Random rnd = new Random(Convert.ToInt32(DateTime.Now.Millisecond));  //Creates the seed from the time
          string Password = "";
          while (Password.Length < Length)
          {
              char newChar = Convert.ToChar((int)((122 - 48 + 1) * rnd.NextDouble() + 48));
              if ((((int)newChar) >= ((int)'A')) & (((int)newChar) <= ((int)'Z')) | (((int)newChar) >= ((int)'a')) & (((int)newChar) <= ((int)'z')) | (((int)newChar) >= ((int)'0')) & (((int)newChar) <= ((int)'9')))
                  Password += newChar;
          }
          return Password;
      }
      public static string GetMd5Hash(string value)
      {
          var md5Hasher = MD5.Create();
          var data = md5Hasher.ComputeHash(Encoding.Default.GetBytes(value));
          var sBuilder = new StringBuilder();
          for (var i = 0; i < data.Length; i++)
          {
              sBuilder.Append(data[i].ToString("x2"));
          }
          return sBuilder.ToString();
      }
      const string passphrase = "Password@123";  //consant string Pass key

      public string encrypt(string message)
      {
          byte[] results;
          UTF8Encoding utf8 = new UTF8Encoding();
          //to create the object for UTF8Encoding  class
          //TO create the object for MD5CryptoServiceProvider
          MD5CryptoServiceProvider md5 = new MD5CryptoServiceProvider();
          byte[] deskey = md5.ComputeHash(utf8.GetBytes(passphrase));
          //to convert to binary passkey
          //TO create the object for  TripleDESCryptoServiceProvider
          TripleDESCryptoServiceProvider desalg = new TripleDESCryptoServiceProvider();
          desalg.Key = deskey;//to  pass encode key
          desalg.Mode = CipherMode.ECB;
          desalg.Padding = PaddingMode.PKCS7;
          byte[] encrypt_data = utf8.GetBytes(message);
          //to convert the string to utf encoding binary

          try
          {

              //To transform the utf binary code to md5 encrypt
              ICryptoTransform encryptor = desalg.CreateEncryptor();
              results = encryptor.TransformFinalBlock(encrypt_data, 0, encrypt_data.Length);

          }
          finally
          {
              //to clear the allocated memory
              desalg.Clear();
              md5.Clear();
          }

          //to convert to 64 bit string from converted md5 algorithm binary code
          return Convert.ToBase64String(results);

      }




      public string decrypt(string message)
      {
          byte[] results;
          UTF8Encoding utf8 = new UTF8Encoding();
          MD5CryptoServiceProvider md5 = new MD5CryptoServiceProvider();
          byte[] deskey = md5.ComputeHash(utf8.GetBytes(passphrase));
          TripleDESCryptoServiceProvider desalg = new TripleDESCryptoServiceProvider();
          desalg.Key = deskey;
          desalg.Mode = CipherMode.ECB;
          desalg.Padding = PaddingMode.PKCS7;
          byte[] decrypt_data = Convert.FromBase64String(message);
          try
          {
              //To transform the utf binary code to md5 decrypt
              ICryptoTransform decryptor = desalg.CreateDecryptor();
              results = decryptor.TransformFinalBlock(decrypt_data, 0, decrypt_data.Length);
          }
          finally
          {
              desalg.Clear();
              md5.Clear();

          }
          //TO convert decrypted binery code to string
          return utf8.GetString(results);
      }
    }