public async Task CreateAsync(Penggajian obj) { //gaji tidak bisa waktu tanggal join / sebelum join var a = Convert.ToDateTime(obj.TanggalAwal); var b = Convert.ToDateTime(obj.TanggalAkhir); var total = (b - a).TotalDays.ToString(); obj.MasaWaktu = total; // cek nama "" itu dokter atau bukan var testUser = await _pengguna.getpenggunausername(obj.Username); if (testUser.rolename != "Dokter") { throw new Exception("Pengguna ini bukanlah Seorang Dokter"); } //detailpegawai + tenant id var datapegawai = _context.DetailPegawai.Where(x => x.Username == obj.Username).SingleOrDefault(); if (datapegawai == null) { throw new Exception("Pengguna ini bukanlah Seorang Dokter"); } obj.DetailPegawaiID = datapegawai.DetailPegawaiID; //search transaksi per tenant dulu + dokter var dataTransaksi = _context.Transaksi.Include(e => e.Tindakan).Where(t => t.TenantID == obj.TenantID && t.Username == obj.Username).ToList(); if (dataTransaksi == null) { throw new Exception("Pengguna ini belum memiliki transaksi apapuun !"); } //sort sesuai dengan Tanggal yang di pilih var Datatgl_transaksi = dataTransaksi.Where(x => x.Tanggal >= obj.TanggalAwal && x.Tanggal <= obj.TanggalAkhir).ToList(); // Pada saat DetailPenggajian detailgaji = new DetailPenggajian(); foreach (var item in Datatgl_transaksi) { foreach (var biayaTrans in item.Tindakan) { obj.TotalGaji = obj.TotalGaji + (biayaTrans.Biaya * biayaTrans.Persenan / 100); } } _context.Add(obj); await _context.SaveChangesAsync(); detailgaji.IdGaji = obj.IdGaji; foreach (var test in Datatgl_transaksi) { detailgaji.IdTransaksi = test.IdTransaksi; _context.DetailPenggajian.Add(detailgaji); detailgaji.IdDetailGaji = 0; await _detailPenggajian.CreateAsync(detailgaji); //var dt_pegawai1 = await _detailPegawai.getusername(obj.Username); //var dt_pegawai = await _context.DetailPegawai.Where(r => r.Username == obj.Username).SingleOrDefaultAsync(); datapegawai.Gaji = obj.TotalGaji; await _detailPegawai.UpdateAsync(datapegawai); //update by id ? } }
public async Task <Pengguna> Get(string Username) { var model = await _Pengguna.getpenggunausername(Username); var usertenantlist = await _tenantPengguna.getusertenantlist(Username); model.TenantPengguna = usertenantlist; return(model); }
public async Task <IActionResult> Delete(string Username) { try { Pengguna pengguna = new Pengguna(); pengguna = await _Pengguna.getpenggunausername(Username); if (pengguna != null) { if (pengguna.rolename == "Pasien") { var cekpasien = await _detailPasien.getusername(Username); if (cekpasien != null) { await _detailPasien.DeleteByuser(Username); } } else { await _prosentase.Deletebyusername(Username); var TenantUser = await _tenantPengguna.getusertenantlist(Username); foreach (var item in TenantUser) { await _tenantPengguna.Delete(item.TenantPenggunaID); } //detail gaji to //pengajian var cekpegawai = await _detailPegawai.getusername(Username, pengguna.TenantID); if (cekpegawai != null) { await _detailPegawai.DeleteByuser(Username); } } } var tenant = await _tenantPengguna.getusertenantlist(Username); foreach (var data in tenant) { await _tenantPengguna.Delete(data.TenantPenggunaID); } await _Pengguna.DeletebyUser(pengguna.Username); //await _userService.Delete(Username); //delete data pengguna sekalian return(Ok("Data berhasil didelete")); } catch (Exception ex) { return(BadRequest(ex.Message)); } }
public async Task <IActionResult> Post([FromBody] TenantPengguna tenantPengguna) { try { await _TenantPengguna.CreateAsync(tenantPengguna); var idPegawai = _context.DetailPegawai.Where(r => r.Username == tenantPengguna.Username).SingleOrDefault(); var datauser = await _pengguna.getpenggunausername(tenantPengguna.Username); var jenistindakan = _context.JenisTindakan.Where(r => r.TenantID == tenantPengguna.TenantID).ToList(); if (datauser.rolename == "Dokter") { //mengecek jika dokter ia akan ditambahkan dengan prosentase nya foreach (var item in jenistindakan) { Prosentase dt_pros = new Prosentase(); dt_pros.Username = datauser.Username; dt_pros.IdJenisTindakan = item.IdJenisTindakan; dt_pros.TenantID = tenantPengguna.TenantID; dt_pros.Prosen = datauser.Prosentase; dt_pros.DetailPegawaiID = idPegawai.DetailPegawaiID; await _prosentase.CreateAsync(dt_pros); } } if (datauser.rolename == "Pasien") { } else { throw new Exception("Bukan data dokter"); } return(Ok("Tambah Data Berhasil")); } catch (Exception ex) { return(BadRequest(ex.Message)); } }
public async Task CreateAsync(Tindakan obj) { var dt_transaksi = 0; var datapasien = await DataTransaksi(obj.IdTransaksi); foreach (var data in datapasien) { if (data.Status == "Selesai") { dt_transaksi = +1; } } if (dt_transaksi == 0) { //ambil tenant iD transaksi = tenant ID yang di gunakan oleh tindakan. //1.cek data transaksi yang di masukan, setelah di cari di lihat dan di bandingkan dengan tenant obj //tenant ID yang di ambil harus sesuai dengan tenantID pengguna(dokter) login. var tnt_transaksi = await _Transaksi.GetById(obj.IdTransaksi);// dan ID var tnt_pengguna = await _pengguna.getpenggunausername(tnt_transaksi.Username); var dt_JenisTindakanid = await _jenisTindakan.GetById(obj.IdJenisTindakan); if (tnt_pengguna.TenantID == obj.TenantID && tnt_transaksi.Tanggal == DateTime.Today)//&& dan tanggal dari transaksi = hari ini tidak boleh ngisi kemaren, datetimme (now) ) { if (tnt_transaksi.TenantID == tnt_pengguna.TenantID && dt_JenisTindakanid.TenantID == tnt_pengguna.TenantID) { var dt_prosentase = await _context.Prosentase.Where(r => r.Username == tnt_pengguna.Username).Include(r => r.JenisTindakan).ToListAsync(); var result = dt_prosentase.Where(e => e.IdJenisTindakan == obj.IdJenisTindakan).FirstOrDefault(); obj.Persenan = Convert.ToInt16(result.Prosen); _context.Add(obj); await _context.SaveChangesAsync(); List <pilihGIgi> stc = new List <pilihGIgi>(); foreach (var item in obj.GigiRawatK1) { if (item.IsChecked == true) { stc.Add(new pilihGIgi() { IdTindakan = obj.IdTindakan, idposisiGigi = item.id }); } } foreach (var item in obj.GigiRawatK2) { if (item.IsChecked == true) { stc.Add(new pilihGIgi() { IdTindakan = obj.IdTindakan, idposisiGigi = item.id }); } } foreach (var item in obj.GigiRawatK3) { if (item.IsChecked == true) { stc.Add(new pilihGIgi() { IdTindakan = obj.IdTindakan, idposisiGigi = item.id }); } } foreach (var item in obj.GigiRawatK4) { if (item.IsChecked == true) { stc.Add(new pilihGIgi() { IdTindakan = obj.IdTindakan, idposisiGigi = item.id }); } } foreach (var item in obj.GigiRawatKI) { if (item.IsChecked == true) { stc.Add(new pilihGIgi() { IdTindakan = obj.IdTindakan, idposisiGigi = item.id }); } } foreach (var item in obj.GigiRawatKII) { if (item.IsChecked == true) { stc.Add(new pilihGIgi() { IdTindakan = obj.IdTindakan, idposisiGigi = item.id }); } } foreach (var item in obj.GigiRawatKIII) { if (item.IsChecked == true) { stc.Add(new pilihGIgi() { IdTindakan = obj.IdTindakan, idposisiGigi = item.id }); } } foreach (var item in obj.GigiRawatKIV) { if (item.IsChecked == true) { stc.Add(new pilihGIgi() { IdTindakan = obj.IdTindakan, idposisiGigi = item.id }); } } //foreach (var item in stc) var totalgigi = stc.Count(); obj.Biaya = obj.BiayaDasar * totalgigi; obj.Posisi = stc; obj.IdTindakan = obj.IdTindakan; await UpdateAsync(obj); } } else { } } else { throw new Exception("Data Transaksi User Tidak Bisa di isi karena Transaksi telah Selesai"); } }
public async Task <IActionResult> EditUserToRole([FromBody] User user) { try { if (user.rolename == "Pasien") { return(BadRequest("ROLE PASIEN TIDAK DATA DI UBAH")); } await _userRoleService.RemoveuserRole(user.Username, user.currentrole); await _userRoleService.AddUserToRoleAsync(user.Username, user.rolename); var datapengguna = await _Pengguna.getpenggunausername(user.Username); datapengguna.rolename = user.rolename; if (user.rolename == "Dokter") { datapengguna.Prosentase = 10; var dataexist = await _detailPegawai.getusername(user.Username, datapengguna.TenantID); if (dataexist.Jabatan == "Dokter") { dataexist.Username = user.Username; dataexist.Jabatan = user.rolename; dataexist.Gaji = 10; dataexist.TanggalJoin = DateTime.Today; await _detailPegawai.UpdateAsync(dataexist); } await _Pengguna.UpdateAsync(datapengguna); var dt_prosen = await _prosentase.getbytenantid(datapengguna.TenantID); var dt_jenisTindakan = await _JenisTindakan.getbytenantid(datapengguna.TenantID); //foreach (var dt_jenis in dt_jenisTindakan) //{ // Prosentase prosen = new Prosentase(); // prosen.Username = datapengguna.Username; // prosen.IdJenisTindakan = dt_jenis.IdJenisTindakan; // prosen.Prosen = datapengguna.Prosentase; // prosen.TenantID = datapengguna.TenantID; // prosen.DetailPegawaiID = dataexist.DetailPegawaiID; // await _prosentase.CreateAsync(prosen); //} } else { var dataexist = await _detailPegawai.getusername(user.Username, datapengguna.TenantID); if (dataexist.Jabatan == "Dokter") { dataexist.Username = user.Username; dataexist.Jabatan = user.rolename; dataexist.TanggalJoin = DateTime.Today; dataexist.Gaji = 2000000; await _detailPegawai.UpdateAsync(dataexist); await _prosentase.Deletebyusername(user.Username); } } return(Ok("User yang telah berhasil edit dan di pindah ke role ini Berhasil")); //POKOE ASSING ROLE BARU = UPDATE KE DALEM PENGGUNA } catch (Exception ex) { return(BadRequest(ex.Message)); } }