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;
        }
Exemple #2
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);
        }
Exemple #4
0
        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);
        }
Exemple #5
0
        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;
                }
            }
        }
Exemple #9
0
        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);
        }
Exemple #10
0
        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);
        }
Exemple #11
0
        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();
            }
        }
Exemple #14
0
        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);
 }