Exemple #1
0
        public void PrepareSpareIncome(int SpareIncomeId)
        {
            this.SpareIncomeID = SpareIncomeId;
            DataAccess da = new DataAccess();

            Income = da.SpareIncomeGet(SpareIncomeID);
        }
        public SpareIncomeSmart(int IncID)
        {
            InitializeComponent();
            DataAccess db = new DataAccess();

            Income             = db.SpareIncomeGet(IncID);
            dgSpares.IsEnabled = false;
        }
Exemple #3
0
        private spare_income getItemFromFields()
        {
            spare_income item = new spare_income();

            item.id  = _id;
            item.num = edtNumber.Text;
            int txtN = da.SpareIncomeGetMaxId();

            Int32.TryParse(edtNumber.Text, out txtN);
            item.IDN           = txtN;
            item.si_date       = edtDate.SelectedDate.HasValue ? edtDate.SelectedDate.Value : DateTime.Now;
            item.base_doc      = edtBasedOnDoc.Text;
            item.base_doc_date = edtBasedOnDate.SelectedDate.HasValue ? edtBasedOnDate.SelectedDate.Value : DateTime.Now;

            //item.cashless = edtCashless.IsChecked.HasValue ? (edtCashless.IsChecked.Value ? 1 : 0) : 0;
            return(item);
        }
Exemple #4
0
        private void LoadItem()
        {
            if (_id > 0)
            {
                //5. load item
                spare_income item = da.SpareIncomeGet(_id);
                if (item.account != null)
                {
                    edtAccount.SelectedItem = item.account.name;
                }
                if (item.warehouse != null)
                {
                    edtWarehouse.SelectedItem = item.warehouse.name;
                }
                edtCurrency.SelectedItem    = item.currency.code;
                edtBasedOnDate.SelectedDate = item.base_doc_date.HasValue ? item.base_doc_date.Value : DateTime.Now;
                edtBasedOnDoc.Text          = item.base_doc;
                edtDate.SelectedDate        = item.si_date;
                edtNumber.Text = item.IDN.ToString();

                //edtCashless.IsChecked = item.cashless == 1 ? true : false;
                // загрузить товары в накладной
                LoadOfferings();

                ////dgSpares.IsEnabled = false;
                ////btnSpareDelete.IsEnabled = false;
                ////btnSpareEdit.IsEnabled = false;
            }
            else
            {
                _isNew = true;
                ////dgSpares.IsEnabled = true;
                ////btnSpareDelete.IsEnabled = true;
                ////btnSpareEdit.IsEnabled = true;
                //edtCashless.IsChecked = da.getProfileCurrent().DefaultIsCashless == 1 ? true : false;
            }
        }
        public SpareIncomeSmart(int IncID, string filename)
        {
            //try
            {
                InitializeComponent();
                DataAccess db = new DataAccess();
                Income = db.SpareIncomeGet(IncID);

                // readinf csv
                string[] source = File.ReadAllLines(filename, System.Text.Encoding.Default);
                int      i      = 0;
                foreach (string s in source)
                {
                    if (i != 0)
                    {
                        string[] fields = s.Split(';');

                        // 0 код_брэнд
                        string[] f1         = fields[0].Split('_');
                        string   CodeShatem = f1[0];
                        string   BrandName  = f1[1];

                        // 1 количество
                        decimal Q = 0;
                        decimal.TryParse(fields[1], out Q);

                        // 2 код_брэнд_
                        string[] f2 = fields[2].Split('_');

                        // string CodeShatem = f1[0];
                        // string Brand = f1[1];
                        // string Code = f2[2];
                        // 3 Цена, доллар
                        decimal Pusd = 0;
                        string  p    = fields[3].Replace(',', '.');
                        decimal.TryParse(p, out Pusd);

                        // 4 Цена, евро
                        decimal Peuro = 0;
                        decimal.TryParse(fields[4], out Peuro);

                        // 5 группа
                        string ParentGroup = fields[5];

                        // 6 группа
                        string Group = fields[6];

                        // 7 группа
                        string name = fields[7];

                        // 8 единица измерения
                        string UnitName = fields[8];

                        // поиск запчасти по коду и брэнду
                        SpareView        FoundSpare       = null;
                        int              searchFieldIndex = 2; // код шате-м
                        List <SpareView> FoundList        = SpareContainer.Instance.GetSparesStrict(searchFieldIndex, CodeShatem);
                        if (FoundList.Count == 0)
                        {
                            // если запчасть не найдена, предложить создать новую
                            string mess = "Товар с кодом [" + CodeShatem + "] не найден в базе.\n";
                            mess += "Название:  " + name + "\n";
                            mess += "Подгруппа: " + Group + "\n";
                            mess += "Группа:    " + ParentGroup + "\n";
                            mess += "Брэнд:     " + BrandName + "\n";
                            mess += "Создать новый?";
                            MessageBoxResult answer = MessageBox.Show(mess, "Импорт новой детали", MessageBoxButton.YesNo);
                            if (answer == MessageBoxResult.Yes)
                            {
                                // если создать новую, создать новую деталь
                                FoundSpare = Marvin.Instance.SpareCreateSilent(name, CodeShatem, Group, ParentGroup, BrandName, UnitName, "Импортировано");
                            }
                        }
                        else
                        if (FoundList.Count == 1)
                        {
                            FoundSpare = FoundList[0];
                        }
                        else
                        {
                            FoundList = FoundList.Where(x => x.BrandName == BrandName).ToList();

                            // если есть детали с одинаковым кодом, выбрать по брэнду (группе)
                            if (FoundList.Count == 1)
                            {
                                FoundSpare = FoundList[0];
                            }
                        }
                        if (FoundSpare != null)
                        {
                            // добавить в список, подставиви количество и цену
                            OfferingAdd(FoundSpare.id, Q, Pusd, Group, ParentGroup);
                        }
                    }
                    i++;
                }
                LoadOfferings();
                Stage++;
                dgSpares.IsEnabled = true;
            }

            //catch(Exception e)
            //{
            //    MessageBox.Show("Ошибка импорта: " + e.Message + "\n" + e.InnerException);
            //}
        }