Example #1
0
        public void SetCancelManifest(Manifest manifestSelected, string alasan)
        {
            using (var db = new OcphDbContext())
            {
                var trans = db.BeginTransaction();
                try
                {
                    if (manifestSelected.IsTakeOff)
                    {
                        throw new SystemException(string.Format("Manifest Nomor  MT{0:D8}  Tidak Dapat Dibatalkan.\r\n Pesawat Telah Berangkat Atau Tiba di tujuan", manifestSelected.Id));
                    }

                    ActivedStatus actived = ActivedStatus.Cancel;
                    var           updated = db.Manifest.Update(O => new { O.ActiveStatus }, new manifestoutgoing {
                        Id = manifestSelected.Id, ActiveStatus = actived
                    },
                                                               O => O.Id == manifestSelected.Id);
                    if (updated)
                    {
                        var history = User.GenerateHistory(manifestSelected.Id, BussinesType.Manifest, ChangeType.Cancel, alasan);
                        if (!db.Histories.Insert(history))
                        {
                            throw new SyntaxErrorException("Manifest tidak dapat dibatalkan");
                        }

                        manifestSelected.ActiveStatus = ActivedStatus.Cancel;
                        trans.Commit();
                    }
                }
                catch (Exception ex)
                {
                    throw new SystemException(ex.Message);
                }
            }
        }
Example #2
0
        public void SetCancelSMU(SMU selectedItem, string alasan)
        {
            using (var db = new OcphDbContext())
            {
                var trans = db.BeginTransaction();
                try
                {
                    if (selectedItem.ActiveStatus != ActivedStatus.Cancel)
                    {
                        var result = (from a in db.ManifestDetail.Where(O => O.SMUId == selectedItem.Id)
                                      join b in db.Manifest.Select() on a.manifestoutgoingId equals b.Id
                                      select b).FirstOrDefault();


                        if (result != null && result.IsTakeOff)
                        {
                            throw new SystemException(string.Format("T{0:D9} Tidak Dapat Dibatalkan \r\n Telah Berangkat Dengan Manifest Nomor MT{1:D9}", selectedItem.Id, result.Id));
                        }

                        if (result != null && !result.IsTakeOff)
                        {
                            throw new SystemException(string.Format("Batalkan T{0:D9} Dari Manifest Nomor MT{1:D8}", selectedItem.Id, result.Id));
                        }


                        ActivedStatus active  = ActivedStatus.Cancel;
                        var           updated = db.SMU.Update(O => new { O.ActiveStatus }, new smu {
                            Id = selectedItem.Id, ActiveStatus = active
                        }, O => O.Id == selectedItem.Id);
                        if (updated)
                        {
                            selectedItem.ActiveStatus = ActivedStatus.Cancel;
                            var his = User.GenerateHistory(selectedItem.Id, BussinesType.SMU, ChangeType.Cancel, alasan);
                            if (!db.Histories.Insert(his))
                            {
                                throw new SystemException("Gagal Diubah");
                            }

                            trans.Commit();
                        }
                        else
                        {
                            throw new SystemException("Gagal Diubah");
                        }
                    }
                    else
                    {
                        throw new SystemException("SMU Telah Batal");
                    }
                }
                catch (Exception ex)
                {
                    trans.Rollback();
                    throw new SystemException(ex.Message);
                }
            }
        }
Example #3
0
        public Task <bool> SetCancelPTI(PTI selectedPTI, string alasan)
        {
            using (var db = new OcphDbContext())
            {
                var trans = db.BeginTransaction();
                try
                {
                    var sp  = string.Format("Ptistatus");
                    var cmd = db.CreateCommand();

                    cmd.CommandType = System.Data.CommandType.StoredProcedure;
                    cmd.CommandText = sp;
                    cmd.Parameters.Add(new MySql.Data.MySqlClient.MySqlParameter("Id", selectedPTI.Id));
                    var dr       = cmd.ExecuteReader();
                    var statuses = MappingProperties <PreFligtManifest> .MappingTable(dr);

                    dr.Close();
                    if (statuses != null && statuses.Count > 0)
                    {
                        if (statuses.Count > 1)
                        {
                            foreach (var item in statuses)
                            {
                                var man = db.Manifest.Where(O => O.Id == item.Id).FirstOrDefault();
                                if (man != null && !man.IsTakeOff)
                                {
                                    if (!db.ManifestDetail.Delete(O => O.SMUId == item.SMUId))
                                    {
                                        throw new SystemException(string.Format("PTI Tidak Dapat Dibatalkan, Keluarkan SMU T{0} dari Manifest MT{1}", item.SMUId, item.Id));
                                    }
                                }
                                else if (man != null && man.IsTakeOff)
                                {
                                    throw new SystemException(string.Format("PTI Tidak Dapat Dibatalkan, \r\n PTI telah diberangkatkan dengan Manifest MT{0:D8} \r\n dan SMU T{1:D9}", item.Id, item.SMUId));
                                }


                                if (item.SMUId > 0)
                                {
                                    ActivedStatus ac = ActivedStatus.Cancel;
                                    if (!db.SMU.Update(O => new { O.ActiveStatus }, new smu {
                                        ActiveStatus = ac
                                    }, O => O.Id == item.SMUId))
                                    {
                                        throw new SystemException("Tidak Dapat Membatalkan SMU");
                                    }
                                    var his = User.GenerateHistory(item.SMUId, BussinesType.SMU, ChangeType.Cancel,
                                                                   "System Membatalkan SMU NO " + item.SMUId + " Karena PTI  DI Batalkan : " + alasan);
                                    if (!db.Histories.Insert(his))
                                    {
                                        throw new SystemException("Gagal Diubah");
                                    }
                                }
                            }
                        }
                        else
                        {
                            var e = statuses.FirstOrDefault();
                            if (e != null && e.SMUId > 0 && e.Id > 0)
                            {
                                var man = db.Manifest.Where(O => O.Id == e.Id).FirstOrDefault();
                                if (man != null && man.IsTakeOff)
                                {
                                    throw new SystemException(string.Format("PTI Tidak Dapat Dibatalkan, \r\n PTI telah diberangkatkan dengan Manifest MT{0:D8} \r\n dan SMU T{1:D9}", e.Id, e.SMUId));
                                }
                                else if (man != null && !man.IsTakeOff)
                                {
                                    if (db.ManifestDetail.Delete(O => O.SMUId == e.SMUId))
                                    {
                                        var his = User.GenerateHistory(man.Id, BussinesType.Manifest, ChangeType.Update,
                                                                       "System Membatalkan SMU NO " + e.SMUId + " Dari Manifest No :" + man.Id + " Karena PTI  DI Batalkan : " + alasan);

                                        if (!db.Histories.Insert(his))
                                        {
                                            throw new SystemException("Gagal Diubah");
                                        }



                                        ActivedStatus ac = ActivedStatus.Cancel;
                                        if (!db.SMU.Update(O => new { O.ActiveStatus }, new smu {
                                            ActiveStatus = ac
                                        }, O => O.Id == e.SMUId))
                                        {
                                            throw new SystemException("Tidak Dapat Membatalkan SMU");
                                        }
                                        his = User.GenerateHistory(e.SMUId, BussinesType.SMU, ChangeType.Cancel,
                                                                   "System Membatalkan SMU NO " + e.SMUId + " Karena PTI  DI Batalkan : " + alasan);
                                        if (!db.Histories.Insert(his))
                                        {
                                            throw new SystemException("Gagal Diubah");
                                        }
                                    }
                                }
                            }
                        }
                    }

                    ActivedStatus active  = ActivedStatus.Cancel;
                    var           updated = db.PTI.Update(O => new { O.ActiveStatus }, new pti {
                        Id = selectedPTI.Id, ActiveStatus = active
                    }, O => O.Id == selectedPTI.Id);
                    if (updated)
                    {
                        selectedPTI.ActiveStatus = ActivedStatus.Cancel;
                        var his = User.GenerateHistory(selectedPTI.Id, BussinesType.PTI, ChangeType.Cancel, alasan);
                        if (!db.Histories.Insert(his))
                        {
                            throw new SystemException("Gagal Diubah");
                        }

                        trans.Commit();

                        return(Task.FromResult(true));
                    }
                    else
                    {
                        throw new SystemException("Gagal Diubah");
                    }
                }
                catch (Exception ex)
                {
                    trans.Rollback();
                    throw new SystemException(ex.Message);
                }
            }
        }