/// <summary> /// Tworzy historie na wszystkie dni miesiaca. /// Zapisuje dane w zewnetrznym pliku xml. /// </summary> private void utworzHistorieMiesiaca() { //przygotujStruktureHistorii(); //historia.ReadXmlSchema ("historia_schemat.xml"); int iloscDni = DateTime.DaysInMonth (rok, miesiac); DataTable pTabela = historia.Tables[TAB_DNI]; DataRow pWiersz; HistoriaRekord hR = new HistoriaRekord (); for (int i = 1; i <= iloscDni; i++) { hR.Dzien = i; pWiersz = pTabela.NewRow (); pWiersz[DZIEN] = hR.Dzien.ToString ("00"); pWiersz[LOGIN] = DBNull.Value; pWiersz[LOGOUT] = DBNull.Value; pWiersz[CZAS] = DBNull.Value; pWiersz[NADGODZINY] = DBNull.Value; pWiersz[UWAGI] = ""; pTabela.Rows.Add (pWiersz); } uaktualnijPodsumowanie (); zapiszDoXML (); }
/// <summary> /// Aktualizuje czas i nadgodziny dla miesiaca /// </summary> private void uaktualnijDni() { HistoriaRekord hR = new HistoriaRekord (); foreach (DataRow pRow in historia.Tables[TAB_DNI].Rows) { if (!Convert.IsDBNull (pRow[LOGIN]) && !Convert.IsDBNull (pRow[LOGOUT])) { int dzien = Convert.ToInt32 (pRow[DZIEN]); DateTime pLogin = (DateTime) pRow[LOGIN]; DateTime pLogout = (DateTime) pRow[LOGOUT]; //Console.WriteLine("Login = {0:dd:MM:yyyy HH:mm} Logout = {1:dd:MM:yyyy HH:mm}",pLogin,pLogout); hR.Login = new DateTime (WybranyMiesiac.Year, this.WybranyMiesiac.Month, dzien, pLogin.Hour, pLogin.Minute, pLogin.Second); hR.Logout = new DateTime (WybranyMiesiac.Year, this.WybranyMiesiac.Month, dzien, pLogout.Hour, pLogout.Minute, pLogout.Second); pRow[LOGIN] = hR.Login; pRow[LOGOUT] = hR.Logout; pRow[CZAS] = hR.Czas; pRow[NADGODZINY] = hR.Nadgodziny; //Console.WriteLine ("po Login = {0:dd HH:mm} Logout = {1:dd HH:mm}", pRow[LOGIN], pRow[LOGOUT]); } else { if (Convert.IsDBNull (pRow[LOGIN])) { pRow[LOGIN] = DBNull.Value; pRow[CZAS] = DBNull.Value; pRow[NADGODZINY] = DBNull.Value; } else hR.Login = (DateTime) pRow[LOGIN]; if (Convert.IsDBNull (pRow[LOGOUT])) { pRow[LOGOUT] = DBNull.Value; pRow[CZAS] = DBNull.Value; pRow[NADGODZINY] = DBNull.Value; } else hR.Logout = (DateTime) pRow[LOGOUT]; } } uaktualnijPodsumowanie (); }
public HistoriaRekord podajDaneDnia(int aDzien) { HistoriaRekord r = new HistoriaRekord (); r.Dzien = aDzien; DataRow pWiersz = historia.Tables[TAB_DNI].Rows[aDzien - 1]; r.Dzien = Int32.Parse ((string) pWiersz[DZIEN]); r.Login = (Convert.IsDBNull (pWiersz[LOGIN])) ? Convert.ToDateTime (null) : (DateTime) pWiersz[LOGIN]; r.Logout = (Convert.IsDBNull (pWiersz[LOGOUT])) ? Convert.ToDateTime (null) : (DateTime) pWiersz[LOGOUT]; /*if (!Convert.IsDBNull (pWiersz[CZAS])) r.Czas = (TimeSpan) pWiersz[CZAS]; if (!Convert.IsDBNull (pWiersz[NADGODZINY])) r.Nadgodziny = (TimeSpan) pWiersz[NADGODZINY];*/ r.Uwagi = (Convert.IsDBNull (pWiersz[UWAGI])) ? null : (String) pWiersz[UWAGI]; return r; }
/// <summary> /// Aktualizuje Dane dla dnia w miesiacu. /// </summary> public void uaktualnijDzien(HistoriaRekord aRekord) { if (miesiac != aRekord.Login.Month) ustawMiesiac (aRekord.Login); int pIndex = aRekord.Dzien - 1; DataRow pWiersz = historia.Tables[TAB_DNI].Rows[pIndex]; pWiersz[DZIEN] = aRekord.Dzien.ToString ("00"); pWiersz[LOGIN] = aRekord.Login; pWiersz[LOGOUT] = aRekord.Logout; pWiersz[CZAS] = aRekord.Czas; pWiersz[NADGODZINY] = aRekord.Nadgodziny; pWiersz[UWAGI] = aRekord.Uwagi; historia.AcceptChanges (); uaktualnijPodsumowanie (); zapiszDoXML (); }
public void uaktualnijDzien(HistoriaRekord aRekord) { model.uaktualnijDzien(aRekord); }