private bool UserCanAbsen(pengaturan setting, absen data) { var absenStatus = GetAbsenStatus(setting); if (absenStatus == AbsenStatus.Masuk && data == null) { return(true); } else if (absenStatus == AbsenStatus.Terlambat && data == null) { throw new SystemException("Maaf Anda Terlambat"); } else if (absenStatus == AbsenStatus.Masuk && data != null) { throw new SystemException("Maaf Anda Sudah Absen Masuk"); } else if (absenStatus == AbsenStatus.Terlambat && data != null) { throw new SystemException("Maaf Belum Saatnya Jam Pulang"); } else if (absenStatus == AbsenStatus.Pulang && data == null) { throw new SystemException("Maaf Anda Tidak Tidak Masuk Hari Ini "); } else if (absenStatus == AbsenStatus.Pulang && data != null && data.JamPulang != new TimeSpan()) { throw new SystemException("Maaf Anda Sudah Absen Jam Pulang "); } else { return(true); } }
public bool Delete(absen item) { using (var db = new OcphDbContext()) { var trans = db.Connection.BeginTransaction(); try { if (db.Absens.Delete(O => O.IdAbsen == item.IdAbsen)) { var data = Source.Where(O => O.IdAbsen == item.IdAbsen).FirstOrDefault(); if (data != null) { Source.Remove(data); } trans.Commit(); return(true); } else { return(false); } } catch (Exception) { trans.Rollback(); return(false); } } }
// PUT: api/Pegawai/5 public HttpResponseMessage Put(int id, [FromBody] absen value) { try { if (ModelState.IsValid) { using (var db = new OcphDbContext()) { var isUpdate = db.Absen.Update(O => new { O.JamMasuk, O.JamPulang, O.PegawaiId, O.PengaturanId, O.PerizinanId, O.Status }, value, O => O.Id == value.Id); if (isUpdate) { return(Request.CreateResponse(HttpStatusCode.OK, value)); } else { throw new SystemException("Data tidak tersimpan"); } } } else { throw new SystemException("Data Tidak Valid"); } } catch (Exception ex) { return(Request.CreateErrorResponse(HttpStatusCode.NotModified, ex.Message)); } }
private void AbsenCollection_OnChangeSource(absen obj) { var MainCollection = ResourcesBase.GetMainWindowViewModel().AbsenTodayCollection; Pegawai.AbsenToday = obj; MainCollection.SourceView.Refresh(); }
// POST: api/Pegawai public HttpResponseMessage Post([FromBody] absen value) { try { if (ModelState.IsValid) { var context = new Models.AbsenContext(value); if (context.Success) { return(Request.CreateResponse(HttpStatusCode.OK, value)); } else { throw new SystemException("Anda Tidak Dapat Absen, Hubungi Administrator"); } } else { throw new SystemException("Data Tidak Valid"); } } catch (Exception ex) { return(new ErrorResponse(Request.CreateErrorResponse(HttpStatusCode.NotModified, ex.Message), ex.Message)); } }
public Task <absen> Absenbyadmin(absen model) { using (var db = new OcphDbContext()) { try { //edit DateTimeOffset localTime1 = DateTime.SpecifyKind(model.jamdatang.Value, DateTimeKind.Utc); model.jamdatang = localTime1.LocalDateTime; if (model.jampulang != null) { DateTimeOffset localTime2 = DateTime.SpecifyKind(model.jampulang.Value, DateTimeKind.Utc); model.jampulang = localTime2.LocalDateTime; } DateTime tanggalHariIni = model.jamdatang.Value; var todayabsen = db.Absens.Where(x => x.idpegawai == model.idpegawai && x.jamdatang.Value.Day == tanggalHariIni.Day && x.jamdatang.Value.Month == tanggalHariIni.Month && x.jamdatang.Value.Year == tanggalHariIni.Year).FirstOrDefault(); if (todayabsen == null) { model.jamdatang = tanggalHariIni; if (model.status != "masuk") { model.jampulang = null; } model.idabsen = db.Absens.InsertAndGetLastID(model); if (model.idabsen <= 0) { throw new SystemException("Terjadi Kesalahan, Coba Ulangi Lagi"); } return(Task.FromResult(model)); } else { todayabsen.jamdatang = model.jamdatang; todayabsen.jampulang = model.jampulang; todayabsen.status = model.status; todayabsen.keterangan = model.keterangan; if (!db.Absens.Update(x => new { x.status, x.jamdatang, x.jampulang, x.keterangan }, todayabsen, x => x.idabsen == todayabsen.idabsen)) { throw new SystemException("Terjadi Kesalahan , Coba Ulangi Lagi"); } model = todayabsen; return(Task.FromResult(model)); } } catch (System.Exception ex) { throw new AppException(ex.Message); } } }
public async Task <IActionResult> Post([FromBody] absen model) { try { absen result = await absenService.Insert(model); return(Ok(result)); } catch (System.Exception ex) { return(BadRequest(ex.Message)); } }
public async Task <IActionResult> PutAsync(int id, [FromBody] absen model) { try { var result = await absenService.Update(model); return(Ok(result)); } catch (System.Exception ex) { return(BadRequest(ex.Message)); } }
public Task <bool> Update(absen item) { using (var db = new OcphDbContext()) { try { return(Task.FromResult(db.Absens.Update(x => new { x.jamdatang, x.jampulang, x.keterangan }, item, x => x.idabsen == item.idabsen))); } catch (System.Exception ex) { throw new AppException(ex.Message); } } }
public bool CanIjin(absen ab) { var a = source.Where(o => o.Tanggal.Day == ab.Tanggal.Day && o.Tanggal.Month == ab.Tanggal.Month && o.Tanggal.Year == ab.Tanggal.Year && o.Ijin == ab.Ijin); if (a != null) { return(true); } return(false); }
public bool Update(absen item) { using (var db = new OcphDbContext()) { var trans = db.Connection.BeginTransaction(); try { if (db.Absens.Update(x => new { x.Alpa, x.Bulan, x.Hadir, x.Ijin, x.Keterangan, x.Sakit, x.Tanggal, x.WaktuMasuk, x.WaktuPulang }, item, x => x.IdAbsen == item.IdAbsen)) { var res = Source.Where(O => O.IdAbsen == item.IdAbsen).FirstOrDefault(); if (res != null) { res.Alpa = item.Alpa; res.Bulan = item.Bulan; res.Hadir = item.Hadir; res.Ijin = item.Ijin; res.Keterangan = item.Keterangan; res.Sakit = item.Sakit; res.Tanggal = item.Tanggal; res.WaktuMasuk = item.WaktuMasuk; res.WaktuPulang = item.WaktuPulang; trans.Commit(); return(true); } else { throw new SystemException(); } } else { throw new SystemException(); } } catch (Exception) { trans.Rollback(); return(false); } } }
public Task <absen> Insert(absen model) { using (var db = new OcphDbContext()) { try { //edit if (model.idabsen > 0) { if (!db.Absens.Update(x => new { x.status, x.jamdatang, x.jampulang, x.keterangan }, model, x => x.idabsen == model.idabsen)) { throw new SystemException("Terjadi Kesalahan , Coba Ulangi Lagi"); } } else { int tanggal = model.jamdatang.Value.Day; int bulan = model.jamdatang.Value.Month; int tahun = model.jamdatang.Value.Year; var today = db.Absens.Where(x => x.idpegawai == model.idpegawai && x.jamdatang.Value.Day == tanggal && x.jamdatang.Value.Month == bulan && x.jamdatang.Value.Year == tanggal).FirstOrDefault(); if (today == null) { model.idabsen = db.Absens.InsertAndGetLastID(model); } else { if (today.jampulang.Value.Day != model.jampulang.Value.Day || today.jampulang.Value.Month != model.jampulang.Value.Month || today.jampulang.Value.Year != model.jampulang.Value.Year) { if (!db.Absens.Update(x => new { x.jampulang }, today, x => x.idabsen == today.idabsen)) { throw new SystemException("Terjadi Kesalahan , Coba Ulangi Lagi"); } } else { throw new SystemException("Anda Sudah Absen hari Ini"); } } } return(Task.FromResult(model)); } catch (System.Exception ex) { throw new AppException(ex.Message); } } }
public void SendNewAbsen(absen ab) { Clients.All.AddNewAbsen(ab); using (var db = new OcphDbContext()) { var result = db.Pegawai.Where(O => O.Id == ab.PegawaiId).FirstOrDefault(); if (result != null) { foreach (var connectionId in _connections.GetConnections(result.UserId)) { Clients.Client(connectionId).addToUser(ab); } } } }
private async void Verification_OnIdentify(IdentificationControl IdentificationControl, IdentifyResult IdentificationResult) { if (IdentificationResult.Indexes != null && IdentificationResult.Indexes.Count() > 0) { await Task.Delay(6000); var ab = new absen { PengaturanId = 1, PegawaiId = Pegawai.Id, Tanggal = DateTime.Now, JamMasuk = DateTime.Now.TimeOfDay }; var absenCollection = ResourcesBase.GetMainWindowViewModel().AbsenCollection; absenCollection.OnChangeSource += AbsenCollection_OnChangeSource; absenCollection.Add(ab); this.Close(); } }
private void AbsenCommandAction(object obj) { try { var dataAbsen = new absen { IdMahasiswa = idAnggota, Tanggal = today }; var isSaved = Absen.Add(dataAbsen); SourceView.Refresh(); Helpers.ShowSuccessMessage("Anda Sudah Absen"); IdAnggota = null; } catch (Exception ex) { Helpers.ShowErrorMessage(ex.Message); } }
private void DoAbsen(absen value) { if (!NotHavePerizinan()) { var setting = GetPengaturan(); if (setting != null && NotHollyDay()) { var todayController = new AbsenTodayController(); var today = todayController.Get(value.PegawaiId); if (UserCanAbsen(setting, today)) { using (var db = new OcphDbContext()) { if (GetAbsenStatus(setting) == AbsenStatus.Masuk) { value.Status = Library.StatusKehadiran.Hadir; value.Id = db.Absen.InsertAndGetLastID(value); if (value.Id < 0) { throw new SystemException("Terjadi Kesalahan, Hubungi Administrator"); } } else if (GetAbsenStatus(setting) == AbsenStatus.Pulang) { today.JamPulang = DateTime.Now.TimeOfDay; if (!db.Absen.Update(O => new { O.JamPulang }, today, O => O.Id == today.Id)) { throw new SystemException("Terjadi Kesalahan, Hubungi Administrator"); } } } this.Success = true; } else { throw new SystemException("Terjadi Kesalahan, Hubungi Administrator"); } } } else { throw new SystemException("Anda Sedang " + Perizinan.Jenis); } }
public bool Add(absen absen) { try { using (var db = new OcphDbContext()) { var dataAnggota = db.Anggotas.Where(O => O.IdMahasiswa == absen.IdMahasiswa).FirstOrDefault(); if (dataAnggota == null) { throw new SystemException("Data Mahasiswa Tidak Ditemukan"); } else { var dataAbsen = Source.Where(O => O.IdMahasiswa == absen.IdMahasiswa && O.Tanggal.Day == absen.Tanggal.Day && O.Tanggal.Month == absen.Tanggal.Month && O.Tanggal.Year == absen.Tanggal.Year).FirstOrDefault(); DateTime today = DateTime.Now; var result = CanAbsen(dataAbsen); if (result == StatusBisaAbsen.Datang) { absen.WaktuMasuk = today.TimeOfDay; absen.Hadir = Status.Ya; absen.Bulan = today.Month.ToString(); absen.IdAbsen = db.Absens.InsertAndGetLastID(absen); absen.Anggota = dataAnggota; Source.Add(absen); return(true); } else { dataAbsen.WaktuPulang = today.TimeOfDay; return(db.Absens.Update(O => new { O.WaktuPulang }, dataAbsen, O => O.IdAbsen == dataAbsen.IdAbsen)); } } } } catch (Exception ex) { throw new SystemException(ex.Message); } }
public Task <absen> TodayAbsen(absen model) { using (var db = new OcphDbContext()) { try { //edit DateTime tanggalHariIni = DateTime.Now; TimeSpan waktuHariIni = tanggalHariIni.TimeOfDay; TimeSpan jamMasuk = new TimeSpan(8, 0, 0); TimeSpan batasTerlambat = new TimeSpan(10, 0, 0); TimeSpan batasSiang = new TimeSpan(12, 0, 0); TimeSpan batasPulangCepat = new TimeSpan(16, 0, 0); TimeSpan jamPulang = new TimeSpan(17, 0, 0); var todayabsen = db.Absens.Where(x => x.idpegawai == model.idpegawai && x.jamdatang.Value.Day == tanggalHariIni.Day && x.jamdatang.Value.Month == tanggalHariIni.Month && x.jamdatang.Value.Year == tanggalHariIni.Year).FirstOrDefault(); if (todayabsen == null) { if (model.status == "masuk") { if (waktuHariIni > batasTerlambat) { throw new SystemException("Anda Tidak Dapat Absen Karena Terlambat"); } else { model.jamdatang = tanggalHariIni; model.jampulang = null; if (waktuHariIni > jamMasuk) { model.keterangan = "Datang : Terlambat, "; } else { model.keterangan = "Datang : Tepat Waktu,"; } model.idabsen = db.Absens.InsertAndGetLastID(model); if (model.idabsen <= 0) { throw new SystemException("Terjadi Kesalahan, Coba Ulangi Lagi"); } return(Task.FromResult(model)); } } else { model.jamdatang = tanggalHariIni; model.jampulang = null; model.idabsen = db.Absens.InsertAndGetLastID(model); if (model.idabsen <= 0) { throw new SystemException("Terjadi Kesalahan, Coba Ulangi Lagi"); } return(Task.FromResult(model)); } } else { if (waktuHariIni <= batasTerlambat) { throw new SystemException("Anda Sudah Absen Datang"); } if (waktuHariIni > batasTerlambat && waktuHariIni < batasPulangCepat) { throw new SystemException("belum Saatnya Pulang"); } if (todayabsen.jampulang != null) { throw new SystemException("Anda Sudah Absen Pulang"); } if (waktuHariIni > batasPulangCepat) { todayabsen.keterangan += $"\r Pulang : Terlalu Cepat"; } if (waktuHariIni > jamPulang) { todayabsen.keterangan += $"\r Pulang : Tepat Waktu"; } todayabsen.jampulang = tanggalHariIni; if (!db.Absens.Update(x => new { x.status, x.jamdatang, x.jampulang, x.keterangan }, todayabsen, x => x.idabsen == todayabsen.idabsen)) { throw new SystemException("Terjadi Kesalahan , Coba Ulangi Lagi"); } model = todayabsen; return(Task.FromResult(model)); } } catch (System.Exception ex) { throw new AppException(ex.Message); } } }
public AbsenContext(absen value) { this.value = value; DoAbsen(value); }
private StatusBisaAbsen CanAbsen(absen ab) { TimeSpan time = DateTime.Now.TimeOfDay; if (time <= new TimeSpan(12, 0, 0)) { if (ab == null) { if (time <= new TimeSpan(8, 30, 0)) { return(StatusBisaAbsen.Datang); } else { throw new SystemException("Maaf Anda Terlmabat"); } } else { if (time <= new TimeSpan(12, 0, 0)) { throw new SystemException("Anda Sudah Absen Masuk Hari Ini"); } else { if (ab.WaktuPulang != new TimeSpan(0, 0, 0)) { throw new SystemException("Anda Sudah Absen Pulang Hari Ini"); } else if (time <= new TimeSpan(15, 00, 0)) { throw new SystemException("Maaf Belum Saatnya Absen Pulang"); } else { return(StatusBisaAbsen.Pulang); } } } } else { if (ab == null) { throw new SystemException("Maaf Anda Alpha Hari Ini"); } else { if (ab.WaktuPulang != new TimeSpan(0, 0, 0)) { throw new SystemException("Anda Sudah Absen Pulang Hari Ini"); } else if (time <= new TimeSpan(15, 0, 0)) { throw new SystemException("Maaf Belum Saatnya Absen Pulang"); } else { return(StatusBisaAbsen.Pulang); } } } }