public bool RemoveItemCollies(collies collies) { using (var db = new OcphDbContext()) { var trans = db.BeginTransaction(); try { if (db.Collies.Delete(O => O.Id == collies.Id)) { var item = collies; var note = string.Format(@"Menghapus Item : \n\r {0}-{1}-{2}-{3}", item.Content, item.Pcs, item.Weight, item.Price); var his = User.GenerateHistory(collies.PtiId, BussinesType.PTI, ChangeType.Delete, note); if (db.Histories.Insert(his)) { trans.Commit(); return(true); } } throw new SystemException("Data Tidak Terhapus"); } catch (Exception ex) { trans.Rollback(); if (ex.Message == "Ada Relasi Dengan Table Lain") { throw new SystemException("Item Telah Terdaftar Di SMU, Hapus Terlebih Dahulu Di SMU"); } throw new SystemException(ex.Message); } } }
private void DataGrid_RowEditEnding(object sender, DataGridRowEditEndingEventArgs e) { detailsDg.IsReadOnly = true; collies selectedRow = e.Row.DataContext as collies; // detailsDg.CommitEdit(DataGridEditingUnit.Row, false); if (e.EditAction == DataGridEditAction.Commit) { // detailsDg.CommitEdit( DataGridEditingUnit.Row, false); if (selectedRow != null) { if (vm.UpdateItemCollies(selectedRow) == null) { detailsDg.CommitEdit(DataGridEditingUnit.Row, false); } } } if (e.Row.IsNewItem) { vm.AddNewCollies(selectedRow); } // vm.SelectedPTI.DetailView.Refresh(); // detailsDg.Items.Refresh(); }
public collies UpdateCollies(collies colly) { collies item = null; using (var db = new OcphDbContext()) { var trans = db.BeginTransaction(); try { item = db.Collies.Where(O => O.Id == colly.Id).FirstOrDefault(); if (item != null) { if (UpdateCollieValidate(item, colly) && db.Collies.Update(O => new { O.Content, O.Pcs, O.Kemasan, O.Price, O.Weight }, colly, O => O.Id == colly.Id)) { var note = string.Format(@"Mengubah Item : \n\r {0}-{1}-{2}-{3} \r\n Ke {4}-{5}-{6}-{7}", item.Content, item.Pcs, item.Weight, item.Price, colly.Content, colly.Pcs, colly.Weight, colly.Price); var his = User.GenerateHistory(colly.PtiId, BussinesType.PTI, ChangeType.Update, note); if (db.Histories.Insert(his)) { trans.Commit(); return(null); } } } throw new SystemException(); } catch (Exception) { trans.Rollback(); return(item); } } }
private bool UpdateCollieValidate(collies item, collies colly) { if (item.Content != colly.Content || item.Pcs != colly.Pcs || item.Weight != colly.Weight || item.Price != colly.Price) { return(true); } return(false); }
internal bool ItemIsSended(collies selectedRow) { if (ptiContext.ItemColliIsSended(selectedRow)) { Helpers.ShowErrorMessage("Item Telah Terkirim, Data Tidak Dapat Diubah"); return(true); } return(false); }
private void detailsDg_BeginningEdit(object sender, DataGridBeginningEditEventArgs e) { collies selectedRow = e.Row.DataContext as collies; if (vm.ItemIsSended(selectedRow)) { e.Cancel = true; e.EditingEventArgs.Handled = false; //.EditingElement.Focusable = false; (sender as DataGrid).CancelEdit(DataGridEditingUnit.Cell); } }
private void DataGrid_AddingNewItem(object sender, AddingNewItemEventArgs e) { var model = new collies { PtiId = viewmodel.Id, Kemasan = "Pcs", Pcs = 1 }; e.NewItem = model; if (viewmodel.Collies != null) { TotalRefresh(); } }
internal collies UpdateItemCollies(collies colly) { try { var res = ptiContext.UpdateCollies(colly); LoadData(StartDate, EndDate); return(res); } catch (Exception ex) { Helpers.ShowErrorMessage(ex.Message); return(null); } }
internal void RemoveItemCollies(collies collies) { if (collies != null) { try { if (ptiContext.RemoveItemCollies(collies)) { SelectedPTI.Details.Remove(collies); } } catch (Exception ex) { Helpers.ShowErrorMessage(ex.Message); } } }
public collies SplitItemPTI(PreFligtManifest selectedItemPTI, int jumlah) { using (var db = new OcphDbContext()) { var trans = db.BeginTransaction(); try { var sisa = selectedItemPTI.Pcs - jumlah; if (!db.Collies.Update(O => new { O.Pcs }, new collies { Pcs = jumlah }, O => O.Id == selectedItemPTI.ColliesId)) { throw new SystemException("Item PTI Tidak Berhasil Di Split"); } var newItem = new collies { Content = selectedItemPTI.Content, IsSended = false, Kemasan = selectedItemPTI.Kemasan, Pcs = sisa, Price = selectedItemPTI.Price, PtiId = selectedItemPTI.PTIId, Weight = selectedItemPTI.Weight }; newItem.Id = db.Collies.InsertAndGetLastID(newItem); if (newItem.Id <= 0) { throw new SystemException("Item PTI Tidak Berhasil Di Split"); } var note = string.Format("Split PTI No {0:D6} item {1:D7} ({2}Colly) Menjadi {3} Colly dan {4}Colly", selectedItemPTI.PTIId, selectedItemPTI.ColliesId, selectedItemPTI.Pcs, sisa, jumlah); var hist = User.GenerateHistory(selectedItemPTI.PTIId, BussinesType.PTI, ChangeType.Update, note); if (!db.Histories.Insert(hist)) { throw new SystemException("Item PTI Tidak Berhasil Di Split"); } trans.Commit(); return(newItem); } catch (Exception ex) { trans.Rollback(); throw new SystemException(ex.Message); } } }
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 bool ItemColliIsSended(collies colly) { using (var db = new OcphDbContext()) { var smuDetail = db.SMUDetails.Where(O => O.colliesId == colly.Id).FirstOrDefault(); if (smuDetail != null) { var manifestDetail = db.ManifestDetail.Where(O => O.SMUId == smuDetail.SMUId).FirstOrDefault(); if (manifestDetail != null) { var manifest = db.Manifest.Where(O => O.Id == manifestDetail.manifestoutgoingId).FirstOrDefault(); if (manifest != null && manifest.IsTakeOff) { return(true); } } } return(false); } }
internal void AddNewCollies(collies selectedRow) { try { if (selectedRow.Pcs > 0 && !string.IsNullOrEmpty(selectedRow.Content) && selectedRow.Weight > 0 && !string.IsNullOrEmpty(selectedRow.Kemasan) && selectedRow.Price > 0) { selectedRow.PtiId = SelectedPTI.Id; ptiContext.AddNewCollyItem(SelectedPTI, selectedRow); SelectedPTI.OnSMU = false; SelectedPTI.Details.Add(selectedRow); RefreshCommand.Execute(null); } else { throw new SystemException("Lengkapi Data dengan Benar"); } } catch (Exception ex) { Helpers.ShowErrorMessage(ex.Message); } }