private void load_crew_from_row(DateTime start_of_week, DataRow row) { ucSalary uc = new ucSalary(start_of_week, row["EmpName"].ToString(), row["EmpID"].ToString(), true); _crew.Add(row["EmpID"].ToString(), uc); tlpCrew.Controls.Add(uc); tlpCrew.RowCount += 1; }
/*******************************************************************************************************************\ * * \*******************************************************************************************************************/ private void reset_week(DateTime start_of_week) { foreach (var c in _crew) { ucSalary uc = c.Value; if (!uc.LoadIt) { uc.ShowIt = false; } uc.ResetWeek(start_of_week); } }
/*******************************************************************************************************************\ * * \*******************************************************************************************************************/ private void do_delete() { bool flag_save = false; DataSet ds = dacTimebook.GetDS(RefWeek, 14); for (int i = 0; i < tlpCrew.RowCount; i++) { ucSalary uc = (ucSalary)tlpCrew.GetControlFromPosition(0, i); if (uc.EmpChk) { if (uc.IsDirty()) { flag_save = true; } continue; } if (!uc.IsDelete()) { continue; } //DataRow row; DateTime next_date; for (int day = 0; day < 14; day++) { next_date = RefWeek.Date.AddDays(day); dacTimebook.FindDel(new object[] { next_date, uc.EmpID, 0 }); } uc.DeleteReset(); } dacTimebook.DeleteData(); dacCache.PutTimebook(); cmdSave.Text = "Save"; cmdSave.Visible = flag_save; }
/*******************************************************************************************************************\ * * \*******************************************************************************************************************/ private void tbxShift_TextChanged(object sender, EventArgs e) { // Mark the crew TextBox tbx = (TextBox)sender; //Boatcrew b = (Boatcrew)(tbx.Tag); //string name = b.boat.ToString() + b.idx.ToString(); //int shift = 0; Boat b = _nboats.Get(tbx.Text); for (int i = 0; i < tlpCrew.RowCount; i++) { ucSalary uc = (ucSalary)tlpCrew.GetControlFromPosition(0, i); //uc.RefreshShift((Boatcrew)(tbx.Tag), shift); uc.RefreshShift(b); } }
private void load_crew_from_file(DateTime start_of_week) { //tlpCrew.AutoScroll = true; //tlpCrew.RowStyles.Clear(); //tlpCrew.ColumnStyles.Clear(); //tlpCrew.RowCount = 0; //tlpCrew.ColumnCount = 0; string where = string.Format("BookDate >= '{0}' and BookDate <= '{1}'", start_of_week.ToShortDateString(), start_of_week.AddDays(14).ToShortDateString()); DataView v = new DataView(); //v.Table = _ds_crew.Tables[0]; v.Table = _dt_crew; v.RowFilter = where; DataTable view_data = v.ToTable(true, new string[] { "EmpId", "EmpName" }); // select distinct //DataTable dt = _ds_crew.Tables[0].AsEnumerable() // .GroupBy(r => r.Field<string>("EmpId")) // .Select(g => g.First()) // .CopyDataTable(); foreach (DataRow row in view_data.Rows) { if (_crew.ContainsKey(row["EmpID"].ToString())) { continue; } ucSalary uc = new ucSalary(start_of_week, row["EmpName"].ToString(), row["EmpID"].ToString(), false); _crew.Add(row["EmpID"].ToString(), uc); tlpCrew.Controls.Add(uc); tlpCrew.RowCount += 1; } }
/*******************************************************************************************************************\ * * \*******************************************************************************************************************/ private void update_vessels() { //foreach (var v in _oboats) //{ // List<Boatcrew> blst = (List<Boatcrew>)(v.Value); // int shift = 0; // foreach (Boatcrew b in blst) // shift |= b.shiftid; // for (int i = 0; i < tlpCrew.RowCount; i++) // { // ucStat uc = (ucStat)tlpCrew.GetControlFromPosition(0, i); // uc.RefreshShift(blst[0], shift); // } //} foreach (var v in _nboats._boats) { //List<Boat> blst = (List<Boat>)(v.Value); //int shift = 0; //foreach (Boat b in blst) // shift |= b.shiftid; Boat b = _nboats.Get(v.Key); for (int i = 0; i < tlpCrew.RowCount; i++) { ucSalary uc = (ucSalary)tlpCrew.GetControlFromPosition(0, i); //uc.RefreshShift(blst[0], shift); uc.RefreshShift(b); } } }
private void do_save() { DataSet ds = dacTimebook.GetDS(RefWeek, 14); for (int i = 0; i < tlpCrew.RowCount; i++) { ucSalary uc = (ucSalary)tlpCrew.GetControlFromPosition(0, i); if (!uc.EmpChk) { continue; } if (uc.IsDelete()) { continue; } if (!uc.IsDirty()) { continue; } //MessageBox.Show(uc.EmpName); //RCD rcd = uc.RcdStat; //for (int j = 0; j <= 13; j++) // if (rcd.toff[j] != null) MessageBox.Show(rcd.toff[j].ToString()); DataRow row; DateTime next_date; for (int day = 0; day < 14; day++) { next_date = RefWeek.Date.AddDays(day); string toff = uc.EmpToff[day]; string vessel = uc.EmpVessel[day]; row = ds.Tables[0].NewRow(); row["EmpName"] = uc.EmpName; if (toff != null && toff.Length == 0) { row["ToffCode"] = null; } else { row["ToffCode"] = toff; } row["LogHours"] = uc.EmpHour[day]; row["LogOver"] = uc.EmpOver[day]; if (vessel != null && vessel.Length == 0) { row["LogVessel"] = null; } else { row["LogVessel"] = uc.EmpVessel[day]; } row["LogShift"] = 0; row["LogNote"] = null; if (uc.EmpNote[day] != null && uc.EmpNote[day].Length > 0) { row["LogNote"] = uc.EmpNote[day]; } dacTimebook.FindAdd(new object[] { next_date, uc.EmpID, 0 }, row); uc.SaveReset(); } } dacTimebook.SaveData(); dacCache.PutTimebook(); cmdSave.Visible = false; }
private void refresh_data(DateTime start_of_week, bool show_all) { tlpCrew.Controls.Clear(); tlpCrew.RowCount = 0; //_ds_crew = dacTimebook.GetDS(RefWeek, 14); // _dt_crew is already loaded //load_shift(); string where = string.Format("BookDate >= '{0}' and BookDate <= '{1}'", start_of_week.ToShortDateString(), start_of_week.AddDays(14).ToShortDateString()); DataView v = new DataView(); //v.Table = _ds_crew.Tables[0]; v.Table = _dt_crew; v.RowFilter = where; DataTable view_data = v.ToTable(true, new string[] { "EmpId", "EmpName" }); foreach (DataRow row in view_data.Rows) { ucSalary uc; if (_crew.ContainsKey(row["EmpID"].ToString())) { uc = _crew[row["EmpID"].ToString()]; if (show_all) { uc.ShowIt = true; } continue; } if (show_all) { uc = new ucSalary(start_of_week, row["EmpName"].ToString(), row["EmpID"].ToString(), false); _crew.Add(row["EmpID"].ToString(), uc); } //tlpCrew.Controls.Add(uc); //tlpCrew.RowCount += 1; } foreach (var c in _crew) { ucSalary uc = c.Value; if (uc.LoadIt) { tlpCrew.Controls.Add(uc); tlpCrew.RowCount += 1; } } foreach (var c in _crew) { ucSalary uc = c.Value; if (uc.ShowIt && !uc.LoadIt) { tlpCrew.Controls.Add(uc); tlpCrew.RowCount += 1; } } }
/*******************************************************************************************************************\ * * \*******************************************************************************************************************/ /*******************************************************************************************************************\ * * \*******************************************************************************************************************/ private void update_timebook(bool show_all) { if (RefWeek == null) { return; } //DataSet ds = dacTimebook.GetDS(RefWeek, 14); //foreach (DataRow row in ds.Tables[0].Rows) foreach (DataRow row in _dt_crew.Rows) { var bookdate_ = row["Bookdate"]; if (bookdate_ == DBNull.Value) { continue; } DateTime bookdate = (DateTime)bookdate_; //if (bookdate.Date < RefWeek.Date) continue; //if (bookdate.Date >= RefWeek.AddDays(14).Date) continue; if (bookdate.Date.CompareTo(RefWeek.Date) == -1) { continue; } if (bookdate.Date.CompareTo(RefWeek.AddDays(14).Date) == 1) { continue; } //ucStat uc = (ucStat)tlpCrew.GetControlFromPosition(0, 0); //if (!_crew.ContainsKey(row["EmpId"].ToString())) // load_crew_from_row(RefWeek, row); try { if (!show_all && !_crew.ContainsKey(row["EmpID"].ToString())) { continue; } ucSalary uc = _crew[row["EmpID"].ToString()]; string notebug = null; // can't use row["LogNote"].ToString() if (!DBNull.Value.Equals(row["LogNote"])) { notebug = row["LogNote"].ToString(); } uc.RefWeek = RefWeek; uc.RefreshDay(bookdate, row["ToffCode"].ToString(), Convert.ToSingle(row["LogHours"]), Convert.ToSingle(row["LogOver"]), row["LogVessel"].ToString(), Convert.ToInt32(row["LogShift"]), notebug); } catch (Exception ex) { string msg = string.Format("Error ({0}) : Employee : [{1}:{2}] {3} => TOFF Code [{4}]", ex.Message, bookdate, row["EmpID"].ToString(), row["EmpName"].ToString(), row["ToffCode"].ToString()); MessageBox.Show(msg); } } }