public ActionResult Tambah_edit_dataprosentase(Prosentase obj, string returnUrl)
        {
            if (ModelState.IsValid)
            {
                using (HttpClient client = new HttpClient())
                {
                    client.BaseAddress = new Uri(Helpers.RestAPIAddress.GetUrl());
                    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/Prosentase/" + obj.IdJenisTindakan, contentData).Result;
                    if (response.StatusCode == HttpStatusCode.BadRequest || response.StatusCode == HttpStatusCode.Forbidden)
                    {
                        return(Redirect("/Home/ERROR403"));
                    }
                    if (response.IsSuccessStatusCode)
                    {
                        TempData["success"] = "success";
                        TempData["Pesan"]   = response.Content.ReadAsStringAsync().Result;
                    }
                    else
                    {
                        TempData["error"] = "error";
                        TempData["Pesan"] = response.Content.ReadAsStringAsync().Result;
                    }

                    return(Redirect("/Prosentase/Prosentasetenantid?=" + HttpContext.Session.GetString("TenantID")));
                }
            }

            return(Redirect(Request.Headers["Referer"].ToString()));
        }
示例#2
0
 public async Task CreateAsync(Prosentase obj)
 {
     try
     {
         _context.Add(obj);
         await _context.SaveChangesAsync();
     }
     catch (Exception ex)
     {
         throw new Exception(ex.InnerException.Message);
     }
 }
        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 <IActionResult> Put([FromBody] Prosentase Prosentase)
        {
            try
            {
                await _Prosentase.UpdateAsync(Prosentase);

                return(Ok("Data berhasil diupdate"));
            }
            catch (Exception ex)
            {
                return(BadRequest(ex.Message));
            }
        }
示例#5
0
        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));
            }
        }
 public ActionResult Tambah_edit_dataprosentase(int id = 0)
 {
     using (HttpClient client = new HttpClient())
     {
         client.BaseAddress = new Uri(Helpers.RestAPIAddress.GetUrl());
         if (id == 0)
         {
             return(View(id));
         }
         else
         {
             client.DefaultRequestHeaders.Authorization =
                 new AuthenticationHeaderValue("Bearer",
                                               HttpContext.Session.GetString("JWTtoken"));
             var token = HttpContext.Session.GetString("JWTtoken");
             HttpResponseMessage response = client.GetAsync("/api/Prosentase/" + id).Result;
             string     stringData        = response.Content.ReadAsStringAsync().Result;
             Prosentase data = JsonConvert.DeserializeObject <Prosentase>(stringData);
             TempData["Pesan"] = "Saved Successfully";
             return(View(data));
         }
     }
 }
        public async Task UpdateAsync(Prosentase obj)
        {
            var data = await GetById(obj.IdProsentase);

            if (data != null)
            {
                try
                {
                    data.Username        = obj.Username;
                    data.IdJenisTindakan = obj.IdJenisTindakan;
                    data.TenantID        = obj.TenantID;
                    data.Prosen          = obj.Prosen;
                    await _context.SaveChangesAsync();
                }
                catch (Exception ex)
                {
                    throw new Exception($"{ex.Message} {ex.InnerException.Message}");
                }
            }
            else
            {
                throw new Exception("Data tidak ditemukan");
            }
        }
        //[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));
            }
        }
示例#10
0
        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");
            }
        }
 public async Task CreateAsync(Prosentase obj)
 {
     _context.Add(obj);
     await _context.SaveChangesAsync();
 }