public SpareIncomeSmart(int IncID)
 {
     InitializeComponent();
     DataAccess db = new DataAccess();
     Income = db.SpareIncomeGet(IncID);
     dgSpares.IsEnabled = 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);
            //}
        }
示例#3
0
 /// <summary>
 /// Deprecated Method for adding a new object to the spare_income EntitySet. Consider using the .Add method of the associated ObjectSet&lt;T&gt; property instead.
 /// </summary>
 public void AddTospare_income(spare_income spare_income)
 {
     base.AddObject("spare_income", spare_income);
 }
示例#4
0
 /// <summary>
 /// Create a new spare_income object.
 /// </summary>
 /// <param name="id">Initial value of the id property.</param>
 /// <param name="si_date">Initial value of the si_date property.</param>
 public static spare_income Createspare_income(global::System.Int32 id, global::System.DateTime si_date)
 {
     spare_income spare_income = new spare_income();
     spare_income.id = id;
     spare_income.si_date = si_date;
     return spare_income;
 }
示例#5
0
 public void SpareIncomeEdit(spare_income item, string AccountName, string WarehouseName, string CurrencyCode)
 {
     objDataContext = new DriveEntities();
     spare_income original = objDataContext.spare_income.FirstOrDefault(b => b.id == item.id);
     if (original != null)
     {
         if (AccountName.Length > 0)
             original.account = objDataContext.accounts.FirstOrDefault(i => i.name == AccountName);
         original.IDN = item.IDN;
         original.num = item.num;
         original.base_doc = item.base_doc;
         original.base_doc_date = item.base_doc_date;
         original.currency = objDataContext.currencies.FirstOrDefault(i => i.code == CurrencyCode);
         original.si_date = item.si_date;
         original.warehouse = objDataContext.warehouses.FirstOrDefault(i => i.name == WarehouseName);
         original.cashless = item.cashless;
         objDataContext.SaveChanges();
     }
 }
示例#6
0
 public int SpareIncomeCreate(spare_income _obj, string AccountName, string WarehouseName, string CurrencyCode)
 {
     objDataContext = new DriveEntities();
     _obj.is_remains_input = 0;
     if (AccountName.Length > 0)
         _obj.account = objDataContext.accounts.FirstOrDefault(i => i.name == AccountName);
     _obj.warehouse = objDataContext.warehouses.FirstOrDefault(i => i.name == WarehouseName);
     _obj.currency = objDataContext.currencies.FirstOrDefault(i => i.code == CurrencyCode);
     objDataContext.AddTospare_income(_obj);
     objDataContext.SaveChanges();
     return _obj.id;
 }
示例#7
0
 public int getRemainsInputID()
 {
     spare_income s = objDataContext.spare_income.FirstOrDefault(i => i.is_remains_input == 1);
     if (s != null)
         return s.id;
     else
     {
         s = new spare_income();
         s.si_date = DateTime.Now;
         s.is_remains_input = 1;
         objDataContext.AddTospare_income(s);
         objDataContext.SaveChanges();
         return s.id;
     }
 }
        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;
        }
 public void PrepareSpareIncome(int SpareIncomeId)
 {
     this.SpareIncomeID = SpareIncomeId;
     DataAccess da = new DataAccess();
     Income = da.SpareIncomeGet(SpareIncomeID);
 }