public async Task <IActionResult> Post([FromBody] Prosentase Prosentase) { try { await _Prosentase.CreateAsync(Prosentase); return(Ok("Tambah Data Berhasil")); } catch (Exception ex) { return(BadRequest(ex.Message)); } }
public async Task CreateAsync(JenisTindakan obj) { //result dengan mencari dari hasil search tenant var data = await getbytenantid(obj.TenantID); //var result = data.Where(e => e.Jenis == obj.Jenis).ToList(); var result = _context.JenisTindakan.Where(e => e.Jenis == obj.Jenis && e.IdKatJenis == obj.IdKatJenis).SingleOrDefault(); //mencari data tenant ccc if (result == null) { //getuserroledokterdulu //dicekusertsbadaditenantsesuaiinputkah //loopuntukinput //var dt_dokter = await _context.Pengguna.Where(r => r.rolename == "Dokter").ToListAsync(); var dt_dokter = await _context.TenantPengguna.Where(r => r.TenantID == obj.TenantID).Include(r => r.pengguna).ToListAsync(); var result2 = dt_dokter.Where(r => r.pengguna.rolename == "Dokter").ToList(); if (result2.Count == 0) { throw new Exception("Data pengguna di tenant ini tidak ada"); } _context.Add(obj); IdentityOptions _option = new IdentityOptions(); foreach (var dokter in result2) { if (dokter.pengguna.rolename == "Dokter") { var detailPegawai = await _context.DetailPegawai.Where(r => r.Username == dokter.Username).SingleOrDefaultAsync(); Prosentase dt_pros = new Prosentase(); dt_pros.Username = dokter.Username; dt_pros.IdJenisTindakan = obj.IdJenisTindakan; dt_pros.TenantID = obj.TenantID; dt_pros.Prosen = dokter.pengguna.Prosentase; dt_pros.DetailPegawaiID = detailPegawai.DetailPegawaiID; await _Prosentase.CreateAsync(dt_pros); } else { throw new Exception("Bukan data dokter"); } } await _context.SaveChangesAsync(); } else { throw new Exception("Nama Jenis Tindakan tidak boleh sama"); } }
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)); } }
//[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 UpdateAsync(Pengguna obj) { try { //harus dapetin role dari user var getdatapengguna = await getpenggunausername(obj.Username); if (getdatapengguna.rolename == null) { await _UserRole.AddUserToRoleAsync(obj.Username, obj.rolename); } else { await _UserRole.RemoveuserRole(getdatapengguna.Username, getdatapengguna.rolename); await _UserRole.AddUserToRoleAsync(obj.Username, obj.rolename); } if (getdatapengguna.rolename == null) { await _UserRole.AddUserToRoleAsync(obj.Username, obj.rolename); } if (obj.rolename == "Perawat") { if (getdatapengguna.IdPasien != null) { obj.IdPasien = null; } if (await _prosentase.getbyusername(obj.Username) == null) { await _prosentase.Deletebyusername(obj.Username); } var detailpasien = await _detailPasien.getusername(obj.Username); DetailPegawai pegawai = new DetailPegawai(); var pegawaii = await _detailPegawai.getusername(obj.Username, obj.TenantID); if (pegawaii == null) { pegawai.Username = obj.Username; pegawai.Jabatan = "Perawat"; pegawai.TanggalJoin = DateTime.Today; await _detailPegawai.CreateAsync(pegawai); } else { pegawai.Username = obj.Username; pegawai.Jabatan = "Perawat"; pegawai.TanggalJoin = DateTime.Today; await _detailPegawai.UpdateAsync(pegawai); } // create data pegawai } if (obj.rolename == "Dokter") { if (getdatapengguna.IdPasien != null) { obj.IdPasien = null; } if (getdatapengguna.Prosentase == 0) { obj.Prosentase = 30; } var detailpasien = await _detailPasien.getusername(obj.Username); //if (detailpasien != null) //{ // await _detailPasien.DeleteByuser(obj.Username); //} //tidak akan di delete karena bergantung pada detailidpasien pada bagian transaksi DetailPegawai pegawai = new DetailPegawai(); var pegawaii = await _detailPegawai.getusername(obj.Username, getdatapengguna.TenantID); if (pegawaii == null) { pegawai.Username = obj.Username; pegawai.Jabatan = "Dokter"; pegawai.TanggalJoin = DateTime.Today; await _detailPegawai.CreateAsync(pegawai); } else { pegawai.Username = obj.Username; pegawai.Jabatan = "Dokter"; pegawai.TanggalJoin = DateTime.Today; await _detailPegawai.UpdateAsync(pegawai); } var dt_prosen = await _context.Prosentase.Where(r => r.Username == getdatapengguna.Username && r.TenantID == getdatapengguna.TenantID).ToListAsync(); if (dt_prosen == null) { var dt_jenisTindakan = await _context.JenisTindakan.Where(r => r.TenantID == getdatapengguna.TenantID).Include(r => r.Prosentase).ToListAsync(); foreach (var dt_jenis in dt_jenisTindakan) { // create data pegawai Prosentase prosen = new Prosentase(); prosen.Username = obj.Username; prosen.IdJenisTindakan = dt_jenis.IdJenisTindakan; prosen.Prosen = obj.Prosentase; prosen.TenantID = getdatapengguna.TenantID; prosen.DetailPegawaiID = pegawaii.DetailPegawaiID; await _prosentase.CreateAsync(prosen); } } } else if (obj.rolename == "Pasien") { //kasi contraint klo ada data pasien nya g usah di delete tapi di update // klo g ada dia create DetailPasien detpasien = new DetailPasien(); var detailpas = await _detailPasien.getusername(obj.Username); if (detailpas == null) { obj.IdPasien = "pasien" + obj.Username; detpasien.IdPasien = obj.IdPasien; detpasien.Username = obj.Username; detpasien.Registrasi = DateTime.Today; await _detailPasien.CreateAsync(detpasien); } else { obj.IdPasien = "pasien" + obj.Username; detpasien.IdPasien = obj.IdPasien; detpasien.Username = obj.Username; detpasien.Registrasi = DateTime.Today; await _detailPasien.UpdateAsync(detpasien); } } Users user = new Users(); user.Username = obj.Username; user.Email = obj.Email; await _userService.Updateuser(user); } catch (Exception ex) { throw new Exception($"{ex.Message} {ex.InnerException.Message}"); } var data = await getpenggunausername(obj.Username); if (data != null) { try { data.IdPasien = obj.IdPasien; data.Alamat = obj.Alamat; data.Nama = obj.Nama; data.Gender = obj.Gender; data.Umur = obj.Umur; data.Kota = obj.Kota; data.NoTelpon = obj.NoTelpon; data.NoHP = obj.NoHP; data.Email = obj.Email; data.rolename = obj.rolename; data.Prosentase = obj.Prosentase; await _context.SaveChangesAsync(); } catch (Exception ex) { throw new Exception($"{ex.Message} {ex.InnerException.Message}"); } } else { throw new Exception("Data tidak ditemukan"); } }