public IHttpActionResult TaoThanhMenu([FromBody] ThongTinChamCong obj) { //Employee emp = obj._token; if (obj != null && obj.ChuoiToken != null && obj.ChuoiToken.ToString() != "") { if (ValidateCurrentToken(obj.ChuoiToken.ToString()) == true) { string RowID = GetClaim(obj.ChuoiToken.ToString(), "RowID"); Toolkits t = new Toolkits(); var newMenu = t.Select_All_Menu2_Huu_2(Int32.Parse(RowID)); return(Ok(newMenu)); } else { return(NotFound()); } } else { return(NotFound()); } }
public IHttpActionResult ThongTinTangCa([FromBody] ThongTinChamCong obj) { Employee emp = obj._token; var attendances = db.Overtimes.Where(w => w.RowIDEmployee == emp.RowID).Select(s => new { s.CreatedDate, s.TotalHour, s.Reason }).OrderByDescending(o => o.CreatedDate).ToList(); return(Ok(attendances)); }
public IHttpActionResult ThongTinChamCong([FromBody] ThongTinChamCong obj) { Employee emp = obj._token; var attendances = db.Attendance_Detail.Include(a => a.AttendanceReason).Include(a => a.Employee).Where(w => w.Employee.RowID == emp.RowID).Select(s => new { s.Type, s.CreatedDate, AttendanceReason = s.AttendanceReason.Name, s.Reason }).OrderByDescending(o => o.CreatedDate).ToList(); return(Ok(attendances)); }
public IHttpActionResult ChamCong([FromBody] ThongTinChamCong obj) { Employee emp = obj._token; var nowTime = DateTime.Now; var fromDate = new DateTime(nowTime.Year, nowTime.Month, nowTime.Day, 00, 00, 00); var toDate = new DateTime(nowTime.Year, nowTime.Month, nowTime.Day, 23, 59, 59); var checkExist = db.Attendance_Header.Where(w => w.RowIDEmployee == emp.RowID && w.AttendanceShortDate.Value >= fromDate && w.AttendanceShortDate.Value <= toDate).Count(); int rowIDAttendanceHeader = 0; if (checkExist == 0) { Attendance_Header hd = new Attendance_Header(); hd.AttendanceShortDate = nowTime; hd.CreatedDate = nowTime; hd.RowIDEmployee = emp.RowID; db.Attendance_Header.Add(hd); db.SaveChanges(); rowIDAttendanceHeader = hd.RowID; } else { rowIDAttendanceHeader = db.Attendance_Header.Where(w => w.RowIDEmployee == emp.RowID && w.AttendanceShortDate.Value >= fromDate && w.AttendanceShortDate.Value <= toDate).FirstOrDefault().RowID; } Attendance_Detail a = new Attendance_Detail(); a.RowIDAttendanceReason = obj.LyDoChamCong; a.RowIDEmployee = emp.RowID; if (obj.LoaiChamCong == "IN") { a.Type = "IN"; a.Reason = obj.LyDoChamVao; } else { a.Type = "OUT"; a.Reason = obj.LyDoChamRa; } if (rowIDAttendanceHeader != 0) { a.RowIDAttendanceHeader = rowIDAttendanceHeader; } a.CreatedDate = nowTime; db.Attendance_Detail.Add(a); db.SaveChanges(); return(Ok()); }
public IHttpActionResult DangKyTangCa([FromBody] ThongTinChamCong obj) { Overtime ov = new Overtime(); ov.CreatedDate = obj.NgayDangKy; ov.RowIDEmployee = obj._token.RowID; ov.TotalHour = obj.TotalHour; ov.Reason = obj.Reason; db.Overtimes.Add(ov); int affectedRows = db.SaveChanges(); return(Ok()); }
public IHttpActionResult ThemThoiGianChamcong([FromBody] ThongTinChamCong obj) { Employee emp = obj._token; var fromDate = new DateTime(obj.NgayDangKy.Year, obj.NgayDangKy.Month, obj.NgayDangKy.Day, 00, 00, 00); var toDate = new DateTime(obj.NgayDangKy.Year, obj.NgayDangKy.Month, obj.NgayDangKy.Day, 23, 59, 59); var checkExistHeader = db.Attendance_Header.Where(w => w.AttendanceShortDate == fromDate && w.RowIDEmployee == obj.IDNguoiDuocChamCong).FirstOrDefault(); if (checkExistHeader != null) { Attendance_Detail dt = new Attendance_Detail(); dt.RowIDAttendanceHeader = checkExistHeader.RowID; dt.Type = obj.LoaiChamCong; dt.RowIDEmployee = obj.IDNguoiDuocChamCong; dt.CreatedDate = obj.NgayDangKy; if (obj.LoaiChamCong == "IN") { dt.RowIDAttendanceReason = 3; } else { dt.RowIDAttendanceReason = 4; } dt.RowIDEmployeeEdited = emp.RowID; db.Attendance_Detail.Add(dt); var affectedRow = db.SaveChanges(); if (affectedRow > 0) { return(Ok("Chỉnh sửa thành công !")); } else { return(BadRequest("Chỉnh sửa AttendanceDetail không thành công !")); } } else { Attendance_Header hd = new Attendance_Header(); hd.AttendanceShortDate = fromDate; hd.RowIDEmployee = obj.IDNguoiDuocChamCong; hd.RowIDEmployeeCreated = emp.RowID; db.Attendance_Header.Add(hd); int affectedRow = db.SaveChanges(); if (affectedRow > 0) { Attendance_Detail dt = new Attendance_Detail(); dt.RowIDAttendanceHeader = hd.RowID; dt.Type = obj.LoaiChamCong; dt.RowIDEmployee = obj.IDNguoiDuocChamCong; dt.CreatedDate = obj.NgayDangKy; if (obj.LoaiChamCong == "IN") { dt.RowIDAttendanceReason = 3; } else { dt.RowIDAttendanceReason = 4; } dt.RowIDEmployeeEdited = emp.RowID; db.Attendance_Detail.Add(dt); affectedRow = db.SaveChanges(); if (affectedRow > 0) { return(Ok("Chỉnh sửa thành công !")); } else { return(BadRequest("Chỉnh sửa AttendanceDetail không thành công !")); } } else { return(BadRequest("Chỉnh sửa AttendanceHeader không thành công !")); } } }
public static void InsertChamCong(NpgsqlConnection conn, NpgsqlTransaction chamCongTransaction, ThongTinChamCong thongTinChamCong) { //if (conn.State == System.Data.ConnectionState.Closed) conn.Open(); //Do chưa làm được transacion và singleton try { string cmdText = "INSERT INTO tbl_chamcong (id, emp_code, emp_name, emp_pin, check_time, check_area_code, check_area_name, sn_alias, sn_name)"; cmdText += " values (:id, :emp_code, :emp_name, :emp_pin, :check_time, :check_area_code, :check_area_name, :sn_alias, :sn_name)"; NpgsqlCommand cmd = new NpgsqlCommand(cmdText, conn); cmd.Transaction = chamCongTransaction; cmd.Parameters.Add("id", NpgsqlTypes.NpgsqlDbType.Integer).Value = thongTinChamCong.ID; cmd.Parameters.Add("emp_code", NpgsqlTypes.NpgsqlDbType.Varchar).Value = thongTinChamCong.Emp_Code; cmd.Parameters.Add("emp_name", NpgsqlTypes.NpgsqlDbType.Varchar).Value = thongTinChamCong.Emp_Name; cmd.Parameters.Add("emp_pin", NpgsqlTypes.NpgsqlDbType.Varchar).Value = thongTinChamCong.Emp_Pin; //cmd.Parameters.Add("check_date", NpgsqlTypes.NpgsqlDbType.Varchar).Value = thongTinChamCong.check_date; cmd.Parameters.Add("check_time", NpgsqlTypes.NpgsqlDbType.Timestamp).Value = thongTinChamCong.Check_Time; cmd.Parameters.Add("check_area_code", NpgsqlTypes.NpgsqlDbType.Varchar).Value = thongTinChamCong.Check_Area_Code; cmd.Parameters.Add("check_area_name", NpgsqlTypes.NpgsqlDbType.Varchar).Value = thongTinChamCong.Check_Area_Name; cmd.Parameters.Add("sn_alias", NpgsqlTypes.NpgsqlDbType.Varchar).Value = thongTinChamCong.Sn_Alias; cmd.Parameters.Add("sn_name", NpgsqlTypes.NpgsqlDbType.Varchar).Value = thongTinChamCong.Sn_Name; cmd.CommandTimeout = 60; cmd.ExecuteNonQuery(); } catch (Exception ex) { //Log file và gửi mail //chamCongTransaction.Rollback(); throw ex; } }