Friday 2 November 2018

C# Change Dataset Data to Proper Case/Title Case

ds.Tables[0].Select().ToList<DataRow>().ForEach(r => r["name"= ProperCase (r["name"].ToString()));
Func<string, object> ProperCase = obj =>
    !string.IsNullOrEmpty(obj.ToString()) ? 
             System.Threading.Thread.CurrentThread
             .CurrentCulture
             .TextInfo.ToTitleCase(obj.ToString()
             .Trim()
             .ToLower()) 
             : "";

Thursday 1 November 2018

Redux - Sample Store

import { createStore } from 'redux'

const
store = createStore((state = {count: 0}, action) => {
switch (action.type)
{
case 'SOME_ACTION':
return {
count: state.count + action.value
};
default:
return state;
}
});


store
.subscribe (() => console.log(store.getState())); // Watch for state changes
store
.dispatch({type: 'SOME_ACTION', value: 5}); // Dispatch action by value

Tuesday 30 October 2018

C# Export DataSet to CSV and Download

 protected void exportToCSV_Click(object senderEventArgs e)
    {
        if (exportToCSV.Visible && ViewState["data"!= null)
        {
            StringBuilder sb = new StringBuilder();
            DataTable dt = ((DataSet)ViewState["data"]).Tables[0];
 
            IEnumerable<string> columnNames = dt.Columns.Cast<DataColumn>().Select(column => column.ColumnName);
            sb.AppendLine(string.Join(","columnNames));
 
            foreach (DataRow row in dt.Rows)
            {
                IEnumerable<string> fields = row.ItemArray.Select(field => string.Concat("\""field.ToString().Replace("\"""\"\""), "\""));
                sb.AppendLine(string.Join(","fields));
            }
 
            Response.Clear();
            Response.ClearHeaders();
            Response.AddHeader("Content-Disposition""inline;filename=TeachersBySchoolAndGrade.csv");
            Response.AddHeader("Content-Type""application/Excel");
            Response.ContentType = "text/csv";
            Response.Write(sb);
            Response.Flush();
            Response.End();
        }
    }
 
 

Monday 22 October 2018

VSCode Detects lof of Changes (5K) - Exclude files/folder from Git

1. git rev-parse --show-toplevel
2. delete .git folder

1. add .gitignore file to the project
2. add the folder/module name int he added file (e.g. /src/app.js, /node_modules)


Wednesday 17 October 2018

Independent Redux

Independent Redux const redux = require ('redux'); // using node
const createStore = redux.createStore;

// initialize the state
const initialState = { counter: 0 }

// REDUCER
const rootReducer = (state= initialState, action) => { // set the initial state
    if (action.type === 'INC_COUNTER')
        return {
            ...state, // copy the old state - prevent changing the original state
            counter: state.counter + 1 // read the old state and update it to a new object
        };

    if (action.type === 'ADD_COUNTER')
        return {
            ...state, // copy the old state - prevent changing the original state
            counter: state.counter + action.value // read the old state and update it to a new object
        };

    return state; // finally return the state
}

// STORE
const store = createStore(rootReducer);
console.log(store.getState());

// SUBSCRIPTION - execute when state is updated - when action reach to reducer
store.subscribe (() => { console.log('[Subscription]', store.getState()); });

// DISPATCHER - Action
store.dispatch({type: 'INC_COUNTER'}); // for convention, use uupercase type
store.dispatch({type: 'ADD_COUNTER', value: 10}); // property name (value) is up to us
console.log(store.getState());


Sunday 16 September 2018

Change the Order of Windows app Icon Overally

  • Run “regedit” and locate: "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\ Explorer\ShellIconOverlayIdentifiers\"
  • rename the folders in order you want (trick use 01_, 02_ as prefixes)
  • terminate explorer.exe from task manager and re-run explorer.exe task.
 

JQuery Datatable Useful Tag Attributes

Set page length
data-page-length = "20"

Set default order column
data-order='[[0, "desc"]]'

Compact data-table
class = "display compact"


Sunday 9 September 2018

Opening Office apps Fails when run from Scheduled Task on Windows Server

When running under user account while the user is logged in, the task runs fine as it has access to the logged in "user desktop-profile". But when task runs under a service account as a job, it fails because the server COM issue which cannot access to "system desktop-profile". To fix the issue, add the following directory:

c:\windows\syswow64\config\systemprofile\desktop 


Monday 6 August 2018

C# REST Server POST and Get Response

async Task Main()
{
    string outputfile = "output.csv";
  
    File.Delete (outputfile);
  
    var httpWebRequest = (HttpWebRequest)WebRequest.Create(URL);
    httpWebRequest.ContentType = "application/json";
    httpWebRequest.Method = "POST";
  
    using (var streamWriter = new StreamWriter(httpWebRequest.GetRequestStream()))
    {
        string json = new JavaScriptSerializer().Serialize(new
        {
            startDate = "7/1/2018",
            endDate = "6/30/2019",
            codes = new string[] { "value1", "value2" },
            skus= "",
            returnCSV = 1
        });
        streamWriter.Write(json);
    }

    var httpResponse = (HttpWebResponse)httpWebRequest.GetResponse();
    using (var streamReader = new StreamReader(httpResponse.GetResponseStream()))
    {
        using (StreamWriter sw = new StreamWriter(outputfile))
            sw.Write(await streamReader.ReadToEndAsync());
    }
}

Sunday 5 August 2018

Upgrade Windows 11 Home to Windows 11 Pro

Disable internet connection (Wi-Fi, Internet, etc.) Change the product key using the following Generic product key:                     VK7J...