Saturday, March 23, 2019

Create CSV from Json Data


        function convertArrayOfObjectsToCSV(args) {
            var result, ctr, keys, columnDelimiter, lineDelimiter, data;

            data = args.data || null;
            if (data == null || !data.length) {
                return null;
            }

            columnDelimiter = args.columnDelimiter || ',';
            lineDelimiter = args.lineDelimiter || '\n';

            keys = Object.keys(data[0]);

            result = '';
         
            data.forEach(function(item) {
                ctr = 0;
                keys.forEach(function(key) {
                    if (ctr > 0) result += columnDelimiter;

                    result += item[key];
                    ctr++;
                });
                result += lineDelimiter;
            });

            return result;
        }




now days there are libraries exists which does this however  my company don't wanted to choose any library so like above approach

if you not restricted with adding new libraries then use CSVHelper 
https://joshclose.github.io/CsvHelper/ 

Thursday, March 7, 2019

C# .NET - julian date




1. for conversion from US/Uk format to Julian Format

 
public static long ConvertToJulian( DateTime dt)
    {
      int m = dt.Month;
      int d = dt.Day;
      int y = dt.Year;
 
        if(m < 3)
        {
            m = m + 12;
             y=y-1 ;
        }
        long jd = d + (153 * m - 457) / 5 + 365 * y + (y / 4) - (y / 100) + (y / 400) + 1721119;
        return jd;
    }

2. for conversion from Julian format to  US/Uk Format 

public static DateTime ConvertFromJulian(int m_JulianDate)
    {
 
      long L = m_JulianDate + 68569;
      long N = (long) ((4*L)/146097) ;
      L = L - ((long)((146097 * N + 3)/4) );
      long I = (long) ((4000 *(L + 1)/1461001)) ;
      L = L - (long)((1461*I)/4) + 31;
      long J = (long)((80*L)/2447);
      int Day = (int)(L - (long)((2447*J)/80));
      L=(long)(J/11) ;
      int Month = (int)(J + 2 - 12*L);
      int Year = (int)(100*(N-49) + I + L) ;
 
      DateTime dt = new DateTime(Year,Month,Day);
      return dt;
    }


this will solve you problem.......and hope you know how to pass parameter.....

Reference : http://www.nullskull.com/q/10284522/julian-dateurgent.aspx