public async Task CreateGajiPerawat(Penggajian penggajian) { var Pengguna = await _pengguna.getpenggunausername(penggajian.Username); if (Pengguna.rolename == "Perawat") { try { //tenantid var datapegawai = _context.DetailPegawai.Where(x => x.Username == Pengguna.Username).SingleOrDefault(); if (datapegawai == null) { throw new Exception("Data user tidak di temukan"); } penggajian.DetailPegawaiID = datapegawai.DetailPegawaiID; penggajian.TanggalAwal = DateTime.Today; penggajian.TanggalAkhir = DateTime.Today; _context.Add(penggajian); await _context.SaveChangesAsync(); //var dt_pegawai = await _context.DetailPegawai.Where(r => r.Username == penggajian.Username).SingleOrDefaultAsync(); datapegawai.Gaji = penggajian.TotalGaji; await _detailPegawai.UpdateAsync(datapegawai); } catch (Exception ex) { throw new Exception(ex.InnerException.Message); } } else { throw new Exception("Nama Barang tidak boleh Sama"); } }
public ActionResult GajiPerawat(Penggajian penggajian) { 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(penggajian); var contentData = new StringContent(stringData, System.Text.Encoding.UTF8, "application/json"); HttpResponseMessage response = client.PostAsync("/api/Penggajian/GajiPerawat", contentData).Result; if (response.StatusCode == HttpStatusCode.Forbidden) { return(Redirect("/Home/UnAuthorized")); } if (response.StatusCode == HttpStatusCode.BadRequest) { TempData["error"] = "error"; TempData["Pesan"] = response.Content.ReadAsStringAsync().Result; return(Redirect("/Barang/barangtenantid?tenantID=" + HttpContext.Session.GetString("TenantID"))); } if (response.IsSuccessStatusCode) { TempData["success"] = "success"; TempData["Pesan"] = response.Content.ReadAsStringAsync().Result; } } return(Redirect("/Home")); }
public async Task CreateAsync(Penggajian obj) { //gaji tidak bisa waktu tanggal join / sebelum join var a = Convert.ToDateTime(obj.TanggalAwal); var b = Convert.ToDateTime(obj.TanggalAkhir); var total = (b - a).TotalDays.ToString(); obj.MasaWaktu = total; // cek nama "" itu dokter atau bukan var testUser = await _pengguna.getpenggunausername(obj.Username); if (testUser.rolename != "Dokter") { throw new Exception("Pengguna ini bukanlah Seorang Dokter"); } //detailpegawai + tenant id var datapegawai = _context.DetailPegawai.Where(x => x.Username == obj.Username).SingleOrDefault(); if (datapegawai == null) { throw new Exception("Pengguna ini bukanlah Seorang Dokter"); } obj.DetailPegawaiID = datapegawai.DetailPegawaiID; //search transaksi per tenant dulu + dokter var dataTransaksi = _context.Transaksi.Include(e => e.Tindakan).Where(t => t.TenantID == obj.TenantID && t.Username == obj.Username).ToList(); if (dataTransaksi == null) { throw new Exception("Pengguna ini belum memiliki transaksi apapuun !"); } //sort sesuai dengan Tanggal yang di pilih var Datatgl_transaksi = dataTransaksi.Where(x => x.Tanggal >= obj.TanggalAwal && x.Tanggal <= obj.TanggalAkhir).ToList(); // Pada saat DetailPenggajian detailgaji = new DetailPenggajian(); foreach (var item in Datatgl_transaksi) { foreach (var biayaTrans in item.Tindakan) { obj.TotalGaji = obj.TotalGaji + (biayaTrans.Biaya * biayaTrans.Persenan / 100); } } _context.Add(obj); await _context.SaveChangesAsync(); detailgaji.IdGaji = obj.IdGaji; foreach (var test in Datatgl_transaksi) { detailgaji.IdTransaksi = test.IdTransaksi; _context.DetailPenggajian.Add(detailgaji); detailgaji.IdDetailGaji = 0; await _detailPenggajian.CreateAsync(detailgaji); //var dt_pegawai1 = await _detailPegawai.getusername(obj.Username); //var dt_pegawai = await _context.DetailPegawai.Where(r => r.Username == obj.Username).SingleOrDefaultAsync(); datapegawai.Gaji = obj.TotalGaji; await _detailPegawai.UpdateAsync(datapegawai); //update by id ? } }
public async Task <IActionResult> GajiPerawat([FromBody] Penggajian penggajian) { try { await _Penggajian.CreateGajiPerawat(penggajian); return(Ok("Tambah Data Berhasil")); } catch (Exception ex) { return(BadRequest(ex.Message)); } }
public async Task <IActionResult> Put([FromBody] Penggajian penggajian) { try { await _Penggajian.UpdateAsync(penggajian); return(Ok("Data berhasil diupdate")); } catch (Exception ex) { return(BadRequest(ex.Message)); } }
public ActionResult DetailPenggajian(int idGaji) { 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"); HttpResponseMessage response = client.GetAsync("/api/Penggajian/" + idGaji).Result; string stringData = response.Content.ReadAsStringAsync().Result; Penggajian data = JsonConvert.DeserializeObject <Penggajian>(stringData); TempData["Pesan"] = "Saved Successfully"; return(View(data)); } }
public async Task UpdateAsync(Penggajian obj) { //must make sure that the idkatbarang is not null var data = await GetById(obj.IdGaji); if (data != null) { try { var a = Convert.ToDateTime(obj.TanggalAwal); var b = Convert.ToDateTime(obj.TanggalAkhir); var total = (b - a).TotalDays; var testUser = await _pengguna.getpenggunausername(data.Username); if (testUser.rolename != "Dokter") { throw new Exception("Pengguna ini bukanlah Seorang Dokter"); } //tenant id var datapegawai = _context.DetailPegawai.Where(x => x.Username == obj.Username).SingleOrDefault(); if (datapegawai == null) { throw new Exception("Pengguna ini bukanlah Seorang Dokter"); } obj.DetailPegawaiID = datapegawai.DetailPegawaiID; //search transaksi per tenant dulu + dokter var dataTransaksi = _context.Transaksi.Include(e => e.Tindakan).Where(t => t.TenantID == obj.TenantID && t.Username == obj.Username).ToList(); if (dataTransaksi == null) { throw new Exception("Pengguna ini belum memiliki transaksi apapuun !"); } //sort sesuai dengan Tanggal yang di pilih var Datatgl_transaksi = dataTransaksi.Where(x => x.Tanggal >= obj.TanggalAwal && x.Tanggal <= obj.TanggalAkhir).ToList(); // Pada saat DetailPenggajian detailgaji = new DetailPenggajian(); foreach (var item in Datatgl_transaksi) { foreach (var biayaTrans in item.Tindakan) { obj.TotalGaji = obj.TotalGaji + (biayaTrans.Biaya * biayaTrans.Persenan / 100); } } datapegawai.Gaji = obj.TotalGaji; await _detailPegawai.UpdateAsync(datapegawai); data.MasaWaktu = (data.TanggalAkhir - data.TanggalAwal).ToString(); data.TanggalAkhir = obj.TanggalAkhir; data.TanggalAwal = obj.TanggalAwal; data.TanggalGaji = obj.TanggalGaji; data.TotalGaji = obj.TotalGaji; await _context.SaveChangesAsync(); var Det_gaji = await _context.DetailPenggajian.Where(r => r.IdGaji == data.IdGaji).ToListAsync(); foreach (var deletedetail in Det_gaji) { await _detailPenggajian.Delete(deletedetail.IdDetailGaji); } detailgaji.IdGaji = obj.IdGaji; foreach (var test in Datatgl_transaksi) { detailgaji.IdTransaksi = test.IdTransaksi; _context.DetailPenggajian.Add(detailgaji); detailgaji.IdDetailGaji = 0; await _detailPenggajian.CreateAsync(detailgaji); } await _context.SaveChangesAsync(); } catch (Exception ex) { throw new Exception($"{ex.Message} {ex.InnerException.Message}"); } } else { throw new Exception("Data tidak ditemukan"); } }
public ActionResult GajiDokter(Penggajian obj) { if (ModelState.IsValid) { using (HttpClient client = new HttpClient()) { client.BaseAddress = new Uri(Helpers.RestAPIAddress.GetUrl()); if (obj.IdGaji == 0) { 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/Penggajian", contentData).Result; if (response.StatusCode == HttpStatusCode.Forbidden) { return(Redirect("/Home/UnAuthorized")); } if (response.StatusCode == HttpStatusCode.BadRequest) { TempData["error"] = "error"; TempData["Pesan"] = response.Content.ReadAsStringAsync().Result; return(Redirect("/Penggajian/Penggajian")); } if (response.IsSuccessStatusCode) { TempData["success"] = "success"; TempData["Pesan"] = response.Content.ReadAsStringAsync().Result; } else { TempData["error"] = "error"; TempData["Pesan"] = response.Content.ReadAsStringAsync().Result; } return(Redirect("/Penggajian/Penggajian")); } 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/Penggajian/" + obj.IdGaji, 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("/Penggajian/Penggajian")); } } } return(Redirect("/Penggajian/Penggajian")); }