Get last and current quarter in javascript

function getQuarter(id) {
var d = new Date();
var quarter = Math.floor((d.getMonth() / 3));

switch (id) {
case "Current":
var firstDate = new Date(d.getFullYear(), quarter * 3, 1);
var endDate = new Date(firstDate.getFullYear(), firstDate.getMonth() + 3, 0);
break;
case "Previous":
var firstDate = new Date(d.getFullYear(), quarter * 3 - 3, 1);
var endDate = new Date(firstDate.getFullYear(), firstDate.getMonth() + 3, 0);
break;
}
}

 

SQL Server 2016 Always Encrypted Timeout at IIS

Always Encrypted is a feature designed by the Microsoft in SQL Server 2016 to protect sensitive data, such as credit card numbers or national identification numbers (SSN). It allows clients to encrypt sensitive data inside client applications.

When you work with Always Encrypted in development environment, it will be works fine because it requires certificate keys, which will be already installed on Dev machine. But when you moved to production environment it will not work. The Certificate needs to install on that server to run the web application. Without it encryption will not work. You will get database timed out error or encryption error while run the application.

For example:
Execution Timeout Expired.  The timeout period elapsed prior to completion of the operation or the server is not responding.

To resolve this error, you need to install the certificate on the server for specific user. After that you have to defined, selected user in application pool advanced properties. Which user you need to enabled the “Load user profile” property too under “Process Model”.

iis-load-user-profile

The provided anti-forgery token was meant for user “”, but the current user is “user@example.com”

While working with Asp.net MVC, I got HttpAntiForgeryException exception (The provided anti-forgery token was meant for user “”, but the current user is “user@example.com”) at login page. It happens when user login with valid credentials and re-directed to inner page ofr the application. At inner pages he press the browser back button and will show login page again. He entered the valid credentials again that time, this exception will generate and display on the browser.

To fix this exception: Need to add [OutputCache(NoStore=true, Duration = 0, VaryByParam= “None”)] line to your login get method.

[AllowAnonymous]
[HttpGet]
[OutputCache(NoStore=true, Duration = 0, VaryByParam= "None")]
public ActionResult Login(string returnUrl)
{
ViewBag.ReturnUrl = returnUrl;
return View();
}

How to fix apache drill startup error on windows-10

Apache Drill can be downloaded from here. It will works fine on windows 7 but it is giving error when you install it as embedded mode on Windows-10. Error is something like that after running the command:

sqlline.bat -u “jdbc:drill:zk=local”

Error during udf area creation [/C:/Users/<user>/drill/udf/registry] on file system [file:///] (state=,code=0)

After googling I found this is related to ownership and missing folder on users directory. To resolve it we need to manually create the folders and update the ownership of them. Below are the commands which we need to run before start.

mkdir “%userprofile%\drill”
mkdir “%userprofile%\drill\udf”
mkdir “%userprofile%\drill\udf\registry”
mkdir “%userprofile%\drill\udf\tmp”
mkdir “%userprofile%\drill\udf\staging”

takeown /R /F “%userprofile%\drill

how to remove helper warnings at visual studio mvc view page

While working on MVC project we can get warnings in the MVC view/ partial view / layout page.

The name ‘ViewBag’ does not exist in the current context

‘System.Web.WebPages.Html.HtmlHelper’ does not contain a definition for ‘ActionLink’ …

‘System.Web.WebPages.Html.HtmlHelper’ does not contain a definition for ‘AntiForgeryToken’ …

These are due to wrong version in the config file. To fix this we need to update the version of the few things and reopen the project.

Here are few things which I have updated:

<add key="webpages:Version" value="2.0.0.0" />
<add key="webpages:Version" value="3.0.0.0" />
<dependentAssembly>
  <assemblyIdentity name="System.Web.Helpers" publicKeyToken="31bf3856ad364e35" />
  <bindingRedirect oldVersion="1.0.0.0-2.0.0.0" newVersion="2.0.0.0" />
</dependentAssembly>
<dependentAssembly>
  <assemblyIdentity name="System.Web.Mvc" publicKeyToken="31bf3856ad364e35" />
  <bindingRedirect oldVersion="1.0.0.0-4.0.0.0" newVersion="4.0.0.0" />
</dependentAssembly>
<dependentAssembly>
  <assemblyIdentity name="System.Web.WebPages" publicKeyToken="31bf3856ad364e35" />
  <bindingRedirect oldVersion="1.0.0.0-2.0.0.0" newVersion="2.0.0.0" />
</dependentAssembly>
<dependentAssembly>
  <assemblyIdentity name="System.Web.Helpers" publicKeyToken="31bf3856ad364e35" />
  <bindingRedirect oldVersion="1.0.0.0-3.0.0.0" newVersion="3.0.0.0" />
</dependentAssembly>
<dependentAssembly>
  <assemblyIdentity name="System.Web.Mvc" publicKeyToken="31bf3856ad364e35" />
  <bindingRedirect oldVersion="1.0.0.0-5.0.0.0" newVersion="5.0.0.0" />
</dependentAssembly>
<dependentAssembly>
  <assemblyIdentity name="System.Web.WebPages" publicKeyToken="31bf3856ad364e35" />
  <bindingRedirect oldVersion="1.0.0.0-3.0.0.0" newVersion="3.0.0.0" />
</dependentAssembly>
 

 

JSON date to Date object – javascript

While working with web services or API with json return, we will get date values in different format, we can’t use this as is where required.

To convert to date object we need to extract integer value and then pass to Date object, below example shows how to get valid date object.

[javascript]
var json = “/Date(-1827639000000)/”
var mytime = new Date(parseInt(json.replace(“/Date(“, “”).replace(“)/”,””), 10));
alert(mytime);
alert(mytime.toUTCString());

[/javascript]

How to display negative time in excel cell

While working with excel application I found that if we find difference between 2 times is negative then excel doesn’t display time, it shows “##########” instead of values. For positive difference we don’t have any issue.

There are 2 ways to handle this, using 1904 date system and other using custom formula.

To change the date system you need open Advance options of excel and enable the 1904 date system box.

Use the formula:

=IF(D2-A2<0, "-" & TEXT(ABS(D2-A2),"hh:mm"), D2-A2)

 

 

How to fix the outlook issue when its prompting the password again and again

We are using Microsoft Outlook on our desktops or laptops to view emails offline. Some times on start the outlook it prompt us to provide valid password. After providing valid password it prompt again. This will be some irritating.

To fix this type of issue we do have 2 ways:

  • Remove the saved credentials of outlook from windows credentials manager, using these steps:
    • Click Start, click Control Panel, and then click Credential Manager.
    • Note If View by is set to Category, click User Accounts first, and then click Credential Manager.
    • Locate the set of credentials that has Outlook in the name.
    • Click the name to expand the set of credentials, and then click Remove from Vault.
    • Repeat step 3 for any additional sets of credentials that have the word Outlook in the name.
  • In outlook, go to ?Email Accounts -> More Settings? ?> ?Outgoing Server? ?> Check First checkbox and first radio button.

How to recover an archived email from your gmail account

Most of the people in the world are using GMAIL for their email, its a free and support unlimited storage (15 GB).

Some times while viewing the email on desktop / handheld devices, archived option is clicked accidentally. If you want to recover that email from archived folder, just use these steps:

  • Open your gmail account
  • Go to left panel and click on “All Mails”
  • Search your email and open it
  • After opening, click on “Move to Inbox” button.
  • Now you can see your archived email to inbox folder

Archive folder is good for keeping the emails, if you want to delete the emails which is not used, without deleting permanently them move to archived folder.

Comparison between ASP.Net and ASP.Net MVC

ASP.Net is development platform for building websites, pages using HTML, CSS, JavaScript?s and Server Side Scripting.

Few years back Microsoft released new version of ASP.Net called ASP.Net MVC which is mainly based on Model View Controller design. It is a lightweight and have all enhanced features of asp.net with more security and testable framework.

Asp.Net Web Forms Asp.Net MVC
It follow a traditional event driven development model It is a lightweight and follow MVC (Model, View, Controller) pattern based development model
It has server controls. It has html helpers.
It has state management (like as view state, session) techniques. It has no automatic state management techniques.
It has file-based URLs means file name exist in the URLs must have its physically existence. It has route-based URLs means URLs are divided into controllers and actions and moreover it is based on controller not on physical file.
It follows Web Forms Syntax It follow customizable syntax (Razor as default)
In It, Web Forms (ASPX) i.e. views are tightly coupled to Code behind (ASPX.CS) i.e. logic. In It, Views and logic are kept separately.
It has Master Pages for consistent look and feels. It has Layouts for consistent look and feels.
It has built-in data controls and best for rapid development with powerful data access. It is lightweight, provide full control over markup and support many features that allow fast & agile development
It has User Controls for code re-usability. It has Partial Views for code re-usability.
It is not Open Source. Asp.Net Web MVC is an Open Source.