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 ActionResult TambahEditDataTenantPengguna(TenantPengguna obj, string Username)
        {
            if (ModelState.IsValid)
            {
                using (HttpClient client = new HttpClient())
                {
                    client.BaseAddress = new Uri(Helpers.RestAPIAddress.GetUrl());
                    if (obj.TenantPenggunaID == null)
                    {
                        obj.Username = Username;
                        client.DefaultRequestHeaders.Authorization =
                            new AuthenticationHeaderValue("Bearer",
                                                          HttpContext.Session.GetString("JWTtoken"));
                        var    token                 = HttpContext.Session.GetString("JWTtoken");
                        string stringData            = JsonConvert.SerializeObject(obj);
                        var    contentData           = new StringContent(stringData, System.Text.Encoding.UTF8, "application/json");
                        HttpResponseMessage response = client.PostAsync("/api/TenantPengguna", contentData).Result;
                        if (response.IsSuccessStatusCode)
                        {
                            TempData["success"] = "success";
                            TempData["Pesan"]   = response.Content.ReadAsStringAsync().Result;
                        }
                        else
                        {
                            TempData["error"] = "error";
                            TempData["Pesan"] = response.Content.ReadAsStringAsync().Result;
                        }
                        //var data1 = response.Content.ReadAsStringAsync().Result.ToList().ToString();
                    }
                    else
                    {
                        client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer",
                                                                                                   HttpContext.Session.GetString("JWTtoken"));
                        //var token = HttpContext.Session.GetString("JWTtoken");
                        string stringData            = JsonConvert.SerializeObject(obj);
                        var    contentData           = new StringContent(stringData, System.Text.Encoding.UTF8, "application/json");
                        HttpResponseMessage response = client.PutAsync("/api/TenantPengguna/" + obj.TenantPenggunaID, contentData).Result;
                        if (response.IsSuccessStatusCode)
                        {
                            TempData["success"] = "success";
                            TempData["Pesan"]   = response.Content.ReadAsStringAsync().Result;
                        }
                        else
                        {
                            TempData["error"] = "error";
                            TempData["Pesan"] = response.Content.ReadAsStringAsync().Result;
                        }
                    }
                }
            }

            return(Redirect("Pengguna/EditDataUser?Username=" + obj.Username));
        }
        public async Task <IActionResult> Put([FromBody] TenantPengguna tenantPengguna)
        {
            try
            {
                await _TenantPengguna.UpdateAsync(tenantPengguna);

                return(Ok("Data berhasil diupdate"));
            }
            catch (Exception ex)
            {
                return(BadRequest(ex.Message));
            }
        }
Exemple #4
0
        //[Authorize(Roles = "Admin,Dokter,Perawat")]

        public async Task <IActionResult> Post([FromBody] TenantPengguna tenantPengguna)
        {
            try
            {
                await _TenantPengguna.CreateAsync(tenantPengguna);

                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));
            }
        }
        //untuk add tenant pertamakali saat registrasi
        public async Task TenantPengguna(TenantPengguna tenantPengguna)
        {
            var _tenantpengguna = new TenantPengguna {
                Username = tenantPengguna.Username, TenantID = tenantPengguna.TenantID
            };

            try
            {
                var result = _context.Add(_tenantpengguna);
                await _context.SaveChangesAsync();
            }
            catch (Exception ex)
            {
                throw new Exception(ex.InnerException.Message);
            }
        }
        public async Task CreateAsync(TenantPengguna obj)
        {
            var tenantpengguna = await _context.TenantPengguna.Where(r => r.TenantID == obj.TenantID && r.Username == obj.Username).SingleOrDefaultAsync();

            //var data = await getuserbytenantid(obj.TenantID);//ini hasilnya list
            ////stelah data tenant di dapat maka menncari
            ////var result = data.Where(e => e.Username == obj.Username).ToList();
            ////bingung efektif mana
            //var cara2 = await tenantforusername(obj.TenantID, obj.Username);
            //mencari data tenant ccc
            if (tenantpengguna == null)
            {
                _context.Add(obj);
                await _context.SaveChangesAsync();
            }
            else
            {
                throw new Exception("Username telah terpakai di tenant/klinik ini");
            }
        }
        public async Task UpdateAsync(TenantPengguna obj)
        {
            var data = await GetbyTenantPenggunaID(obj.TenantPenggunaID);

            if (data != null)
            {
                try
                {
                    data.TenantID = obj.TenantID;
                    data.Username = obj.Username;
                    await _context.SaveChangesAsync();
                }
                catch (Exception ex)
                {
                    throw new Exception($"{ex.Message} {ex.InnerException.Message}");
                }
            }
            else
            {
                throw new Exception("Data tidak ditemukan");
            }
        }
        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 ActionResult TambahEditDataTenantPengguna(string TenantPenggunaID, string Username)
 {
     using (HttpClient client = new HttpClient())
     {
         client.BaseAddress = new Uri(Helpers.RestAPIAddress.GetUrl());
         if (TenantPenggunaID == null)
         {
             return(View(new TenantPengguna()));
         }
         else
         {
             client.DefaultRequestHeaders.Authorization =
                 new AuthenticationHeaderValue("Bearer",
                                               HttpContext.Session.GetString("JWTtoken"));
             var token = HttpContext.Session.GetString("JWTtoken");
             HttpResponseMessage response = client.GetAsync("/api/TenantPengguna/").Result;
             string         stringData    = response.Content.ReadAsStringAsync().Result;
             TenantPengguna data          = JsonConvert.DeserializeObject <TenantPengguna>(stringData);
             TempData["Pesan"] = "Saved Successfully";
             return(View(data));
         }
     }
 }
        //[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));
            }
        }