예제 #1
0
        //[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));
            }
        }
        // POST: api/getbarangbytenantid/ PAKE ROUTE AGAR AKSES NYA TIDAK NUMPUK DENGAN GET ID
        // CEK apakah id kat barang sudah sesuai dengan Tenant s
        public async Task <IActionResult> getkatjenistindakanbytenantid(string tenantID)
        {
            var model = await _JenisTindakan.getbytenantid(tenantID);

            return(Ok(model));
        }
예제 #3
0
        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));
            }
        }