Example #1
0
        private void delete_Click(object sender, EventArgs e)
        {
            var stamping = new StampingDao().SetStampingDto(this.StampingTable);

            this.SelectedRows = dataGridView1.SelectedRows;
            string      message          = "";
            StampingDto selectedStamping = null;

            if (this.SelectedRows.Count != 0)
            {
                for (var i = 0; i < this.SelectedRows.Count; i++)
                {
                    selectedStamping = stamping[this.SelectedRows[i].Index];
                    message         += "\n" + selectedStamping.Attendance.ToString("yyyy/MM/dd");
                }

                DialogResult result = MessageBox.Show(message + "のレコードを削除します。", "", MessageBoxButtons.OKCancel);
                if (result == DialogResult.OK)
                {
                    for (var i = 0; i < this.SelectedRows.Count; i++)
                    {
                        selectedStamping = stamping[this.SelectedRows[i].Index];
                        new StampingDao().DeleteRecord(selectedStamping);
                    }
                }
                this.SetGredView();
            }
        }
Example #2
0
 public List<StampingDto> SetStampingDto(DataTable dt)
 {
     var list = new List<StampingDto>();
     foreach (DataRow dr in dt.Rows)
     {
         var dto = new StampingDto();
         if (dt.Columns.Contains("id"))
         {
             dto.Id = int.Parse(dr["id"].ToString());
         }
         if (dt.Columns.Contains("createTime"))
         {
             dto.CreateTime = DateTime.Parse(dr["createTime"].ToString());
         }
         if (dt.Columns.Contains("updateTime") && !String.IsNullOrEmpty(dr["updateTime"].ToString()))
         {
             dto.UpdateTime = DateTime.Parse(dr["updateTime"].ToString());
         }
         if (dt.Columns.Contains("employeeCode"))
         {
             dto.EmployeeCode = int.Parse(dr["employeeCode"].ToString());
         }
         if (dt.Columns.Contains("year"))
         {
             dto.Year = int.Parse(dr["year"].ToString());
         }
         if (dt.Columns.Contains("month"))
         {
             dto.Month = int.Parse(dr["month"].ToString());
         }
         if (dt.Columns.Contains("day"))
         {
             dto.Day = int.Parse(dr["day"].ToString());
         }
         if (dt.Columns.Contains("attendance"))
         {
             dto.Attendance = DateTime.Parse(dr["attendance"].ToString());
         }
         if (dt.Columns.Contains("stampingCode"))
         {
             dto.StampingCode = int.Parse(dr["stampingcode"].ToString());
         }
         if (dt.Columns.Contains("leavingWork") && !String.IsNullOrEmpty(dr["leavingWork"].ToString()))
         {
             dto.LeavingWork = DateTime.Parse(dr["leavingWork"].ToString());
         }
         if (dt.Columns.Contains("workingHours") && !String.IsNullOrEmpty(dr["workingHours"].ToString()))
         {
             dto.WorkingHours = double.Parse(dr["workingHours"].ToString());
         }
         if (dt.Columns.Contains("remark") && !String.IsNullOrEmpty(dr["remark"].ToString()))
         {
             dto.Remark = dr["remark"].ToString();
         }
         list.Add(dto);
     }
     return list;
 }
 public EditRecord(EmployeeDto employee, List <StampingDto> stamping)
 {
     InitializeComponent();
     this.StartPosition = FormStartPosition.CenterScreen;
     this.employee      = employee;
     this.Stamping      = stamping[0];
     label1.Text        = this.employee.Name;
     this.InitializeText();
 }
Example #4
0
        public void DeleteRecord(StampingDto dto)
        {
            using (var conn = GetConnection())
                using (var cmd = new SqlCommand("DELETE FROM  Attendance.dbo.Stamping WHERE @id = id", conn))
                {
                    conn.Open();

                    cmd.Parameters.AddWithValue("@id", dto.Id);

                    cmd.ExecuteNonQuery();
                }
        }
Example #5
0
        // 出勤レコード追加
        private void AddAttemdance()
        {
            var dto = new StampingDto();

            dto.EmployeeCode = this.Employee.Code;
            dto.CreateTime   = DateTime.Now;
            dto.Year         = DateTime.Now.Year;
            dto.Month        = DateTime.Now.Month;
            dto.Day          = DateTime.Now.Day;
            dto.Attendance   = DateTime.Now;
            dto.StampingCode = cmbStampingType1.GetSelectedStampingType().StampingCode;
            new StampingDao().AddStamping(dto);
        }
Example #6
0
 private void GetAttendanceOrLeaving()
 {
     // DBより最新のデータ読み込み
     this.LatestStamping = new StampingDao().GetLatestStamping(cmbEmployee1.GetSelectedEmployee().Code);
     // 新規(最新データがnull)であれば出勤画面
     // 既存で退勤時間が押されてあったら(退勤打刻が初期値でない)出勤画面
     if (this.LatestStamping == null || LatestStamping.LeavingWork.CompareTo(new DateTime()) != 0)
     {
         StampingAttendance();
     }
     else
     {
         StampingLeaving();
     }
 }
Example #7
0
        // 退勤レコード追加
        private void UpdateLeaving()
        {
            var dto = new StampingDto();

            dto.UpdateTime  = DateTime.Now;
            dto.LeavingWork = DateTime.Now;
            // 出勤時間、退勤時間を取得(丸め無し)
            var startTime = new WorkingHours().GetStartTime(this.LatestStamping.Attendance);
            var endTime   = new WorkingHours().GetEndTime(dto.LeavingWork);

            dto.WorkingHours = new WorkingHours().GetWorkingHours(startTime, endTime);

            dto.Id = this.LatestStamping.Id;
            new StampingDao().UpdateStamping(dto);
        }
Example #8
0
        public void UpdateStamping(StampingDto dto)
        {
            // 退勤打刻
            using (var conn = GetConnection())
                using (var cmd = new SqlCommand("UPDATE Attendance.dbo.Stamping SET updateTime = @updateTime, leavingWork = @leavingWork, workingHours = @workingHours WHERE id = @id", conn))
                {
                    conn.Open();

                    cmd.Parameters.AddWithValue("@id", dto.Id);
                    cmd.Parameters.AddWithValue("@updateTime", dto.UpdateTime);
                    cmd.Parameters.AddWithValue("@leavingWork", dto.LeavingWork);
                    cmd.Parameters.AddWithValue("@workingHours", dto.WorkingHours);

                    cmd.ExecuteNonQuery();
                }
        }
Example #9
0
        // 出勤打刻ボタン
        private void stampBtn_Click(object sender, EventArgs e)
        {
            // 打刻ボタン2度押し不可
            stampBtn.Enabled = false;
            // 打刻時間の表示
            TimeStamp.Text = GetCurrentTime();
            // 打刻データをStamping.Daoへ(追加)
            var dto = new StampingDto();

            dto.EmployeeCode = cmbEmployee1.GetSelectedEmployee().Code;
            dto.CreateTime   = DateTime.Now;
            dto.Year         = DateTime.Now.Year;
            dto.Month        = DateTime.Now.Month;
            dto.Day          = DateTime.Now.Day;
            dto.Attendance   = DateTime.Now;
            dto.StampingCode = cmbStampingType1.GetSelectedStampingType().StampingCode;
            new StampingDao().AddStamping(dto);
        }
Example #10
0
        public void AddStamping(StampingDto dto)
        {
            // 出勤打刻
            using (var conn = GetConnection())
                using (var cmd = new SqlCommand("INSERT INTO Attendance.dbo.Stamping (createTime, employeeCode, year, month, day, attendance, stampingCode) VALUES(@createTime, @employeeCode,@year, @month, @day,@attendance,@stampingCode)", conn))
                {
                    conn.Open();

                    cmd.Parameters.AddWithValue("@createTime", dto.CreateTime);
                    cmd.Parameters.AddWithValue("@employeeCode", dto.EmployeeCode);
                    cmd.Parameters.AddWithValue("@year", dto.Year);
                    cmd.Parameters.AddWithValue("@month", dto.Month);
                    cmd.Parameters.AddWithValue("@day", dto.Day);
                    cmd.Parameters.AddWithValue("@attendance", dto.Attendance);
                    cmd.Parameters.AddWithValue("@stampingCode", dto.StampingCode);

                    cmd.ExecuteNonQuery();
                }
        }
Example #11
0
        public List <StampingDto> SetStampingDto(DataTable dt)
        {
            List <StampingDto> list = new List <StampingDto>();

            foreach (DataRow dr in dt.Rows)
            {
                StampingDto dto = new StampingDto();

                dto.Id = int.Parse(dr["id"].ToString());
                if (!String.IsNullOrEmpty(dr["createTime"].ToString()))
                {
                    dto.CreateTime = DateTime.Parse(dr["createTime"].ToString());
                }
                if (!String.IsNullOrEmpty(dr["updateTime"].ToString()))
                {
                    dto.UpdateTime = DateTime.Parse(dr["updateTime"].ToString());
                }
                dto.EmployeeCode = int.Parse(dr["employeeCode"].ToString());
                dto.Year         = int.Parse(dr["year"].ToString());
                dto.Month        = int.Parse(dr["month"].ToString());
                dto.Day          = int.Parse(dr["day"].ToString());
                dto.Attendance   = DateTime.Parse(dr["attendance"].ToString());
                if (!String.IsNullOrEmpty(dr["leavingWork"].ToString()))
                {
                    dto.LeavingWork = DateTime.Parse(dr["leavingWork"].ToString());
                }
                dto.StampingCode = int.Parse(dr["stampingCode"].ToString());
                if (!String.IsNullOrEmpty(dr["workingHours"].ToString()))
                {
                    dto.WorkingHours = int.Parse(dr["workingHours"].ToString());
                }
                if (!String.IsNullOrEmpty(dr["remark"].ToString()))
                {
                    dto.Remark = dr["remark"].ToString();
                }

                list.Add(dto);
            }
            return(list);
        }
Example #12
0
        public void AddNewRecord(StampingDto dto)
        {
            // 新規追加(管理)
            using (var conn = GetConnection())
                using (var cmd = new SqlCommand("INSERT INTO Attendance.dbo.Stamping (createTime, employeeCode, year, month, day, attendance, leavingwork, stampingCode, workingHours, remark) VALUES(@createTime, @employeeCode, @year, @month, @day, @attendance, @leavingWork, @stampingCode, @workingHours, @remark)", conn))
                {
                    conn.Open();

                    cmd.Parameters.AddWithValue("@createTime", dto.CreateTime);
                    cmd.Parameters.AddWithValue("@employeeCode", dto.EmployeeCode);
                    cmd.Parameters.AddWithValue("@year", dto.Year);
                    cmd.Parameters.AddWithValue("@month", dto.Month);
                    cmd.Parameters.AddWithValue("@day", dto.Day);
                    cmd.Parameters.AddWithValue("@attendance", dto.Attendance);
                    cmd.Parameters.AddWithValue("@leavingWork", dto.LeavingWork);
                    cmd.Parameters.AddWithValue("@stampingCode", dto.StampingCode);
                    cmd.Parameters.AddWithValue("@workingHours", dto.WorkingHours);
                    cmd.Parameters.AddWithValue("@remark", dto.Remark);

                    cmd.ExecuteNonQuery();
                }
        }
Example #13
0
        private void AddNewRecord_Click_1(object sender, EventArgs e)
        {
            var dto = new StampingDto();

            dto.EmployeeCode = cmbEmployee1.GetSelectedEmployee().Code;
            dto.CreateTime   = DateTime.Now;
            dto.Year         = cmbDate1.GetSelectedValue().year;
            dto.Month        = cmbDate1.GetSelectedValue().month;
            dto.Day          = cmbDate1.GetSelectedValue().day;
            dto.Attendance   = this.GetStampingTime(cmb_startHour, cmb_startMinut);
            dto.LeavingWork  = this.GetStampingTime(cmb_endHour, cmb_endMinut);
            dto.StampingCode = cmbStampingType1.GetSelectedStampingType().StampingCode;
            // 出勤時間、退勤時間を取得(丸め無し)
            var startTime = new WorkingHours().GetStartTime(this.GetStampingTime(cmb_startHour, cmb_startMinut));
            var endTime   = new WorkingHours().GetEndTime(this.GetStampingTime(cmb_endHour, cmb_endMinut));

            // 労働時間
            dto.WorkingHours = new WorkingHours().GetWorkingHours(startTime, endTime);
            dto.Remark       = remark.Text;
            new StampingDao().AddNewRecord(dto);
            this.Close();
        }
Example #14
0
        // 退勤打刻ボタン
        private void StampBtn2_Click(object sender, EventArgs e)
        {
            // 打刻ボタン2度押し不可
            StampBtn2.Enabled = false;
            // 打刻時間を表示
            TimeStamp.Text = GetCurrentTime();
            // 退勤打刻データ→<StampingDto>
            var dto = new StampingDto();

            dto.UpdateTime  = DateTime.Now;
            dto.LeavingWork = DateTime.Now;
            // 出勤時間、退勤時間を取得(丸め無し)
            var startTime = new WorkingHours().GetStartTime(this.LatestStamping.Attendance);
            var endTime   = new WorkingHours().GetEndTime(dto.LeavingWork);

            // 労働時間
            dto.WorkingHours = new WorkingHours().GetWorkingHours(startTime, endTime);

            // 出勤打刻データに対して退勤打刻、労働時間をStampingDaoへ
            dto.Id = this.LatestStamping.Id;
            new StampingDao().UpdateStamping(dto);
        }
Example #15
0
        public void UpdateEditRecord(StampingDto dto)
        {
            // 更新(管理)
            using (var conn = GetConnection())
                using (var cmd = new SqlCommand("UPDATE Attendance.dbo.Stamping SET updateTime = @updateTime, year = @year, month = @month, day = @day, attendance = @attendance, leavingwork = @leavingwork, stampingCode = @stampingCode, workingHours = @workingHours, remark = @remark WHERE id = @id", conn))
                {
                    conn.Open();

                    cmd.Parameters.AddWithValue("@id", dto.Id);
                    cmd.Parameters.AddWithValue("@updateTime", dto.UpdateTime);
                    //cmd.Parameters.AddWithValue("@employeeCode", dto.EmployeeCode);
                    cmd.Parameters.AddWithValue("@year", dto.Year);
                    cmd.Parameters.AddWithValue("@month", dto.Month);
                    cmd.Parameters.AddWithValue("@day", dto.Day);
                    cmd.Parameters.AddWithValue("@attendance", dto.Attendance);
                    cmd.Parameters.AddWithValue("@leavingWork", dto.LeavingWork);
                    cmd.Parameters.AddWithValue("@stampingCode", dto.StampingCode);
                    cmd.Parameters.AddWithValue("@workingHours", dto.WorkingHours);
                    cmd.Parameters.AddWithValue("@remark", dto.Remark);

                    cmd.ExecuteNonQuery();
                }
        }
        private void UpdateRecord_Click(object sender, EventArgs e)
        {
            var dto = new StampingDto();

            dto.Id           = this.Stamping.Id;
            dto.EmployeeCode = this.employee.Code;
            dto.UpdateTime   = DateTime.Now;
            dto.Year         = cmbDate1.GetSelectedValue().year;
            dto.Month        = cmbDate1.GetSelectedValue().month;
            dto.Day          = cmbDate1.GetSelectedValue().day;

            var startHour   = (int)cmb_startHour.SelectedItem;
            var startMinute = (int)cmb_startMinut.SelectedItem;
            var endHour     = (int)cmb_endHour.SelectedItem;
            var endMinute   = (int)cmb_endMinut.SelectedItem;

            dto.Attendance   = this.GetStampingTime(startHour, startMinute);
            dto.LeavingWork  = this.GetStampingTime(endHour, endMinute);
            dto.StampingCode = cmbStampingType1.GetSelectedStampingType().StampingCode;
            // 出勤時間、退勤時間を取得(丸め無し)
            var startTime = new WorkingHours().GetStartTime(this.GetStampingTime(startHour, startMinute));
            var endTime   = new WorkingHours().GetEndTime(this.GetStampingTime(endHour, endMinute));

            // 労働時間
            dto.WorkingHours = new WorkingHours().GetWorkingHours(startTime, endTime);
            dto.Remark       = remark.Text;

            DialogResult result = MessageBox.Show(dto.Attendance.ToString("yyyy/MM/dd") + "のレコードをを更新します、よろしいですか?", "", MessageBoxButtons.OKCancel);

            if (result == DialogResult.OK)
            {
                new StampingDao().UpdateEditRecord(dto);
                this.DialogResult = System.Windows.Forms.DialogResult.OK;
                this.Close();
            }
        }
 public void SetLatestStampingType(StampingDto latestStamping)
 {
     cmb_stampingType.Text = new StampingTypeDao().GetAllStampingType().Find(stampingType => stampingType.StampingCode == latestStamping.StampingCode).StampingName;
 }
Example #18
0
 public void GetSelectedValue2(StampingDto stamping)
 {
     cmb_year.Text  = stamping.Year.ToString();
     cmb_month.Text = stamping.Month.ToString();
     cmb_day.Text   = stamping.Day.ToString();
 }
 public void GetSelectedValue2(StampingDto stamping)
 {
     cmb_stampingType.Text = this.StampingTypeList.Find(stampingType => stampingType.StampingCode == stamping.StampingCode).StampingName;
 }