示例#1
0
 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);
         }
     }
 }
示例#2
0
        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();
        }
示例#3
0
        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);
                }
            }
        }
示例#4
0
 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);
 }
示例#5
0
 internal bool ItemIsSended(collies selectedRow)
 {
     if (ptiContext.ItemColliIsSended(selectedRow))
     {
         Helpers.ShowErrorMessage("Item Telah Terkirim, Data Tidak Dapat Diubah");
         return(true);
     }
     return(false);
 }
示例#6
0
        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);
            }
        }
示例#7
0
        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();
            }
        }
示例#8
0
 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);
     }
 }
示例#9
0
 internal void RemoveItemCollies(collies collies)
 {
     if (collies != null)
     {
         try
         {
             if (ptiContext.RemoveItemCollies(collies))
             {
                 SelectedPTI.Details.Remove(collies);
             }
         }
         catch (Exception ex)
         {
             Helpers.ShowErrorMessage(ex.Message);
         }
     }
 }
示例#10
0
        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);
                }
            }
        }
示例#11
0
        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);
                }
            }
        }
示例#12
0
 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);
     }
 }
示例#13
0
 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);
     }
 }