//[Authorize(Roles = "Admin")] public async Task <IEnumerable <Prosentase> > getbytenantid(string tenantID) { var models = await _Prosentase.getbytenantid(tenantID); return(models); }
//[Authorize(Roles = "Admin")] public async Task <IActionResult> Post([FromBody] Users userModel) { try { await _userService.Register(userModel); await _userService.AddUserToRole(userModel); //ambil data role dari yang udah ada // masukan ke pengguna.... Pengguna pengguna = new Pengguna(); pengguna.Username = userModel.Username; pengguna.Email = userModel.Email; pengguna.Nama = userModel.Nama; pengguna.TenantID = userModel.TenantID; pengguna.rolename = userModel.rolename; pengguna.Alamat = userModel.Alamat; pengguna.Kota = userModel.Kota; pengguna.NoHP = userModel.NoHp; pengguna.NoTelpon = userModel.NoTelpon; pengguna.Prosentase = userModel.Prosentase; pengguna.Umur = userModel.umur; if (pengguna.rolename == "Dokter" || pengguna.rolename == "Pasien") { pengguna.Prosentase = userModel.Prosentase; } else { pengguna.Prosentase = 0; } ////test it will it be okey if there same username again ? pengguna.IdPasien = null; var tenant = userModel.TenantID; pengguna.TenantID = tenant; await _userService.addpengguna(pengguna); DetailPegawai detailPegawai = new DetailPegawai(); detailPegawai.Username = pengguna.Username; detailPegawai.TanggalJoin = DateTime.Today; detailPegawai.Jabatan = userModel.rolename; if (pengguna.rolename == "Perawat") { detailPegawai.Gaji = userModel.Gaji; } await _detailPegawai.CreateAsync(detailPegawai); if (pengguna.rolename == "Dokter") { var dt_prosen = await _prosentase.getbytenantid(userModel.TenantID); var dt_jenisTindakan = await _JenisTindakan.getbytenantid(userModel.TenantID); foreach (var dt_jenis in dt_jenisTindakan) { Prosentase prosen = new Prosentase(); prosen.Username = userModel.Username; prosen.IdJenisTindakan = dt_jenis.IdJenisTindakan; prosen.Prosen = userModel.Prosentase; prosen.TenantID = userModel.TenantID; prosen.DetailPegawaiID = detailPegawai.DetailPegawaiID; await _prosentase.CreateAsync(prosen); } } TenantPengguna tenantPengguna = new TenantPengguna(); tenantPengguna.Username = userModel.Username; tenantPengguna.TenantID = userModel.TenantID; await _userService.TenantPengguna(tenantPengguna); return(Ok("Pendaftaran Anda Berhasil")); } catch (Exception ex) { return(BadRequest(ex.Message)); } }
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)); } }