private void btnInput_Click(object sender, EventArgs e) { EmployeeWorkingsLogicEventArg eventArg = new EmployeeWorkingsLogicEventArg(); eventArg.EmployeeId = txtEmployeeId.Text; EmployeeWorkingDay day = GetFromWorkingList(txtEmployeeId.Text, ewdList); if(day!=null) { eventArg.EmployeeWorkingDay = day; } WorkingDayStatus workingDayStatus = IsCheckOut(txtEmployeeId.Text, ewdList); // if not checking het or checking in if ( workingDayStatus== WorkingDayStatus.NotCheckingYet || workingDayStatus == WorkingDayStatus.CheckingIn ) { // if manager check out if(ClientInfo.getInstance().LoggedUser.IsInRole(PosRole.Manager)) { } EventUtility.fireEvent(SaveEmployeeWorkingDay, this, eventArg); if(eventArg.HasErrors) { MessageBox.Show("Có lỗi khi quét mã vạch"); } else { MessageBox.Show("Có nhân viên quét thẻ ..."); if(eventArg.EmployeeWorkingDay!=null) { int listIndex = -1; if(!UpdateEndTimeInList(ewdList,eventArg.EmployeeWorkingDay)) { ewdList.Add(eventArg.EmployeeWorkingDay); } bdsEmployeeWorking.EndEdit(); dgvEmployeeWorking.Refresh(); dgvEmployeeWorking.Invalidate(); } } } else { MessageBox.Show("Nhân viên này đã check-out hoặc mã vạch rỗng"); } ClearInput(); }
void employeeWorkingView_LoadEmployeesWorkingDay(object sender, EmployeeWorkingsLogicEventArg e) { ObjectCriteria wDayCrit = new ObjectCriteria(); wDayCrit.AddEqCriteria("Department.DepartmentId", CurrentDepartment.Get().DepartmentId); wDayCrit.AddBetweenCriteria("EmployeeWorkingDayPK.WorkingDay", DateUtility.ZeroTime(DateTime.Now), DateUtility.MaxTime(DateTime.Now)); IList wDayResult = EmployeeWorkingDayLogic.FindAll(wDayCrit); e.EmployeeWorkingList = wDayResult; if(wDayResult!=null && wDayResult.Count > 0) { foreach (EmployeeWorkingDay workingDay in wDayResult) { ObjectCriteria criteria = new ObjectCriteria(); criteria.AddEqCriteria("EmployeePK.EmployeeId", workingDay.EmployeeWorkingDayPK.EmployeeId); IList list = EmployeeLogic.FindAll(criteria); workingDay.Employee = (Employee)list[0]; } } }
private void EmployeeWorkingsForm_Load(object sender, EventArgs e) { txtTime.Text = DateTime.Now.ToString("dd/MM/yyyy HH:mm:ss"); ewdList = new EmployeeWorkingDaysCollection(bdsEmployeeWorking); EmployeeWorkingsLogicEventArg eventArg = new EmployeeWorkingsLogicEventArg(); EventUtility.fireEvent(LoadEmployeesWorkingDay,this,eventArg); if(eventArg.EmployeeWorkingList != null && eventArg.EmployeeWorkingList.Count > 0) { foreach (EmployeeWorkingDay employeeWorkingDay in eventArg.EmployeeWorkingList) { ewdList.Add(employeeWorkingDay); } bdsEmployeeWorking.EndEdit(); dgvEmployeeWorking.Refresh(); dgvEmployeeWorking.Invalidate(); } timer1.Start(); }
void employeeWorkingView_SaveEmployeeWorkingDay(object sender, EmployeeWorkingsLogicEventArg e) { string barCode = e.EmployeeId; ObjectCriteria criteria = new ObjectCriteria(); criteria.AddEqCriteria("Barcode", barCode); IList list = EmployeeInfoLogic.FindAll(criteria); if (list != null && list.Count == 1) { EmployeeInfo info = (EmployeeInfo)list[0]; EmployeeWorkingDay workingDay = e.EmployeeWorkingDay; if (workingDay == null) { workingDay = new EmployeeWorkingDay(); workingDay.CreateDate = DateTime.Now; workingDay.CreateId = ClientInfo.getInstance().LoggedUser.Name; workingDay.UpdateDate = DateTime.Now; workingDay.UpdateId = ClientInfo.getInstance().LoggedUser.Name; //workingDay.StartTime = DateTime.Now; workingDay.EndTime = DateTime.MinValue; workingDay.EmployeeWorkingDayPK = new EmployeeWorkingDayPK { //DepartmentId = CurrentDepartment.Get().DepartmentId, EmployeeId = info.EmployeePK.EmployeeId, WorkingDay = DateTime.Now }; workingDay.Employee = info.Employee; workingDay.Department = CurrentDepartment.Get(); workingDay.DelFlg = 0; workingDay.ExclusiveKey = 1; } ObjectCriteria wDayCrit = new ObjectCriteria(); wDayCrit.AddEqCriteria("Department.DepartmentId", workingDay.Department.DepartmentId); wDayCrit.AddEqCriteria("EmployeeWorkingDayPK.EmployeeId", workingDay.EmployeeWorkingDayPK.EmployeeId); wDayCrit.AddBetweenCriteria("EmployeeWorkingDayPK.WorkingDay", DateUtility.ZeroTime(DateTime.Now), DateUtility.MaxTime(DateTime.Now)); IList wDayResult = EmployeeWorkingDayLogic.FindAll(wDayCrit); if (wDayResult == null || wDayResult.Count == 0) { workingDay.StartTime = DateTime.Now; EmployeeWorkingDayLogic.Add(workingDay); } else { EmployeeWorkingDay currWDay = (EmployeeWorkingDay) wDayResult[0]; currWDay.EndTime = DateTime.Now; workingDay.EndTime = currWDay.EndTime; EmployeeWorkingDayLogic.Update(currWDay); } e.EmployeeWorkingDay = workingDay; e.HasErrors = false; } else { e.HasErrors = true; throw new BusinessException("Mã vạch của nhân viên không đúng"); } }