Ejemplo n.º 1
0
        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"));
        }
Ejemplo n.º 3
0
        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));
            }
        }
Ejemplo n.º 7
0
        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"));
        }