public SetupDataItemPresenter(AppPresenter appPresenter, SetupDataItemView view) : base(view, "TabHeader") { this._appPresenter = appPresenter; this._isItemIdle = true; this._isStocksIdle = true; this._isUnitsIdle = true; this._currentItemCollection = appPresenter.CurrentItemCollection; this._currentItemCollectionTemp = new ObservableCollection <Item>(); this._currentItem = new Item(); this._currentItemTemp = null; this._currentCategoryCollection = new ObservableCollection <Category>(appPresenter.FindCategory(true)); this._currentCategory = null; this._currentStockCollection = new ObservableCollection <Stock>(); this._currentStock = new Stock(); this._currentStockTemp = null; this._currentUnitOfSalesCollection = new ObservableCollection <UnitOfSales>(); this._currentUnitOfSales = new UnitOfSales(); this._currentUnitOfSalesTemp = null; this._currentTotalStockPreview = 0; this._currentStockPreview = 0; }
public void Delete(UnitOfSales unitOfSales) { this._itemRepository.Delete(unitOfSales); this.Reload("Item"); this.StatusText = string.Format("Satuan jual [{0}] telah dihapus.", unitOfSales.Name); }
public bool Save(UnitOfSales unitOfSales, ObservableCollection <UnitOfSales> clusterMembers) { ValidationHelper validation = new ValidationHelper(); bool isSaved = false; int retry = 0; if (validation.HasNoEquals(unitOfSales, clusterMembers, this._uosStore)) { if (string.IsNullOrEmpty(unitOfSales.Id)) { while ((!isSaved) && (retry < 3)) { unitOfSales.Id = "000000"; try { this.InsertData(unitOfSales); isSaved = true; } catch (SqlException) { retry++; } } } else { while ((!isSaved) && (retry < 3)) { try { this.UpdateData(unitOfSales); isSaved = true; } catch (SqlException) { retry++; } } } if (!isSaved) { MessageBox.Show("Terjadi kesalahan program. Silahkan coba beberapa saat lagi.", "Proses Gagal", MessageBoxButton.OK); } } else { MessageBox.Show(string.Format("Satuan jual dengan nama [{0}] dan kode barang [{1}] telah terdaftar.\n\nPastikan Anda menggunakan nama dan kode barang yang belum terdaftar sebelum melanjutkan proses.", unitOfSales.Name, unitOfSales.Code), "Proses Gagal", MessageBoxButton.OK); } this.PopulateData(); return(isSaved); }
private ValidationResult Result(UnitOfSales property, string errorMessage) { ValidationResult result = new ValidationResult(true, null); if (this.FindInvalid(property).Count > 0) { result = new ValidationResult(false, errorMessage); } return(result); }
public bool Save(UnitOfSales unitOfSales, ObservableCollection <UnitOfSales> clusterMembers) { bool isSaved = false; if (this._uosRepository.Save(unitOfSales, clusterMembers)) { isSaved = true; } this.PopulateData(); return(isSaved); }
private void FillTemp(UnitOfSales unitOfSales) { this.CurrentUnitOfSalesTemp = new UnitOfSales() { Id = unitOfSales.Id, ClusterId = unitOfSales.ClusterId, Barcode = unitOfSales.Barcode, Code = unitOfSales.Code, Name = unitOfSales.Name, QtyPerUOS = unitOfSales.QtyPerUOS, DefaultPriceOfSales = unitOfSales.DefaultPriceOfSales, Status = unitOfSales.Status }; }
private void DeleteData(UnitOfSales unitOfSales) { using (SqlConnection connection = new SqlConnection(this._connString)) { string deleteSql = @"DELETE FROM dbo.posTbUnitOfSales WHERE IdUnitOfSales = @UOSIdUnitOfSales;"; SqlCommand command = new SqlCommand(deleteSql, connection); command.Parameters.Add("@UOSIdUnitOfSales", SqlDbType.Char).Value = unitOfSales.Id; connection.Open(); command.ExecuteNonQuery(); } }
public void DeleteUnitOfSales(UnitOfSales unitOfSales) { this.CurrentUnitOfSales = unitOfSales; this.Presenter.Delete(this.CurrentUnitOfSales); for (int i = 0; i < this.CurrentItemCollection.Count; i++) { if (this.CurrentItemCollection[i].Equals(this.CurrentItem)) { this.CurrentItem = this.CurrentItemCollection[i]; this.CurrentUnitOfSalesCollection = new ObservableCollection <UnitOfSales>(this.CurrentItemCollection[i].UnitsOfSales); break; } } }
public List <string> FindInvalid(UnitOfSales unitOfSales) { List <ValidationResult> results = new List <ValidationResult>() { this.Result(unitOfSales.Name, " * [Nama satuan jual] tidak dapat dikosongkan.", Enumerable.Range(1, 15)), this.Result(unitOfSales.QtyPerUOS, " * Nilai minimum [Jumlah per satuan jual] adalah 1.", Enumerable.Range(1, 9), (int)1), this.Result(unitOfSales.DefaultPriceOfSales, " * Nilai minimum [Harga jual baku] adalah 1.", Enumerable.Range(1, 14), (decimal)1) }; IEnumerable <string> found = from result in results where (result.IsValid == false) select result.ErrorContent as string; List <string> errorList = found.ToList(); return(errorList); }
public bool HasNoEquals(UnitOfSales unitOfSales, ObservableCollection <UnitOfSales> clusterMembers, List <UnitOfSales> store) { for (int i = 0; i < clusterMembers.Count; i++) { if (clusterMembers[i].Name == unitOfSales.Name) { if (!string.IsNullOrEmpty(unitOfSales.Id)) { if (clusterMembers[i].Id != unitOfSales.Id) { return(false); } } else { return(false); } } } if (!string.IsNullOrEmpty(unitOfSales.Code)) { for (int i = 0; i < store.Count; i++) { if (store[i].Code == unitOfSales.Code) { if (!string.IsNullOrEmpty(unitOfSales.Id)) { if (store[i].Id != unitOfSales.Id) { return(false); } } else { return(false); } } } } return(true); }
public bool Save(UnitOfSales unitOfSales, ObservableCollection <UnitOfSales> clusterMembers) { bool isSaved = false; if (this._itemRepository.Save(unitOfSales, clusterMembers)) { this.StatusText = string.Format("Satuan jual [{0}] telah disimpan.", unitOfSales.Name); isSaved = true; } else { this.StatusText = "Terjadi kesalahan program. Silahkan coba beberapa saat lagi."; } this.Reload("Item"); return(isSaved); }
private void UpdateData(UnitOfSales unitOfSales) { using (SqlConnection connection = new SqlConnection(this._connString)) { string updateSql = @"UPDATE dbo.posTbUnitOfSales SET Barcode = @UOSBarcode, Code = @UOSCode, Name = @UOSName, QtyPerUOS = @UOSQtyPerUOS, DefaultPriceOfSales = @UOSDefaultPriceOfSales, Status = @UOSStatus WHERE IdUnitOfSales = @UOSIdUnitOfSales;"; SqlCommand command = new SqlCommand(updateSql, connection); command.Parameters.Add("@UOSIdUnitOfSales", SqlDbType.Char).Value = unitOfSales.Id; command.Parameters.Add("@UOSBarcode", SqlDbType.VarChar).Value = unitOfSales.Barcode; command.Parameters.Add("@UOSCode", SqlDbType.VarChar).Value = unitOfSales.Code; command.Parameters.Add("@UOSName", SqlDbType.VarChar).Value = unitOfSales.Name; command.Parameters.Add("@UOSQtyPerUOS", SqlDbType.Int).Value = unitOfSales.QtyPerUOS; command.Parameters.Add("@UOSDefaultPriceOfSales", SqlDbType.Decimal).Value = unitOfSales.DefaultPriceOfSales; command.Parameters.Add("@UOSStatus", SqlDbType.Bit).Value = unitOfSales.Status; connection.Open(); command.ExecuteNonQuery(); } }
private void InsertData(UnitOfSales unitOfSales) { using (SqlConnection connection = new SqlConnection(this._connString)) { string insertIntoSql = @"INSERT INTO dbo.posTbUnitOfSales (IdUnitOfSales, IdItem, Barcode, Code, Name, QtyPerUOS, DefaultPriceOfSales, Status) VALUES (@UOSIdUnitOfSales, @UOSClusterId, @UOSBarcode, @UOSCode, @UOSName, @UOSQtyPerUOS, @UOSDefaultPriceOfSales, @UOSStatus);"; SqlCommand command = new SqlCommand(insertIntoSql, connection); command.Parameters.Add("@UOSIdUnitOfSales", SqlDbType.Char).Value = unitOfSales.Id; command.Parameters.Add("@UOSClusterId", SqlDbType.Char).Value = unitOfSales.ClusterId; command.Parameters.Add("@UOSBarcode", SqlDbType.VarChar).Value = unitOfSales.Barcode; command.Parameters.Add("@UOSCode", SqlDbType.VarChar).Value = unitOfSales.Code; command.Parameters.Add("@UOSName", SqlDbType.VarChar).Value = unitOfSales.Name; command.Parameters.Add("@UOSQtyPerUOS", SqlDbType.Int).Value = unitOfSales.QtyPerUOS; command.Parameters.Add("@UOSDefaultPriceOfSales", SqlDbType.Decimal).Value = unitOfSales.DefaultPriceOfSales; command.Parameters.Add("@UOSStatus", SqlDbType.Bit).Value = unitOfSales.Status; connection.Open(); command.ExecuteNonQuery(); } }
public void Delete(UnitOfSales unitOfSales) { this._uosRepository.Delete(unitOfSales); this.PopulateData(); }
public void Delete(UnitOfSales unitOfSales) { this.DeleteData(unitOfSales); this.PopulateData(); }
public void UnitOfSalesDetail(UnitOfSales unitOfSales) { this.CurrentUnitOfSales = unitOfSales; this.FillTemp(unitOfSales); }