public async Task <ServiceResponse <List <GetPengajuanDto> > > GetExpired(int userId) { var response = new ServiceResponse <List <GetPengajuanDto> >(); var data = new List <GetPengajuanDto>(); var tmp = new Pengajuan(); var now = DateTime.Now.AddDays(39); var end = Convert.ToDateTime("1990-01-01"); var user = await _context.Tb_user.Include(c => c.Struktur).ThenInclude(c => c.Akses).FirstOrDefaultAsync(c => c.Id == userId); var name_struktur = user.Struktur.nama_struktur.ToLower(); var idcard = await _context.Tb_idcard.Include(c => c.Pengajuan).Where(c => c.Masa_berlaku <now && c.Masa_berlaku> end).ToListAsync(); if (!idcard.Any() || user == null) { response.Status = false; response.Message = (user == null ? "User tidak ditemukan" : "Data tidak Ditemukan"); return(response); } foreach (var item in idcard) { if (user.Struktur.Akses.Akses_name.ToLower() == "vendor") { var vendor = await _context.Tb_vendor.FirstOrDefaultAsync(c => c.User == user); tmp = await _context.Tb_pengajuan.Where(c => c.Vendor == vendor) .Include(c => c.Vendor).Include(c => c.Jenis) .FirstOrDefaultAsync(c => c.Id == item.Pengajuan.Id); } else if (name_struktur == "lock data pertamina" || name_struktur == "pegawai pertamina" || name_struktur == "pertamina") { var akun = await _context.Tb_akun.FirstOrDefaultAsync(c => c.User == user); tmp = await _context.Tb_pengajuan.Where(c => c.Nik == akun.Nik) .Include(c => c.Vendor).Include(c => c.Jenis) .FirstOrDefaultAsync(c => c.Id == item.Pengajuan.Id); } else { tmp = await _context.Tb_pengajuan.Include(c => c.Vendor).Include(c => c.Jenis) .FirstOrDefaultAsync(c => c.Id == item.Pengajuan.Id); } if (tmp != null) { var dataMap = _mapper.Map <GetPengajuanDto>(tmp); var idMap = await _context.Tb_idcard.FirstOrDefaultAsync(c => c.Pengajuan == tmp); var mapId = _mapper.Map <GetIdCardDto>(idMap); mapId.Expired = true; dataMap.IdCard = mapId; data.Add(dataMap); } } // response.Data = (data.Select(c => _mapper.Map<GetPengajuanDto>(c))).ToList(); response.Data = data; response.Message = "List Pengajuan Mendekati Expired"; return(response); }
public async Task <Pengajuan> UpdatePengajuanTruck(int id, Pengajuan pengajuan) { try { var oldPengajuan = context.Pengajuans.Include(x => x.Items).Where(x => x.Id == id).FirstOrDefault(); if (oldPengajuan == null) { throw new SystemException("Data Tidak Ditemukan !"); } oldPengajuan.LetterNumber = pengajuan.LetterNumber; oldPengajuan.StatusPengajuan = pengajuan.StatusPengajuan; foreach (var item in pengajuan.Items.ToList()) { if (item.Id == 0) { context.Entry(item.Truck).State = EntityState.Unchanged; oldPengajuan.Items.Add(item); } else if (oldPengajuan.Items != null) { var oldItem = oldPengajuan.Items.Where(x => x.Id == item.Id).FirstOrDefault(); if (oldItem != null && oldItem.AttackStatus != item.AttackStatus) { oldItem.AttackStatus = item.AttackStatus; } } } foreach (var item in oldPengajuan.Items.ToList()) { var removeItem = pengajuan.Items.Where(x => x.Id == item.Id).FirstOrDefault(); if (removeItem == null) { context.PengajuanItems.Remove(item); } } var result = await context.SaveChangesAsync(); if (result > 0) { return(pengajuan); } throw new SystemException("Pengajuan Not Saved ...!"); } catch (Exception ex) { throw new SystemException(ex.Message); } }
public async Task <IActionResult> PutSubmission(int id, Pengajuan model) { try { var result = await administrator.UpdatePengajuanTruck(id, model); return(Ok(result)); } catch (System.Exception ex) { return(BadRequest(ex.Message)); } }
public async Task <IActionResult> createsubmission(Pengajuan pengajuan) { try { var result = await administrator.AddNewPengajuanTruck(pengajuan); return(Ok(result)); } catch (System.Exception ex) { return(BadRequest(ex.Message)); } }
public async Task <Pengajuan> AddNewPengajuanTruck(Pengajuan pengajuan) { try { context.ChangeTracker.Clear(); if (pengajuan.Items == null || pengajuan.Items.Count <= 0) { throw new SystemException("Data Kendaraan Tidak Boleh Kosong !"); } pengajuan.Created = DateTime.Now; foreach (var item in pengajuan.Items) { var pItem = context.PengajuanItems .Include(x => x.Truck) .Include(x => x.Persetujuans) .Where(x => x.Truck.Id == item.Truck.Id) .AsNoTracking() .ToList(); var pengajuanItem = pItem.Where(x => x.Status == Helpers.StatusPersetujuan.Proccess || x.Status == Helpers.StatusPersetujuan.Approved || x.Status == Helpers.StatusPersetujuan.Reject).FirstOrDefault(); if (pengajuanItem != null) { throw new SystemException($"Mobil : {item.Truck.PlateNumber} Sudah Diajukan !"); } context.Entry(item.Truck).State = EntityState.Unchanged; } context.Entry(pengajuan.Company).State = EntityState.Unchanged; context.Attach(pengajuan); context.Pengajuans.Add(pengajuan); var result = await context.SaveChangesAsync(); if (result > 0) { return(pengajuan); } throw new SystemException("Pengajuan Not Saved ...!"); } catch (System.Exception ex) { throw new SystemException(ex.Message); } }
public async Task <ServiceResponse <GetPengajuanDto> > AddDataPengajuan(AddDataPengajuanDto req) { ServiceResponse <GetPengajuanDto> response = new ServiceResponse <GetPengajuanDto>(); var vendor = await _context.Tb_vendor.FirstOrDefaultAsync(c => c.Id == req.VendorId); var jenis = await _context.Tb_jenis_pekerjaan.FirstOrDefaultAsync(c => c.Id == req.JenisId); if (vendor == null || jenis == null) { var nul = (vendor == null ? "Vendor" : "Jenis"); response.Status = false; response.Message = "Data " + nul + " tidak ditemukan"; return(response); } var data = new Pengajuan(); data.Nik = req.Nik; data.Nama_lengkap = req.Nama_lengkap; data.Alamat = req.Alamat; data.Tgl_pengajuan = req.Tgl_pengajuan; data.No_telp = req.No_telp; data.Status_pengajuan = "0"; data.Keterangan = req.Keterangan; data.Sistem_created_time = DateTime.Now; data.Sistem_updated_time = Convert.ToDateTime("1900-01-01"); data.Perpanjangan = (req.Perpanjangan == 0 ? false : true); data.Vendor = vendor; data.Tgl_lahir = (req.Tgl_lahir.Year == 0001 ? Convert.ToDateTime("1900-01-01") : req.Tgl_lahir); data.Jenis = jenis; try { await _context.Tb_pengajuan.AddAsync(data); await _context.SaveChangesAsync(); response.Data = _mapper.Map <GetPengajuanDto>(data); response.Message = "Tambah Pengajuan Berhasil"; } catch (Exception ex) { response.Status = false; response.Message = ex.Message; } return(response); }
public ActionResult Submit(int?id) { string npk = this.Session["NPK"].ToString(); Pengajuan mdat = new Pengajuan(); mdat.ID_Pengajuan = DateTime.Now.ToString("yyyyMMddHHmmss") + RandomString(3); mdat.ID_GA = npk; mdat.Tgl_Pengajuan = DateTime.Now; mdat.TotalHarga = 0; mdat.StatusPengajuan = 0; mdat.SudahDibayar = 0; mdat.StatusFinal = "-"; entities.Pengajuans.Add(mdat); var detail = entities.KeranjangPengajuans.Where(x => x.ID_Karyawan == npk); foreach (var item in detail) { DetailPengajuan dat = new DetailPengajuan(); dat.ID_Pengajuan = mdat.ID_Pengajuan; dat.ID_Barang = item.ID_Barang; dat.Kuantitas = item.Qyt; dat.HargaBarang = item.BarangVendor.Harga; dat.StatusBarang = "-"; dat.ID_Vendor = (int)item.BarangVendor.ID_Vendor; var temp = entities.BarangPerusahaans.Where(x => x.ID == item.ID_Barang).First(); dat.HargaBarang = temp.Harga; entities.DetailPengajuans.Add(dat); } entities.KeranjangPengajuans.RemoveRange(entities.KeranjangPengajuans.Where(x => x.ID_Karyawan == npk)); entities.SaveChanges(); // Session Username & Role ViewBag.NamaUser = this.Session["NamaUser"]; ViewBag.Role = this.Session["Role"]; return(RedirectToAction("Form")); }