Получить праздники из базы данных, используя jquery DatePicker - PullRequest
0 голосов
/ 02 марта 2020

Я использовал JQuery Пользовательский интерфейс DatePicker для выбора даты и последующего отображения данных из базы данных. У меня есть 2 таблицы, HOLIDAYS и SUMMARYDATA. И теперь я ищу способ получить мою таблицу HOLIDAYS из базы данных. И затем, я хочу установить некоторые условия в STATUSIN и HOLIDAYDATE: if STATUSIN == HOLIDAYDATE THEN TOTALWH = '00:00:00'

Таблица SUMMARYDATA

NIP  NAME   DEPARTMENT  STATUSIN                STATUSOUT               TOTALWH       
A1   ARIA   BB          1/21/2020  8:06:23 AM   1/21/2020  8:07:53 AM   00:01:30
A2   CHLOE  BB          1/21/2020  8:16:07 AM   1/21/2020  9:51:21 AM   01:35:14
A1   ARIA   BB          1/22/2020  9:06:23 AM   1/22/2020  10:07:53 AM  00:01:30

Таблица HOLIDAYS

ID  HOLIDAYDATE   HOLIDAYNAME  
1   2020-01-01    New Year's Day
2   2020-01-25    Chinese Lunar New Year's Day

А это мой пример кода, чтобы установить его на выходных

if ((pRow.Field<DateTime>("STATUSIN").DayOfWeek == DayOfWeek.Saturday)
    || (pRow.Field<DateTime>("STATUSIN").DayOfWeek == DayOfWeek.Sunday))
{
    if (pRow.Field<DateTime>("STATUSIN") == DateTime.MinValue)
    {

    }
    else
    {    
        pRow["TOTALWH"] = "00:00:00";                                        
    }    
}

1 Ответ

0 голосов
/ 02 марта 2020

Как я уже сказал, невозможно будет предоставить точный код, так как я не знаю, какие форматы даты вы используете как в таблице праздничных дней, так и в сводной таблице данных.

Но вы можете использовать приведенный ниже код и измените его в соответствии с вашими требованиями.

Этот код просто жестко кодирует праздничную таблицу в таблице данных.

  DataTable HOLIDAYS = new DataTable();
            DataColumn[] dc1 = new DataColumn[] {new DataColumn("ID",typeof(string)),
                                                new DataColumn("HOLIDAYDATE",typeof(string)),
            new DataColumn("HOLIDAYNAME",typeof(string))};
            HOLIDAYS.Columns.AddRange(dc1);

            DataRow dr3 = SUMMARYDATA.NewRow();
            dr3["ID"] = "1"; dr3["HOLIDAYDATE"] = "2020-01-01"; dr3["HOLIDAYNAME"] = "New Year's Day";
            SUMMARYDATA.Rows.Add(dr3);

            DataRow dr4 = SUMMARYDATA.NewRow();
            dr4["ID"] = "2"; dr4["HOLIDAYDATE"] = "2020-01-25"; dr4["HOLIDAYNAME"] = "Chinese Lunar New Year's Day";
            SUMMARYDATA.Rows.Add(dr4);

Logi c

if ((pRow.Field<DateTime>("STATUSIN").DayOfWeek == DayOfWeek.Saturday) || pRow.Field<DateTime>("STATUSIN").DayOfWeek == DayOfWeek.Sunday))
{
  if (pRow.Field<DateTime>("STATUSIN") == DateTime.MinValue)
  {

  }
  else
  {
     pRow["TOTALWH"] = "00:00:00";
  }
}
else if (HOLIDAYS.AsEnumerable()
         .Select(p => new { ID = p.Field<string>("ID"), HOLIDAYDATE = p.Field<string>("HOLIDAYDATE"), HOLIDAYNAME = p.Field<string>("HOLIDAYNAME") })
         .ToList()
         .Where(b => b.HOLIDAYDATE == pRow.Field<DateTime>("STATUSIN").ToString())
         .Any())
  {
    pRow["TOTALWH"] = "00:00:00";
  }
...