Пример #1
0
        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());
            }
        }
Пример #2
0
        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));
        }
Пример #3
0
        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));
        }
Пример #4
0
        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());
        }
Пример #5
0
        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());
        }
Пример #6
0
        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 !"));
                }
            }
        }
Пример #7
0
        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;
            }
        }