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