private void SaveAction(object obj) { try { if (Helpers.ShowMessage("Yakin Menyimpan Data ? ", "Pilih", MessageBoxButton.YesNo) == MessageBoxResult.Yes) { if (IsBusy) { return; } IsBusy = true; pti model = (pti)this; model.FromId = SettingConfiguration.GetIntValue("CityId"); if (IsListValid(model.Collies)) { context.SaveChange(model); Saved = true; PTI p = new PTI { ShiperID = this.ShiperID, RecieverId = this.RecieverId, CreatedDate = this.CreatedDate, Id = this.Id, PayType = this.PayType, Pcs = this.Collies.Sum(O => O.Pcs), Weight = this.Collies.Sum(O => O.Weight), RecieverName = this.Reciever.Name, ShiperName = this.Shiper.Name, Biaya = this.Collies.Sum(O => O.Biaya), User = Authorization.User.Name }; ParentSource.Add(p); Helpers.ShowMessage("PTI Berhasil Disimpan"); if (Helpers.ShowMessage("Input PTI Baru ? ", "Pilih", MessageBoxButton.YesNo) == MessageBoxResult.Yes) { SetNew(); } else { WindowClose(); } } else { Helpers.ShowErrorMessage("Item Data Tidak Lengkap, Periksa Kembali"); } } } catch (Exception ex) { MyMessage.Show(ex.Message, "Error", MessageBoxButton.OK); } finally { IsBusy = false; } }
public Task <List <collies> > GetDetailOfPTI(PTI selected) { using (var db = new OcphDbContext()) { var result = db.Collies.Where(O => O.PtiId == selected.Id).ToList(); return(Task.FromResult(result)); } }
private async void LoadData(PTI ptiSelected) { var context = new DataAccessLayer.Bussines.PtiBussines(); var res = await context.GetColliesOutOfSMU(ptiSelected.Id); Source.Clear(); foreach (var item in res) { Source.Add(item); } SourceView.Refresh(); }
public AddNewSMUViewModel(PTI ptiSelected) { MyTitle = "SMU BARU"; this.PTISelected = ptiSelected; SaveCommand = new CommandHandler { CanExecuteAction = SaveValidate, ExecuteAction = SaveAction }; CancelCommand = new CommandHandler { CanExecuteAction = x => true, ExecuteAction = x => WindowClose() }; Source = new ObservableCollection <collies>(); SourceView = (CollectionView)CollectionViewSource.GetDefaultView(Source); LoadData(ptiSelected); }
public async void ShowDetails(PTI selected) { var res = await ptiContext.GetDetailOfPTI(selected); selected.Details.Clear(); foreach (var item in res) { selected.Details.Add(item); } if (selected.DetailView == null) { selected.DetailView = (CollectionView)CollectionViewSource.GetDefaultView(selected.Details); } GridWidth = new GridLength(30, GridUnitType.Star); }
public void AddNewCollyItem(PTI selectedPTI, collies selectedRow) { using (var db = new OcphDbContext()) { var trans = db.BeginTransaction(); try { selectedRow.Id = db.Collies.InsertAndGetLastID(selectedRow); if (selectedRow.Id > 0) { var item = selectedRow; var note = string.Format(@"Menambah Item Baru: \n\r {0}-{1}-{2}-{3}", item.Content, item.Pcs, item.Weight, item.Price); if (!db.PTI.Update(O => new { O.OnSMU }, new pti { OnSMU = false }, O => O.Id == selectedPTI.Id)) { throw new SystemException("Data Tidak Tersimpan"); } var his = User.GenerateHistory(selectedRow.PtiId, BussinesType.PTI, ChangeType.Update, note); if (db.Histories.Insert(his)) { trans.Commit(); } else { throw new SystemException("Data Tidak Tersimpan"); } } else { throw new SystemException("Data Tidak Tersimpan"); } } catch (Exception ex) { trans.Rollback(); throw new SystemException(ex.Message); } } }
public Task <List <History> > GetPTIHistory(PTI selectedPTI) { List <History> list = null; try { using (var db = new OcphDbContext()) { var cmd = db.CreateCommand(); cmd.CommandText = "PTIHistories"; cmd.CommandType = System.Data.CommandType.StoredProcedure; cmd.Parameters.Add(new MySqlParameter("id", selectedPTI.Id)); var reader = cmd.ExecuteReader(); list = MappingProperties <History> .MappingTable(reader); return(Task.FromResult(list)); } } catch (Exception) { return(Task.FromResult(list)); } }
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); } } }
public Task <Tuple <SMU, SMU> > SplitSMU(SMU smuSelected, ObservableCollection <SMUDetail> originSource, ObservableCollection <SMUDetail> destinationSource) { using (var db = new OcphDbContext()) { var trans = db.BeginTransaction(); try { //remove selected Move foreach (var item in destinationSource.ToList()) { if (!db.SMUDetails.Delete(O => O.SMUId == item.Id && O.colliesId == item.ColliesId)) { throw new SystemException("Smu Gagal di Split"); } } var firstColly = originSource.FirstOrDefault(); var ptiModel = new PTI { Id = firstColly.PTIId, ShiperID = smuSelected.ShiperId, RecieverId = smuSelected.RecieverId, PayType = firstColly.PayType }; var source = new ObservableCollection <collies>(); foreach (var item in destinationSource) { source.Add(new collies { Id = item.ColliesId, Content = item.Content, IsSended = true, Pcs = item.Pcs, Price = item.Price, PtiId = item.PTIId, Weight = item.Weight }); } smuSelected.Pcs = originSource.Sum(O => O.Pcs); smuSelected.Weight = originSource.Sum(O => O.Weight); smuSelected.Biaya = originSource.Sum(O => O.Biaya); //SUMU var smudata = new smu { PTIId = smuSelected.PTIId, CreatedDate = DateTime.Now }; smudata.Id = db.SMU.InsertAndGetLastID(smudata); if (smudata.Id <= 0) { throw new SystemException("Data Tidak Tersimpan"); } foreach (var item in source.Where(O => O.IsSended)) { var data = new smudetails { colliesId = item.Id, SMUId = smudata.Id }; if (!db.SMUDetails.Insert(data)) { throw new SystemException("Data Tidak Tersimpan"); } } var memo = string.Format("Split Dari SMU T{0:D9}", smuSelected.Id); var history = User.GenerateHistory(smudata.Id, BussinesType.SMU, ChangeType.Create, memo); if (!db.Histories.Insert(history)) { throw new SystemException("Gagal Simpan Data"); } SMU sm = new SMU { CreatedDate = smuSelected.CreatedDate, Id = smudata.Id, IsSended = false, Pcs = source.Sum(O => O.Pcs), RecieverId = smuSelected.RecieverId, RecieverName = smuSelected.RecieverName, ShiperId = ptiModel.ShiperID, ShiperName = smuSelected.ShiperName, Weight = source.Sum(O => O.Weight), Biaya = source.Sum(O => O.Biaya) }; // trans.Commit(); return(Task.FromResult(new Tuple <SMU, SMU>(smuSelected, sm))); } catch (Exception ex) { trans.Rollback(); throw new SystemException(ex.Message); } } }
public Task <SMU> CreateNewSMU(PTI pTISelected, ObservableCollection <collies> source) { using (var db = new OcphDbContext()) { var date = DateTime.Now; var trans = db.BeginTransaction(); try { var smudata = new smu { PTIId = pTISelected.Id, CreatedDate = pTISelected.CreatedDate }; smudata.Id = db.SMU.InsertAndGetLastID(smudata); if (smudata.Id <= 0) { throw new SystemException("Data Tidak Tersimpan"); } foreach (var item in source.Where(O => O.IsSended)) { var data = new smudetails { colliesId = item.Id, SMUId = smudata.Id }; if (!db.SMUDetails.Insert(data)) { throw new SystemException("Data Tidak Tersimpan"); } } if (source.Where(O => !O.IsSended).Count() <= 0) { if (!db.PTI.Update(O => new { O.OnSMU }, new pti { Id = pTISelected.Id, OnSMU = true }, O => O.Id == pTISelected.Id)) { throw new SystemException("Data Tidak Tersimpan"); } else { pTISelected.OnSMU = true; } var h = User.GenerateHistory(pTISelected.Id, BussinesType.PTI, ChangeType.Update, string.Format("Dibuatkan SMU dengan Nomor T{0:D9}", smudata.Id)); if (!db.Histories.Insert(h)) { throw new SystemException("Gagal Simpan Data"); } } var history = User.GenerateHistory(smudata.Id, BussinesType.SMU, ChangeType.Create, ""); if (!db.Histories.Insert(history)) { throw new SystemException("Gagal Simpan Data"); } SMU sm = new SMU { CreatedDate = date, Id = smudata.Id, IsSended = false, Pcs = source.Sum(O => O.Pcs), RecieverId = pTISelected.RecieverId, RecieverName = pTISelected.RecieverName, ShiperId = pTISelected.ShiperID, ShiperName = pTISelected.ShiperName, Weight = source.Sum(O => O.Weight), Biaya = source.Sum(O => O.Biaya) }; trans.Commit(); return(Task.FromResult(sm)); } catch (Exception ex) { trans.Rollback(); throw new SystemException(ex.Message); } } }