public async Task <IActionResult> Post([FromBody] Users userModel) { try { //test nanti di pindah ke DAL 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.TenantID = userModel.TenantID; pengguna.rolename = userModel.rolename; ////test it will it be okey if there same username again ? if (userModel.rolename == "Pasien") { pengguna.IdPasien = new Guid().ToString(); await _userService.addpengguna(pengguna); DetailPasien detailpasien = new DetailPasien(); detailpasien.Registrasi = DateTime.Today; detailpasien.IdPasien = pengguna.IdPasien; detailpasien.Username = pengguna.Username; await _detailPasien.CreateAsync(detailpasien); } else { 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; await _detailPegawai.CreateAsync(detailPegawai); } 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> Post([FromBody] DetailPasien DetailPasien) { try { await _DetailPasien.CreateAsync(DetailPasien); return(Ok("Tambah Data Berhasil")); } catch (Exception ex) { return(BadRequest(ex.Message)); } }
public async Task <IActionResult> Register([FromBody] Users userModel) { try { //register kedalam user identity await _userService.Register(userModel); // register kddalam role await _userService.AddUserToRole(userModel); 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; pengguna.Prosentase = 0; pengguna.IdPasien = "Pasien" + pengguna.Username; await _Pengguna.CreateAsync(pengguna); //add detailpasien (manual >) DetailPasien detailpasien = new DetailPasien(); detailpasien.Registrasi = DateTime.Today; detailpasien.IdPasien = pengguna.IdPasien; detailpasien.Username = pengguna.Username; detailpasien.RwPenyakit = userModel.RwPenyakit; detailpasien.Registrasi = userModel.Registrasi; await _detailPasien.CreateAsync(detailpasien); //tenangpengguna manual ? TenantPengguna tenantPengguna = new TenantPengguna(); tenantPengguna.Username = userModel.Username; tenantPengguna.TenantID = userModel.TenantID; await _userService.TenantPengguna(tenantPengguna); return(Ok("Pendaftaran Anda Berhasil")); //1. user identity, 2. pengguna 3. detailpasien, 4.tenantpengguna } 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 != "Pasien") { if (getdatapengguna.IdPasien != null) { obj.IdPasien = null; } var detailpasien = await _detailPasien.getusername(obj.Username); if (detailpasien != null) { await _detailPasien.DeleteByuser(obj.Username); } DetailPegawai pegawai = new DetailPegawai(); var pegawaii = await _detailPegawai.getusername(obj.Username); if (pegawaii == null) { pegawai.Username = obj.Username; pegawai.Jabatan = obj.rolename; pegawai.TanggalJoin = DateTime.Today; await _detailPegawai.CreateAsync(pegawai); } // create data pegawai } 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); } } 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 getusername(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; await _context.SaveChangesAsync(); } catch (Exception ex) { throw new Exception($"{ex.Message} {ex.InnerException.Message}"); } } else { throw new Exception("Data tidak ditemukan"); } }
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"); } }