Beispiel #1
0
 public List <kelengkapan> GetKelengkapan(permohonan item)
 {
     using (var db = new OcphDbContext())
     {
         return(db.Kelengkapans.Where(O => O.IdPermohonan == item.IdPemohon).ToList());
     }
 }
Beispiel #2
0
        public async Task <IActionResult> NextStep(permohonan item)
        {
            try
            {
                var id = UserManager.GetUserId(User);
                if (id == null)
                {
                    throw new SystemException("Anda Belum Login");
                }
                var profile = await User.GetPetugas(id);

                if (profile != null)
                {
                    var service = new PermohonanService(new UOWPermohonan());

                    item.NextTahapan = service.GetNextTahapan();
                    service.SetCurrentPermohonan(item);
                    bool success = service.SetNextStep();

                    return(Ok(success));
                }
                else
                {
                    throw new SystemException("Anda Tidak Memiliki Akses");
                }
            }
            catch (Exception ex)
            {
                return(BadRequest(ex.Message.ToString()));
            }
        }
Beispiel #3
0
 public permohonan CreatePermohonan(layanan t)
 {
     if (t == null || t.Id <= 0)
     {
         throw new ArgumentNullException("layanan", "layanan IsNull atau Id Layanan 0");
     }
     else if (Pemohon == null)
     {
         throw new ArgumentNullException("Pemohon", "Pemohon Tidak Ada");
     }
     else
     {
         var itemPermohonan = new permohonan {
             IdLayanan = t.Id, IdPemohon = Pemohon.Id, Status = StatusPermohonan.Baru
         };
         var result = UnitWorkPermohonan.InsertNewPermohonan(itemPermohonan, t);
         if (result != null)
         {
             this.Permohonan = itemPermohonan;
             return(itemPermohonan);
         }
         else
         {
             throw new ArgumentNullException("permohonan", "Permohonan Tidak Berhasil Dibuat");
         }
     }
 }
Beispiel #4
0
        public tahapan GetNextTahapan(permohonan permohonan)
        {
            try
            {
                var current = GetCurrentTahapan(permohonan);

                using (var db = new OcphDbContext())
                {
                    int urutan = 1;
                    if (current != null)
                    {
                        var lastTahapan = db.TahapanLayanan.Where(O => O.Id == permohonan.IdLayanan && O.TahapanId == current.Id).FirstOrDefault();
                        urutan = lastTahapan.Urutan + 1;
                    }
                    var Curenttahapans = from z in db.TahapanLayanan.Where(O => O.Id == permohonan.IdLayanan && O.Urutan == urutan)
                                         join y in db.Tahapans.Select() on z.TahapanId equals y.Id
                                         select y;

                    return(Curenttahapans.FirstOrDefault());
                }
            }
            catch
            {
                return(null);
            }
        }
Beispiel #5
0
 public List <progress> GetItemsTahapan(permohonan permohonan)
 {
     using (var db = new OcphDbContext())
     {
         return(db.Progress.Where(O => O.IdPermohonan == permohonan.Id).ToList());
     }
 }
Beispiel #6
0
        public tahapan GetCurrentTahapan(permohonan permohonan)
        {
            try
            {
                using (var db = new OcphDbContext())
                {
                    var lastProggress = db.Progress.Where(O => O.IdPermohonan == permohonan.Id).OrderBy(O => O.Id).Last();

                    if (lastProggress == null)
                    {
                        return(null);
                    }
                    else
                    {
                        var Curenttahapans = from z in db.TahapanLayanan.Where(O => O.Id == permohonan.IdLayanan && O.TahapanId == lastProggress.IdTahapan)
                                             join y in db.Tahapans.Select() on z.TahapanId equals y.Id
                                             select y;
                        return(Curenttahapans.FirstOrDefault());
                    }
                }
            }
            catch
            {
                return(null);
            }
        }
        private async void DaftarAction(object obj)
        {
            try
            {
                if (IsBusy)
                {
                    return;
                }
                IsBusy = true;
                if (Valid())
                {
                    var item = new permohonan {
                        IdLayanan = SelectedItem.Id
                    };
                    item.Layanan = SelectedItem;
                    bool isCreated = await PermohonanService.CreateNewPermohonan(item);

                    if (isCreated)
                    {
                        var main = await Helper.GetMainPageAsync();

                        main.SetPage(typeof(PermohonanView));
                    }
                }
            }
            catch (Exception ex)
            {
                Helper.ShowMessageError(ex.Message);
            }
            finally
            {
                IsBusy = false;
            }
        }
        public async Task <bool> CreateNewPermohonan(permohonan item)
        {
            try
            {
                using (var rest = new RestServices())
                {
                    var result = await rest.Post <permohonan>("api/ClientPermohonan", item);

                    if (result != null)
                    {
                        lastPermohonan = result;
                        if (list == null)
                        {
                            list = new List <permohonan>();
                        }

                        list.Add(lastPermohonan);
                        return(true);
                    }
                    return(false);
                }
            }
            catch (Exception ex)
            {
                throw new SystemException(ex.Message);
            }
        }
Beispiel #9
0
        public Task <bool> UpdatePermohonan(permohonan item)
        {
            using (var db = new OcphDbContext())
            {
                var trans = db.BeginTransaction();
                try
                {
                    var dbKelengkapan = db.Kelengkapans.Where(O => O.IdPermohonan == item.Id).ToList();

                    if (item.Kelengkapans != null)
                    {
                        foreach (var data in item.Kelengkapans)
                        {
                            var result = dbKelengkapan.Where(O => O.IdPersyaratan == data.IdPersyaratan && O.IdPermohonan == item.Id).FirstOrDefault();
                            if (result == null)
                            {
                                if (!db.Kelengkapans.Insert(data))
                                {
                                    throw new SystemException("Data Tidak Tersimpan");
                                }
                            }
                            else
                            {
                                if (!db.Kelengkapans.Update(O => new { O.Status }, data, O => O.IdPermohonan == data.IdPermohonan && O.IdPersyaratan == data.IdPersyaratan))
                                {
                                    throw new SystemException("Data Tidak Tersimpan");
                                }
                            }
                        }
                    }

                    var dbTahapans = db.Progress.Where(O => O.IdPermohonan == item.Id).ToList();


                    if (item.Tahapans != null)
                    {
                        foreach (var data in item.Tahapans)
                        {
                            var result = dbTahapans.Where(O => O.IdTahapan == data.IdTahapan && O.IdPermohonan == item.Id).FirstOrDefault();
                            if (result == null)
                            {
                                if (!db.Progress.Insert(data))
                                {
                                    throw new SystemException("Data Tidak Tersimpan");
                                }
                            }
                        }
                    }
                    trans.Commit();
                    return(Task.FromResult(true));
                }
                catch (Exception ex)
                {
                    trans.Rollback();
                    throw new SystemException(ex.Message);
                }
            }
        }
Beispiel #10
0
 public void SetCurrentPermohonan(permohonan item)
 {
     Permohonan = item;
     if (item == null)
     {
         _tahapans       = null;
         _currentTahapan = null;
     }
 }
Beispiel #11
0
 public bool SetNextStep(permohonan p, tahapan nextTahapan)
 {
     using (var db = new OcphDbContext())
     {
         var result = db.Progress.Insert(new progress {
             IdPermohonan = p.Id, IdTahapan = nextTahapan.Id
         });
         return(result);
     }
 }
Beispiel #12
0
        public permohonan GetLastPermohonan()
        {
            RequestIsValid();
            using (var db = new OcphDbContext())
            {
                _permohonan = db.Permohonans.Where(O => O.IdPemohon == Pemohon.Id).LastOrDefault();
            }

            return(_permohonan);
        }
 public List <kelengkapan> GetKelengkapans(permohonan item)
 {
     if (item == null)
     {
         throw new SystemException("Item Permohonan Tidak Ada");
     }
     else
     {
         return(PermohonanService.GetKelengkapan(item));
     }
 }
Beispiel #14
0
        public PermohonanService(pemohon t, IPermohonanUOW uow)
        {
            Pemohon            = t;
            UnitWorkPermohonan = uow;
            var result = UnitWorkPermohonan.GetDaftarPermohonan(t);

            if (result.Count > 0)
            {
                Permohonan = result.Last();
            }
        }
 public bool ChangeWork(permohonan permohonan, progress tahapan)
 {
     if (permohonan == null || tahapan == null)
     {
         throw new SystemException("permohonan atau tahapan tidak ada");
     }
     else
     {
         return(BidangUnitOfWork.ChangeWork(permohonan, tahapan));
     }
 }
Beispiel #16
0
 public List <kelengkapan> GetKelengkapan(permohonan item)
 {
     if (item == null)
     {
         throw new SystemException("Permohonan Tidak Ada");
     }
     else
     {
         return(UnitWorkPermohonan.GetKelengkapan(item));
     }
 }
Beispiel #17
0
 public permohonan GetPermohonan(StatusPermohonan status)
 {
     RequestIsValid();
     if (_permohonan == null)
     {
         using (var db = new OcphDbContext())
         {
             _permohonan = db.Permohonans.Where(O => O.Status == status).FirstOrDefault();
         }
     }
     return(_permohonan);
 }
Beispiel #18
0
 private bool CreatedIsValid(permohonan t)
 {
     if (Pemohon == null)
     {
         throw new SystemException("Pemohon Belum Ditentukan");
     }
     if (t.IdLayanan > 0 && t.IdPemohon > 0)
     {
         throw new SystemException("Data Tidak Lengkap");
     }
     return(true);
 }
        public void CreatePermohonan_expected_Null_actual_Null()
        {
            var t = new layanan {
                Id = 1, IdKategoriLayanan = 1
            };
            var itemPermohonan = new permohonan {
                IdLayanan = t.Id, IdPemohon = 1, Status = AppCore.StatusPermohonan.Baru
            };

            A.CallTo(() => (unitWork.InsertNewPermohonan(itemPermohonan, t))).WithAnyArguments().Returns(null);

            Assert.Throws <ArgumentNullException>(() => service.CreatePermohonan(t));
        }
Beispiel #20
0
        public async Task <IActionResult> UpdatePermohonan([FromBody] permohonan item)
        {
            try
            {
                service = new PermohonanService(new UOWPermohonan());
                bool result = await service.UpdatePermohonan(item);

                return(Ok(result));
            }
            catch (Exception ex)
            {
                throw new SystemException(ex.Message);
            }
        }
Beispiel #21
0
 public Task <bool> UpdatePhotoSertifikat(permohonan item)
 {
     try
     {
         using (var db = new OcphDbContext())
         {
             var updated = db.Permohonans.Update(O => new { O.Photo }, item, O => O.Id == item.Id);
             return(Task.FromResult(updated));
         }
     }
     catch (Exception ex)
     {
         throw new SystemException(ex.Message);
     }
 }
        public void CreatePermohonan_expected_true_actual_true()
        {
            var t = new layanan {
                Id = 1, IdKategoriLayanan = 1
            };
            var itemPermohonan = new permohonan {
                IdLayanan = t.Id, IdPemohon = 1, Status = AppCore.StatusPermohonan.Baru
            };

            A.CallTo(() => (unitWork.InsertNewPermohonan(itemPermohonan, t))).WithAnyArguments().Returns(new permohonan()
            {
                Id = 25
            });
            var result = service.CreatePermohonan(t);

            Assert.True(result);
        }
 public IActionResult GetLastPermohonan(int id)
 {
     try
     {
         var uid = User.FindFirstValue(ClaimTypes.NameIdentifier);
         if (!string.IsNullOrEmpty(uid))
         {
             var        service = new AppCore.Services.ClientService(uid);
             permohonan result  = service.GetLastPermohonan();
             return(Ok(result));
         }
         else
         {
             return(Unauthorized());
         }
     }
     catch (Exception ex)
     {
         return(BadRequest(ex));
     }
 }
 public IActionResult Post([FromBody] permohonan value)
 {
     try
     {
         var id     = UserManagers.GetUserId(User);
         var client = new ClientService(id);
         if (client.Pemohon == null)
         {
             throw new SystemException("Maaf Anda Belum Terdaftar");
         }
         var service = new PermohonanService(client.Pemohon, new UOWPermohonan());
         var result  = service.CreatePermohonan(new layanan {
             Id = value.IdLayanan
         });
         return(Ok(result));
     }
     catch (Exception ex)
     {
         return(BadRequest(ex.Message));
     }
 }
Beispiel #25
0
 public permohonan InsertNewPermohonan(permohonan itemPermohonan, layanan lay)
 {
     using (var db = new OcphDbContext())
     {
         try
         {
             //Tahapan
             itemPermohonan.Id = db.Permohonans.InsertAndGetLastID(itemPermohonan);
             if (itemPermohonan.Id > 0)
             {
                 return(itemPermohonan);
             }
             else
             {
                 throw new SystemException("Permohonan Baru Tidak Dapat Dibuat");
             }
         }
         catch (Exception ex)
         {
             throw new SystemException(ex.Message);
         }
     }
 }
 public bool ChangeWork(permohonan permohonan, progress tahapan)
 {
     throw new NotImplementedException();
 }
Beispiel #27
0
        public bool CreatePermohonan(permohonan t)
        {
            using (var db = new OcphDbContext())
            {
                var trans = db.BeginTransaction();
                try
                {
                    if (CreatedIsValid(t))
                    {
                        t.IdPemohon = Pemohon.Id;
                        t.Id        = db.Permohonans.InsertAndGetLastID(t);
                        if (t.Id > 0)
                        {
                            t.Kelengkapans = new List <kelengkapan>();
                            var layanans = db.Persyaratans.Where(O => O.IdLayanan == t.IdLayanan);
                            foreach (var item in layanans)
                            {
                                var kelengkapan = new kelengkapan {
                                    IdPermohonan = t.Id, IdPersyaratan = item.Id, Status = StatusKelengkapan.Tidak
                                };
                                kelengkapan.Id = db.Kelengkapans.InsertAndGetLastID(kelengkapan);
                                if (kelengkapan.Id <= 0)
                                {
                                    throw new SystemException("Gagal Tambah Kelengkapan ");
                                }
                                else
                                {
                                    t.Kelengkapans.Add(kelengkapan);
                                }
                            }


                            t.Tahapans = new List <progress>();
                            var tahapans = db.Tahapans.Where(O => O.BidangId == t.IdLayanan);
                            foreach (var item in tahapans)
                            {
                                var tahap = new progress {
                                    IdPermohonan = t.Id, IdTahapan = item.Id
                                };
                                tahap.Id = db.Progress.InsertAndGetLastID(tahap);
                                if (tahap.Id > 0)
                                {
                                    t.Tahapans.Add(tahap);
                                }
                                else
                                {
                                    throw new SystemException("Gagal Tambah Tahapan");
                                }
                            }
                            _permohonan = t;

                            trans.Commit();
                            return(true);
                        }
                        return(false);
                    }
                    else
                    {
                        throw new SystemException("Data Tidak Valid");
                    }
                }
                catch (Exception ex)
                {
                    trans.Rollback();
                    throw new SystemException(ex.Message);
                }
            }
        }