private async Task <List <AttendanceDetail> > getAttendanceDetail(DateTime AttendanceDate) { DataTable getData = new DataTable(); List <AttendanceDetail> attendanceDetail = new List <AttendanceDetail>(); string attendanceDate = DataAccess.DateStringConverter(AttendanceDate); try { getData = DataAccess.GetAttendanceDetail("ras_AttRecord", "Synchronized", "Clock", attendanceDate, "*"); foreach (DataRow dr in getData.Rows) { string attDate = Convert.ToDateTime(dr["Clock"]).ToString(dateFormat); AttendanceDetail attendanceDetailObj = new AttendanceDetail(); DateTime dtAttendanceDate = dateConverter(attDate); dtAttendanceDate = dtAttendanceDate.Date; attendanceDetailObj.AttendanceDate = dtAttendanceDate; attendanceDetailObj.EmployeeId = dr["DIN"].ToString(); //DateTime timeIn = Convert.ToDateTime(dr["Clock"].ToString()); attendanceDetailObj.TimeIn = dateConverter(attDate); attendanceDetail.Add(attendanceDetailObj); } } catch (Exception ex) { } return(await Task.FromResult(attendanceDetail)); }
public async Task <IActionResult> Edit(int id, [Bind("PkAttndId,FkStudId,Attendance,CreatedDate")] AttendanceDetail attendanceDetail) { if (id != attendanceDetail.PkAttndId) { return(NotFound()); } if (ModelState.IsValid) { try { _context.Update(attendanceDetail); await _context.SaveChangesAsync(); } catch (DbUpdateConcurrencyException) { if (!AttendanceDetailExists(attendanceDetail.PkAttndId)) { return(NotFound()); } else { throw; } } return(RedirectToAction(nameof(Index))); } ViewData["FkStudId"] = new SelectList(_context.StudentDetails, "PkStudentId", "Contact", attendanceDetail.FkStudId); return(View(attendanceDetail)); }
public async Task <JsonResult> SaveAttendance(AttendanceModelDto veri) { if (ModelState.IsValid) { List <MessagesObj> messagesObjs = new List <MessagesObj>(); AttendanceDto attendanceDto = new AttendanceDto(); attendanceDto.CourseId = veri.CourseId; attendanceDto.CreatedOn = DateTime.ParseExact(veri.CreatedOn, "dd/MM/yyyy", null); attendanceDto.ModifiedOn = DateTime.Now; for (int i = 0; i < veri.students.Length; i++) { AttendanceDetail attendanceDetail = new AttendanceDetail(); attendanceDetail.StudentId = veri.students[i]; attendanceDetail.CreatedOn = DateTime.Now; attendanceDetail.ModifiedOn = DateTime.Now; attendanceDto.AttendanceDetails.Add(attendanceDetail); } messagesObjs = await _attendanceApiService.Add(attendanceDto, ApiUrl + "api/Attendance", Session["access_token"] as String); if (messagesObjs.Count == 0) { return(Json(new { messages = new List <string> { "Kaydınız başarılı bir şekilde gerçekleştirilmiştir." } }, JsonRequestBehavior.AllowGet)); } return(Json(new { messages = messagesObjs.Select(y => y.Message).ToList() }, JsonRequestBehavior.AllowGet)); } //return Json(new { success = false, errors = ModelState.Values.SelectMany(x => x.Errors).Select(x => x.ErrorMessage).ToList() }, JsonRequestBehavior.AllowGet); var test = ModelState.Values.SelectMany(x => x.Errors.Select(y => y.ErrorMessage)).ToList(); return(Json(new { messages = ModelState.Values.SelectMany(x => x.Errors).Select(x => x.ErrorMessage).ToList() }, JsonRequestBehavior.AllowGet)); }
public ActionResult HealerAttendance(FormCollection collection) { int count = Convert.ToInt32(collection["count"].ToString()); AttendanceDetail ad = new AttendanceDetail(); List <AttendanceDetail> ads = new List <AttendanceDetail>(); for (int i = 0; i < count; i++) { ad.EmpId = Convert.ToInt32(collection["emps " + i].ToString()); ad.AttendanceStatusId = Convert.ToInt32(collection["attendance " + i].ToString()); ad.AttendanceTime = DateTime.Now; ad.CreatedBy = "admin"; ad.CreatedOn = DateTime.Now; db.AttendanceDetails.Add(ad); db.SaveChanges(); } //AttendanceDetail ad = new AttendanceDetail(); //ad.AttendanceStatusID = Convert.ToInt32(collection["attendance"].ToString()); //ad.EmpId = Convert.ToInt32(collection["empcode"].ToString()); //ad.AttendanceDate = DateTime.Now; //ad.CreatedBy ="1"; //ad.CreatedOn = DateTime.Now; //db.AttendanceDetails.Add(ad); //int i = db.SaveChanges(); //if(i==1) //{ // return Content("<script>alert('Attendance Registered Successfully');window.location = '/Home/Attendance';</script>"); //} return(RedirectToAction("HealerAttendance")); }
public ActionResult SaveAttendance(Attendance model) { /* var temp = db.Enrollments.Where(x=>x.CourseName == my.CourseName).ToList(); * // var temp = db.Enrollments.Where(x => x.CourseId == my.CourseId).ToList(); * List<Student> listStudentsInCourse = new List<Student>(); * foreach (var s in temp) * { * listStudentsInCourse.Add(s.Student); * } */ if (!string.IsNullOrWhiteSpace(model.CourseName)) { String coursename = db.Courses.Where(x => x.CourseName == model.CourseName).FirstOrDefault().CourseName; var temp = db.Enrollments.Where(x => x.CourseName == model.CourseName).ToList(); List <Attendance> objOrder = new List <Attendance>(); AttendanceDetail ObjorderDetails = new AttendanceDetail(); foreach (var e in temp) { Student myStu = new Student(); myStu.StudentEmail = e.StudentEmail; var x = db.Students.Where(xx => xx.StudentEmail == e.StudentEmail).ToList(); foreach (var q in x) { myStu.HomeNumber = q.HomeNumber; myStu.ParentId = q.ParentId; myStu.Address = q.Address; myStu.DateOfBirth = q.DateOfBirth; myStu.DepartmentId = q.DepartmentId; myStu.FatherName = q.FatherName; myStu.FirstName = q.FirstName; myStu.LastName = q.LastName; myStu.Gender = q.Gender; myStu.StudentId = q.StudentId; // mymodel.students.Clear(); Attendance a = new Attendance { StudentEmail = myStu.StudentEmail, CourseName = coursename, date = model.date, Status = "false" }; objOrder.Add(a); } } ObjorderDetails.attendances = objOrder; return(View(ObjorderDetails)); } else { // mymodel.students = db.Students.ToList(); } return(View()); }
public async Task <IActionResult> Create([Bind("PkAttndId,FkStudId,Attendance,CreatedDate")] AttendanceDetail attendanceDetail) { if (ModelState.IsValid) { attendanceDetail.CreatedDate = DateTime.Now; _context.Add(attendanceDetail); await _context.SaveChangesAsync(); return(RedirectToAction(nameof(Index))); } ViewData["FkStudId"] = new SelectList(_context.StudentDetails, "PkStudentId", "Contact", attendanceDetail.FkStudId); return(View(attendanceDetail)); }
private bool insertAttendanceDetail(Apitoken apiToken, List <AttendanceDetail> attendanceDetail) { AttendanceDetail payrollHrpayrollAttDetail = new AttendanceDetail(); List <AttendanceDetail> attend = attendanceDetail; bool status = false; string employeeID = ""; try { if (attendanceDetail != null) { List <AttendanceDetail> att = attendanceDetail.GroupBy(x => x.EmployeeId).Select(g => g.First()).ToList(); foreach (AttendanceDetail attendanceDetailObj in att) { PayrollHrpayrollAttDetail payrollHrpayrollAttDetailObj = new PayrollHrpayrollAttDetail(); payrollHrpayrollAttDetailObj.CompanyId = apiToken.CompanyId; payrollHrpayrollAttDetailObj.DivisionId = apiToken.DivisionId; payrollHrpayrollAttDetailObj.DepartmentId = apiToken.DepartmentId; payrollHrpayrollAttDetailObj.AttendanceDate = attendanceDetailObj.AttendanceDate; employeeID = getEmployeeID(apiToken, attendanceDetailObj); payrollHrpayrollAttDetailObj.EmployeeId = employeeID == null || employeeID == "" ? attendanceDetailObj.EmployeeId : employeeID; payrollHrpayrollAttDetailObj.EmployeeName = attendanceDetailObj.EmployeeName; payrollHrpayrollAttDetailObj.ExpectedTimeIn = attendanceDetailObj.ExpectedTimeIn; payrollHrpayrollAttDetailObj.TimeIn = attendanceDetailObj.TimeIn; payrollHrpayrollAttDetailObj.ShiftType = attendanceDetailObj.ShiftType; payrollHrpayrollAttDetailObj.Absent = attendanceDetailObj.Absent; payrollHrpayrollAttDetailObj.Remarks = attendanceDetailObj.Remarks; payrollHrpayrollAttDetailObj.LatePeriod = attendanceDetailObj.LatePeriod; payrollHrpayrollAttDetailObj.Period = attendanceDetailObj.Period; payrollHrpayrollAttDetailObj.BranchCode = attendanceDetailObj.BranchCode; _DBContext.Entry(payrollHrpayrollAttDetailObj).State = EntityState.Added; } return(status = true); } } catch (Exception ex) { return(status = false); } return(status); }
public BusinessLayerResult <Attendance> SaveAttendance(Attendance attendances) { BusinessLayerResult <Attendance> res = new BusinessLayerResult <Attendance>(); res.Result = attendances; if (_attendanceDal.Get(x => x.CourseId == attendances.CourseId && x.CreatedOn == attendances.CreatedOn) != null) { res.AddError(MessagesCodes.AlreadyExist, $"{attendances.CreatedOn} tarihli yoklama zaten yapılmış."); return(res); } _attendanceDal.Add(attendances); AttendanceDetail attendanceDetail = new AttendanceDetail { Attendance = attendances }; return(res); }
public IHttpActionResult Delete(int id) { AttendanceDetail attendance = new AttendanceDetail(); attendance = _attendanceService.GetAttendanceDetail(id); if (attendance == null) { var response = new HttpResponseMessage(HttpStatusCode.NotFound) { Content = new StringContent(string.Format($"{0} id'li kayıt bulunamadı.", id)), ReasonPhrase = "Course Not Found", StatusCode = HttpStatusCode.NotFound }; throw new HttpResponseException(response); } _attendanceService.DeleteStudentFromAttendance(attendance); return(Ok()); }
public string getEmployeeID(Apitoken apiToken, AttendanceDetail attendanceDetail) { string employeeID = ""; try { PayrollEmployees empl = _DBContext.PayrollEmployees.Where(x => x.CompanyId == apiToken.CompanyId && x.DivisionId == apiToken.DivisionId && x.DepartmentId == apiToken.DepartmentId && x.EmployeeBiometricID == attendanceDetail.EmployeeId).AsNoTracking(). FirstOrDefault(); employeeID = empl.EmployeeId; } catch (Exception ex) { } return(employeeID); }
public ActionResult HealerAttendance(FormCollection collection) { int count = Convert.ToInt32(collection["count"].ToString()); AttendanceDetail ad = new AttendanceDetail(); List <AttendanceDetail> ads = new List <AttendanceDetail>(); for (int i = 0; i < count; i++) { var emp = Convert.ToInt32(collection["emps " + i].ToString()); var personal = mis.AttendanceDetails.FirstOrDefault(j => j.EmpId == emp && EntityFunctions.TruncateTime(j.AttendanceTime) == DateTime.Today); if (personal == null) { ad.EmpId = Convert.ToInt32(collection["emps " + i].ToString()); ad.AttendanceStatusId = Convert.ToInt32(collection["attendance " + i].ToString()); ad.AttendanceTime = DateTime.Now; ad.CreatedBy = "admin"; ad.CreatedOn = DateTime.Now; mis.AttendanceDetails.Add(ad); mis.SaveChanges(); } else { // return Content("<script>alert('Attendance Registered already For this Employee'+emp);window.location = '/Home/Attendance';</script>"); } //AttendanceDetail ad = new AttendanceDetail(); //ad.AttendanceStatusID = Convert.ToInt32(collection["attendance"].ToString()); //ad.EmpId = Convert.ToInt32(collection["empcode"].ToString()); //ad.AttendanceDate = DateTime.Now; //ad.CreatedBy ="1"; //ad.CreatedOn = DateTime.Now; //db.AttendanceDetails.Add(ad); //int i = db.SaveChanges(); //if(i==1) //{ // return Content("<script>alert('Attendance Registered Successfully');window.location = '/Home/Attendance';</script>"); //} } return(Content("<script>alert('Attendance Registered Successfully');window.location = 'HealerAttendance';</script>")); //return RedirectToAction("HealerAttendance"); }
public static int EarlyRole(AttendanceDetail details, int validOfAtt, string[] timesOfCheck, StaffAttenType staffAttenType) { //同一小时内取min var records = details.Records.GroupBy(x => x.AttendanceTime.ToString("hh")) .Select(x => x.ToList().Min()).OrderBy(x => x.AttendanceTime).ToArray(); //var records = details.Records.OrderBy(x => x.AddtendanceTime).ToArray(); if (records.Count() < validOfAtt || details.AttType != AttendanceType.Normal || staffAttenType != StaffAttenType.NormalWork) { //异常,不计入迟到范围,人工判定 return(0); } else { var counter = 0; for (int i = 0; i < records.Count(); i++) { if (i >= validOfAtt) { //超出部分无法判定 break; } var attendanceTime = records[i].AttendanceTime; var flag = i % 2 != 0; //true , even, 判定早退 if (flag) { var normalTime = new DateTime(attendanceTime.Year, attendanceTime.Month, attendanceTime.Day); var tm = TimeSpan.Parse(timesOfCheck[i]); normalTime = normalTime.Add(tm); if (attendanceTime < normalTime) { counter++; } } } return(counter); } }
private void getNotesFromDb(Attendance <DateSplitAttRecord> staff) { var details = staff.Details; //填空白 Calendar.Days.Where(x => x.IsTargetMonth).ToList().ForEach(x => { x.AttendanceType = AttendanceType.Normal; if (!details.Any(y => y.Day == x.Date)) { AttendanceDetail detail = new AttendanceDetail { AttType = AttendanceType.Exception, Day = x.Date, Records = new List <DateSplitAttRecord>() }; details.Add(detail); } }); List <Days> days = details.Select(x => new Days { date = x.Day, AttendanceType = x.AttType, notes = x.Records.Aggregate("", (count, next) => count + next.AttendanceTime.ToString("HH:mm:ss") + "\r\n") }).ToList(); //var month = cboMonth.SelectedIndex + 1; Calendar.Days.Where(x => x.IsTargetMonth).ToList().ForEach(x => x.AttendanceType = AttendanceType.Normal); foreach (Days dbDay in days) { var day = Calendar.Days.Where(x => x.Date == dbDay.date).FirstOrDefault(); if (day != null) { day.Notes = dbDay.notes; day.AttendanceType = dbDay.AttendanceType; } } }
public ActionResult AddFinancialReference(AttendanceDetail objAD) { HRMDB objHRMEmp = new HRMDB(); var data = (from x in objHRMEmp.FinancialYearDetails.Where(x => x.FinancialId == objAD.financialId) select x).SingleOrDefault(); int count = (from x in objHRMEmp.LeaveDetails where x.Status == true && x.Id == objAD.Id select x).Count(); DateTime enddate = Convert.ToDateTime(data.YearEnd); DateTime joindate = Convert.ToDateTime(objAD.JoiningDate); string nonworkingdays = data.NonWorkingDays; string totaldays = enddate.Subtract(joindate).TotalDays.ToString(); int totaldaysafternonworkingdays = int.Parse(totaldays) - int.Parse(nonworkingdays); string totalleaves = count.ToString(); int totalworkingdays = (totaldaysafternonworkingdays) - int.Parse(count.ToString()); DateTime currentdate = DateTime.Now; string totalworkingdaystilldate = currentdate.Subtract(joindate).TotalDays.ToString(); objAD.Id = objAD.Id; objAD.TotalDays = totaldaysafternonworkingdays.ToString(); objAD.TotalLeaves = totalleaves; objAD.TotalWorkingDays = totalworkingdays.ToString(); objAD.TotalWorkingDaysTillDate = totalworkingdaystilldate; objAD.financialId = data.FinancialId.ToString(); objEmpBLL.AddFinancialReference(objAD); return(View()); }
private void btnSave_Click(object sender, EventArgs e) { btnSave.Enabled = false; AttendanceCode = generateAttendanceCode(); Attendance rec = new Attendance(AttendanceCode, SelectedClassId, dtpDate.Value, Convert.ToInt32(LoginId), Convert.ToInt32(cmbPeriod.Text)); Connector.AttendanceAdd(rec, DataSet); List <AttendanceDetail> details = new List <AttendanceDetail>(); int i = 0; foreach (DataRow Row in DataSet.Tables["Student"].Rows) { AttendanceDetail recDetail = new AttendanceDetail(AttendanceCode, Convert.ToInt64(Row["RollNo"]), Convert.ToBoolean(dataGridView1.Rows[i].Cells["Presence"].Value)); details.Add(recDetail); i++; } Connector.AttendanceDetailAdd(details, DataSet); }
/// <summary> /// 增加一条数据 /// </summary> /// <param name="entity"></param> public void AddAttendanceDetail(AttendanceDetail entity) { service.AddAttendanceDetail(entity); }
/// <summary> /// 更新一条数据 /// </summary> /// <param name="entity"></param> public void UpdateAttendanceDetail(AttendanceDetail entity) { new AttendanceDetailDAL().UpdateAttendanceDetail(entity); }
public ActionResult SaveAttendance(AttendanceDetail Order) { db.AttendanceDetails.Add(Order); db.SaveChanges(); return(RedirectToAction("Index", "Home")); }
public static bool AttRole(AttendanceDetail details, int validOfAtt) { return(details.Records.Count() >= validOfAtt); }
public void DeleteStudentFromAttendance(AttendanceDetail attendanceDetail) { var res = _AttendanceDetailDal.Delete(attendanceDetail); }
public void AddFinancialReference(AttendanceDetail objAD) { objEmpDAL.AddFinancialReference(objAD); }