async void LvItems_ItemTapped(object sender, ItemTappedEventArgs e)
        {
            ArticleGroup g = e.Item as ArticleGroup;

            article.GroupID = g.ID;
            await App.Current.MainPage.Navigation.PushAsync(new ArticlePage (article));
        }
        public ArticleAccountingPriceTest()
        {
            articleGroup = new ArticleGroup("Бытовая техника", "Бытовая техника");
            articleGroup.SalaryPercent = 15;
            articleGroup.Id            = 8;

            measureUnit    = new MeasureUnit("шт.", "Штука", "123", 0);
            measureUnit.Id = 17;

            article1    = new Article("Пылесос", articleGroup, measureUnit, true);
            article1.Id = 9;
            article2    = new Article("Фен", articleGroup, measureUnit, true);
            article2.Id = 29;
            article3    = new Article("Утюг", articleGroup, measureUnit, true);
            article3.Id = 421;

            articleAccountingPrice1 = new ArticleAccountingPrice(article1, 1M);
            articleAccountingPrice2 = new ArticleAccountingPrice(article2, 1001M);
            articleAccountingPrice3 = new ArticleAccountingPrice(article3, 1192.45M);

            articleAccountingPriceList1 = new List <ArticleAccountingPrice>();
            articleAccountingPriceList1.Add(articleAccountingPrice1);
            articleAccountingPriceList1.Add(articleAccountingPrice2);
            articleAccountingPriceList1.Add(articleAccountingPrice3);
        }
Beispiel #3
0
    public void OrderPurchaseItemsByStore()
    {
        var dairy      = new ArticleGroup("Dairy");
        var vegetables = new ArticleGroup("Vegetables");
        var tomato     = new Article {
            Name = "Tomato", ArticleGroup = vegetables, IsInventory = false
        };
        var milk = new Article {
            Name = "Milk", ArticleGroup = dairy, IsInventory = false
        };
        var bag            = new Unit("Bag");
        var purchaseItem1  = new PurchaseItem(tomato, 1, bag);
        var purchaseItem2  = new PurchaseItem(milk, 3, bag);
        var shoppingOrder1 = new ShoppingOrder(vegetables, 50);
        var shoppingOrder2 = new ShoppingOrder(dairy, 30);
        var compartments   = new[] { shoppingOrder1, shoppingOrder2 };
        var store          = new Store("London", compartments);
        var purchaseItems  = new[] { purchaseItem1, purchaseItem2 };
        var testee         = new OrderPurchaseItemsByStoreAction();

        var results = testee.OrderPurchaseItemsByStore(store, purchaseItems).ToList();

        results.Should().HaveCount(2);
        results.Should().BeEquivalentTo(new [] { purchaseItem2, purchaseItem1 });
    }
Beispiel #4
0
 /// <summary>
 /// Проверка названия группы товара на уникальность
 /// </summary>
 /// <param name="model"></param>
 private void CheckArticleGroupNameUniqueness(ArticleGroup articleGroup)
 {
     if (!IsNameUnique(articleGroup))
     {
         throw new Exception("Группа товаров с таким названием в этой же родительской группе уже существует.");
     }
 }
Beispiel #5
0
 public ActionResult Index(ArticleGroupModelView model)
 {
     try
     {
         List <ArticleGroup> list = db.ArticleGroups.ToList();
         if (model.Id > 0)
         {
             //update
             ArticleGroup conf = db.ArticleGroups.SingleOrDefault(x => x.ArticleGroupId == model.Id);
             conf.ArticleGroupId = model.Id;
             conf.Name           = model.Name;
             conf.Description    = model.Description;
             db.SaveChanges();
         }
         else
         {
             //Insert
             ArticleGroup manu = new ArticleGroup
             {
                 Name        = model.Name,
                 Description = model.Description
             };
             db.ArticleGroups.Add(manu);
             db.SaveChanges();
         }
         return(View(model));
     }
     catch (Exception ex)
     {
         throw ex;
     }
 }
Beispiel #6
0
    public void GenerateComponents()
    {
        var vegetables = new ArticleGroup("Vegetables");
        var tomato     = new Article {
            Name = "Tomato", ArticleGroup = vegetables, IsInventory = false
        };
        var salad = new Article {
            Name = "Salad", ArticleGroup = vegetables, IsInventory = false
        };
        var bag         = new Unit("Bag");
        var piece       = new Unit("Piece");
        var ingredient1 = new Ingredient(tomato, 2, bag);
        var ingredient2 = new Ingredient(salad, 3, bag);
        var ingredient3 = new Ingredient(tomato, 1, piece);
        var ingredient4 = new Ingredient(salad, 5, bag);
        var recipe1     = new Recipe("Blub", 3, new[] { ingredient1, ingredient2 });
        var recipe2     = new Recipe("Blub", 3, new[] { ingredient3, ingredient4 });
        var testee      = new GeneratePurchaseItemsForRecipesAction();

        var results = testee.GeneratePurchaseItems(new[] { recipe1, recipe2 }).ToList();

        results.Should().HaveCount(3);
        results.Should().Contain(x => x.Article == tomato && x.Quantity == 2 && x.Unit == bag);
        results.Should().Contain(x => x.Article == tomato && x.Quantity == 1 && x.Unit == piece);
        results.Should().Contain(x => x.Article == salad && x.Quantity == 8 && x.Unit == bag);
    }
        public void Test_CreateUpdateDeleteThread()
        {
            ArticleGroup articleGroup = Test_ArticleGroups.Create(this.DataStore, Workmate.Components.InstanceContainer.ApplicationSettings, this.Application, this.Random);

            ArticleGroupThreadManager manager = new ArticleGroupThreadManager(this.DataStore);
            ArticleGroupThread        record  = Create(this.DataStore, Workmate.Components.InstanceContainer.ApplicationSettings, this.Application, articleGroup, this.Random);

            ArticleGroupThread recordToCompare;

            for (int i = 0; i < this.DefaultUpdateTestIterations; i++)
            {
                PopulateWithRandomValues(record, this.DummyDataManager, this.Random);
                recordToCompare = record;

                manager.Update(record);
                record = manager.GetArticleGroupThread(record.ArticleGroupThreadId);

                string errors = string.Empty;
                // TODO (Roman): relax datetime comparisons
                Assert.IsTrue(DebugUtility.ArePropertyValuesEqual(record, recordToCompare, out errors), errors);
                Trace.WriteLine("Update test successfull.");
            }

            Delete(this.DataStore, record);
            Test_ArticleGroups.Delete(this.DataStore, articleGroup);
        }
Beispiel #8
0
 internal static void PopulateWithRandomValues(ArticleGroup record, DummyDataManager dtm, Random random)
 {
     record.Name        = "TestArticleGroup " + random.Next(1000000, 10000000);
     record.Description = "Description " + random.Next(1000000, 10000000);
     record.IsActive    = DebugUtility.FlipCoin(random);
     record.IsModerated = DebugUtility.FlipCoin(random);
 }
Beispiel #9
0
 public GroupViewItem(ArticleGroup group, IEnumerable <Article> articles)
 {
     _group        = group;
     Articles      = articles == null ? new List <Article>() : articles.ToList();
     IsExpanded    = false;
     ArticlesCount = Articles.Count;
     Name          = _group.GroupName;
 }
Beispiel #10
0
    public void CreateArticleGroup()
    {
        var name = "Gemüse";

        var testee = new ArticleGroup(name);

        testee.Name.Should().Be(name);
    }
Beispiel #11
0
        public List <Article> GetArticlesInGroup(ArticleGroup @group)
        {
            _repository.MaybeAs <IManagmentEntityWithUser>().Do((c) => c.SetUser(_currentUser));
            var listOfArtcile = @group.Groups.Select(name => _service.GetArticlesByParams(c => c.ArticleName == name, c => c.ArticleId, 0, 1).FirstOrDefault()).ToList();
            var res           = _service.GetArticlesByParams(c => group.Groups.Contains(c.ArticleName), c => c.ArticleId);

            group.Articles = listOfArtcile;
            return(listOfArtcile);
        }
Beispiel #12
0
        private void CheckPossibilityToDelete(ArticleGroup articleGroupToDelete, User user)
        {
            user.CheckPermission(Permission.ArticleGroup_Delete);

            if (articleGroupRepository.Query <Article>().Where(x => x.ArticleGroup.Id == articleGroupToDelete.Id).ToList <Article>().Any())
            {
                throw new Exception("Невозможно удалить группу, в которой имеются товары.");
            }
        }
        public void Init()
        {
            storage = new Storage("Тестовое место хранения", StorageType.DistributionCenter)
            {
                Id = 1
            };
            writeoffReason = new WriteoffReason("Тестовая причина списания")
            {
                Id = 2
            };

            var juridicalLegalForm = new LegalForm("ООО", EconomicAgentType.JuridicalPerson)
            {
                Id = 3
            };
            var juridicalPerson = new JuridicalPerson(juridicalLegalForm)
            {
                Id = 4
            };
            var juridicalPerson2 = new JuridicalPerson(juridicalLegalForm)
            {
                Id = 15
            };

            accountOrganization = new AccountOrganization("Тестовое юридическое лицо", "Тестовое юридическое лицо", juridicalPerson)
            {
                Id = 5
            };

            var provider = new Provider("Тестовый поставщик", new ProviderType("Тестовый тип поставщика"), ProviderReliability.Medium, 5)
            {
                Id = 6
            };
            var providerOrganization = new ProviderOrganization("Организация поставщика", "Организация поставщика", juridicalPerson2);
            var articleGroup         = new ArticleGroup("Тестовая группа", "Тестовая группа");
            var measureUnit          = new MeasureUnit("шт.", "Штука", "123", 0)
            {
                Id = 1
            };
            var customDeclarationNumber = new String('0', 25);

            article          = new Article("Тестовый товар А", articleGroup, measureUnit, true);
            providerContract = new ProviderContract(accountOrganization, providerOrganization, "Договор", "4645", DateTime.Now, DateTime.Now);
            provider.AddProviderContract(providerContract);

            user              = new User(new Employee("Иван", "Иванов", "Иванович", new EmployeePost("Менеджер"), null), "Иванов Иван", "ivanov", "pa$$w0rd", new Team("Тестовая команда", null), null);
            receiptWaybill    = new ReceiptWaybill("123АБВ", DateTime.Today.AddDays(1), storage, accountOrganization, provider, 1234.5M, 0M, new ValueAddedTax("18%", 18), providerContract, customDeclarationNumber, user, user, DateTime.Now);
            receiptWaybillRow = new ReceiptWaybillRow(article, 100, 1234.5M, receiptWaybill.PendingValueAddedTax);
            receiptWaybill.AddRow(receiptWaybillRow);

            writeoffWaybill = new WriteoffWaybill("123", DateTime.Today, storage, accountOrganization, writeoffReason, user, user, DateTime.Now);

            priceLists = new List <ArticleAccountingPrice>()
            {
                new ArticleAccountingPrice(article, 10M)
            };
        }
Beispiel #14
0
        public JsonResult DeleteArticleGroup(int Id)
        {
            bool         result       = false;
            ArticleGroup ArticleGroup = db.ArticleGroups.Find(Id);

            db.ArticleGroups.Remove(ArticleGroup);
            db.SaveChanges();
            return(Json(result, JsonRequestBehavior.AllowGet));
        }
Beispiel #15
0
    public void CreateShoppingOrder()
    {
        var order           = 3;
        var ingredientGroup = new ArticleGroup("Vegetables");

        var testee = new ShoppingOrder(ingredientGroup, order);

        testee.ArticleGroup.Should().Be(ingredientGroup);
        testee.Order.Should().Be(order);
    }
Beispiel #16
0
        public void Init()
        {
            numberA = "98";

            var legalForm = new LegalForm("ООО", EconomicAgentType.JuridicalPerson);

            juridicalPersonA = new JuridicalPerson(legalForm);
            juridicalPersonB = new JuridicalPerson(legalForm);
            juridicalPersonC = new JuridicalPerson(legalForm);
            juridicalPersonD = new JuridicalPerson(legalForm);

            senderOrganizationA   = new AccountOrganization("Тестовое юридическое лицо A", "Тестовое юридическое лицо A", juridicalPersonA);
            senderOrganizationB   = new AccountOrganization("Тестовое юридическое лицо B", "Тестовое юридическое лицо B", juridicalPersonB);
            receiverOrganizationC = new AccountOrganization("Тестовое юридическое лицо C", "Тестовое юридическое лицо C", juridicalPersonC);
            receiverOrganizationD = new AccountOrganization("Тестовое юридическое лицо D", "Тестовое юридическое лицо D", juridicalPersonD);

            storageA = new Storage("Тестовое хранилище A", StorageType.DistributionCenter)
            {
                Id = 1
            };
            storageB = new Storage("Тестовое хранилище B", StorageType.TradePoint)
            {
                Id = 2
            };

            articleGroup = new ArticleGroup("Тестовая группа", "Тестовая группа");
            measureUnit  = new MeasureUnit("шт.", "Штука", "123", 0)
            {
                Id = 1
            };
            articleA      = new Article("Тестовый товар A", articleGroup, measureUnit, true);
            articleB      = new Article("Тестовый товар B", articleGroup, measureUnit, true);
            articleC      = new Article("Тестовый товар C", articleGroup, measureUnit, true);
            valueAddedTax = new ValueAddedTax("18%", 18);

            receiptWaybillRowA1 = new ReceiptWaybillRow(articleA, 300, 3000, new ValueAddedTax("18%", 18));
            receiptWaybillRowA2 = new ReceiptWaybillRow(articleA, 400, 4000, new ValueAddedTax("18%", 18));
            receiptWaybillRowB  = new ReceiptWaybillRow(articleB, 20, 250, new ValueAddedTax("18%", 18));
            receiptWaybillRowC  = new ReceiptWaybillRow(articleC, 20, 250, new ValueAddedTax("18%", 18));

            rowA1_1 = new MovementWaybillRow(receiptWaybillRowA1, 60, valueAddedTax);
            rowA1_2 = new MovementWaybillRow(receiptWaybillRowA1, 22, valueAddedTax);
            rowA2_1 = new MovementWaybillRow(receiptWaybillRowA2, 40, valueAddedTax);
            rowA2_2 = new MovementWaybillRow(receiptWaybillRowA2, 55, valueAddedTax);
            rowB    = new MovementWaybillRow(receiptWaybillRowB, 15, valueAddedTax);
            rowC    = new MovementWaybillRow(receiptWaybillRowC, 18, valueAddedTax);

            priceLists = new List <ArticleAccountingPrice>()
            {
                new ArticleAccountingPrice(articleA, 100), new ArticleAccountingPrice(articleB, 200),
                new ArticleAccountingPrice(articleC, 300)
            };

            user = new User(new Employee("Иван", "Иванов", "Иванович", new EmployeePost("Менеджер"), null), "Иванов Иван", "ivanov", "pa$$w0rd", new Team("Тестовая команда", null), null);
        }
Beispiel #17
0
        internal static void Delete(IDataStore dataStore, ArticleGroup articleGroup)
        {
            ArticleGroupManager manager = new ArticleGroupManager(dataStore);

            BusinessObjectActionReport <DataRepositoryActionStatus> report = manager.Delete(articleGroup);

            Assert.AreEqual(DataRepositoryActionStatus.Success, report.Status);
            Assert.IsNull(manager.GetArticleGroup(articleGroup.ArticleGroupId));

            Trace.WriteLine("Successfully deleted articleGroup " + articleGroup.Name);
        }
Beispiel #18
0
        public async Task <ArticleGroup> GetArticleGroup(int articleGroupId, bool expanded)
        {
            IQueryable <ArticleGroup> qry = _context.ArticleGroups.Where(grp => grp.Id == articleGroupId).AsQueryable();

            if (expanded)
            {
                qry = qry.Include(grp => grp.ArticleUserSettings);
            }
            ArticleGroup group = await qry.FirstOrDefaultAsync(grp => grp.Id == articleGroupId);

            return(group);
        }
Beispiel #19
0
        public async Task <ArticleGroupResponse> AddArticleGroupAsync(AddArticleGroupRequest request)
        {
            ArticleGroup articleGroup = _articleGroupMapper.Map(request);
            ArticleGroup result       = _articleGroupRespository.Add(articleGroup);

            int modifiedRecords = await _articleGroupRespository.UnitOfWork.SaveChangesAsync();

            _logger.LogInformation(Events.Add, Messages.NumberOfRecordAffected_modifiedRecords, modifiedRecords);
            _logger.LogInformation(Events.Add, Messages.ChangesApplied_id, result?.Id);

            return(_articleGroupMapper.Map(result));
        }
Beispiel #20
0
        public ArticleGroup InitGroup(ArticleGroup group, IEnumerable <Article> articles)
        {
            bool flag = false;

            if (articles == null || !articles.Any())
            {
                articles = IocHelper.ArticleService.GetArticlesByParams(c => group.Groups.Contains(c.ArticleName), c => c.ArticleId);
                flag     = true;
            }
            @group.Articles = flag ? articles.ToList() : articles.Where(c => @group.Groups.Contains(c.ArticleName)).ToList();

            return(@group);
        }
Beispiel #21
0
        public void ArticleGroup_Null_NameFor1C_In_Constractor_Must_Be_Fail()
        {
            try
            {
                var articleGroup = new ArticleGroup("Тестовая группа", null);

                Assert.Fail("Исключение не сгенерировано.");
            }
            catch (Exception ex)
            {
                Assert.AreEqual("Укажите бухгалтерское название группы товаров.", ex.Message);
            }
        }
Beispiel #22
0
        public async Task <ArticleGroupResponse> GetArticleGroupAsync(Guid id)
        {
            if (id == null)
            {
                throw new ArgumentNullException();
            }

            ArticleGroup entity = await _articleGroupRespository.GetAsync(id);

            _logger.LogInformation(Events.GetById, Messages.TargetEntityChanged_id, entity?.Id);

            return(_articleGroupMapper.Map(entity));
        }
Beispiel #23
0
        public void ArticleGroup_Initial_Parameters_By_Constractor_Must_Be_Set()
        {
            var articleGroup = new ArticleGroup("Тестовая группа", "Тестовая бухгалтерская группа");

            Assert.IsNotNull(articleGroup.Childs);
            Assert.AreEqual(0, articleGroup.Childs.Count());
            Assert.AreEqual(String.Empty, articleGroup.Comment);
            Assert.AreEqual(0.0M, articleGroup.MarkupPercent);
            Assert.AreEqual(0.0M, articleGroup.SalaryPercent);
            Assert.AreEqual("Тестовая группа", articleGroup.Name);
            Assert.AreEqual("Тестовая бухгалтерская группа", articleGroup.NameFor1C);
            Assert.AreEqual(0, articleGroup.Id);
            Assert.IsNull(articleGroup.Parent);
        }
Beispiel #24
0
    public void CreateArticle()
    {
        var name            = "Salat";
        var ingredientGroup = new ArticleGroup("Gemüse");
        var isInventory     = true;

        var testee = new Article {
            Name = name, ArticleGroup = ingredientGroup, IsInventory = isInventory
        };

        testee.Name.Should().Be(name);
        testee.ArticleGroup.Should().Be(ingredientGroup);
        testee.IsInventory.Should().Be(isInventory);
    }
Beispiel #25
0
        public ArticleGroup Map(AddArticleGroupRequest request)
        {
            if (request == null)
            {
                return(null);
            }

            ArticleGroup articleGroup = new ArticleGroup
            {
                Name = request.Name,
            };

            return(articleGroup);
        }
Beispiel #26
0
        public ActionResult AddEditArticleGroup(int Id)
        {
            List <ArticleGroup>   list  = db.ArticleGroups.ToList();
            ArticleGroupModelView model = new ArticleGroupModelView();

            if (Id > 0)
            {
                ArticleGroup manu = db.ArticleGroups.SingleOrDefault(x => x.ArticleGroupId == Id);
                model.Id          = manu.ArticleGroupId;
                model.Name        = manu.Name;
                model.Description = manu.Description;
            }
            return(PartialView("Partial2", model));
        }
Beispiel #27
0
        public void ArticleGroup_Initial_Parameters_Must_Be_Set()
        {
            var articleGroup = new ArticleGroup("Тестовая группа", "Тестовая группа")
            {
                Id = 1, Comment = "Описание", MarkupPercent = 12.2M, SalaryPercent = 15.5M
            };

            Assert.IsNotNull(articleGroup.Childs);
            Assert.AreEqual("Описание", articleGroup.Comment);
            Assert.AreEqual(12.2M, articleGroup.MarkupPercent);
            Assert.AreEqual(15.5M, articleGroup.SalaryPercent);
            Assert.AreEqual("Тестовая группа", articleGroup.Name);
            Assert.AreEqual(1, articleGroup.Id);
            Assert.IsNull(articleGroup.Parent);
        }
Beispiel #28
0
        public ArticleGroup Map(EditArticleGroupRequest request)
        {
            if (request == null)
            {
                return(null);
            }

            ArticleGroup articleGroup = new ArticleGroup
            {
                Id   = request.Id,
                Name = request.Name,
            };

            return(articleGroup);
        }
Beispiel #29
0
        public ArticleGroupResponse Map(ArticleGroup articleGroup)
        {
            if (articleGroup == null)
            {
                return(null);
            }
            ;

            ArticleGroupResponse response = new ArticleGroupResponse
            {
                Id   = articleGroup.Id,
                Name = articleGroup.Name
            };

            return(response);
        }
Beispiel #30
0
        public void ArticleGroup_Delete_ChildGroup_Must_Be_Ok()
        {
            var parentGroup = new ArticleGroup("Родительская группа", "Родительская группа")
            {
                Id = 1
            };
            var articleGroup = new ArticleGroup("Тестовая группа", "Тестовая группа")
            {
                Id = 2
            };

            parentGroup.AddChildGroup(articleGroup);
            parentGroup.RemoveChildGroup(articleGroup);

            Assert.IsNull(articleGroup.Parent);
            Assert.AreEqual(0, parentGroup.Childs.Count());
        }
        public bool ArticleGroupCreateDeleteUpdate(ArticleGroup articleGroup, UserAction ua)
        {
            bool result = false;
            string commandText = string.Empty;
            switch (ua)
            {
                case UserAction.Create:
                    commandText = "INSERT INTO ArticleGroup (ArticleGroupID, ArticleGroupName, ArticleGroupParentID, ArticleIDs) VALUES (" + articleGroup.ID + ", '" + articleGroup.Name + "', " + articleGroup.ArticleGroupParentID + ", '" + articleGroup.ArticleIDs + "')";
                        break;
                case UserAction.Delete:
                    commandText = "DELETE FROM ArticleGroup WHERE (ArticleGroupID = "+articleGroup.ID +")";
                    break;
                case UserAction.Update:
                    commandText = "UPDATE ArticleGroup SET ArticleGroupName = '" + articleGroup.Name + "', ArticleGroupParentID = " + articleGroup.ArticleGroupParentID + ", ArticleIDs = '" + articleGroup.ArticleIDs + "'";
                    break;
            }
            using (SqlConnection conn = new SqlConnection(DataHelper2.SqlConnectionString))
            {
                using (SqlCommand comm = new SqlCommand())
                {
                    comm.CommandText = commandText;
                    comm.Connection = conn;
                    conn.Open();
                    try
                    {
                        comm.ExecuteNonQuery();
                        result = true;
                    }
                    catch (Exception ex)
                    {
                        throw new Exception(ex.Message);
                    }

                }
            }

            return result;
        }
        public List<ArticleGroup> GetArticleGroupsByParentID(int parentID, int count)
        {
            List<ArticleGroup> list = new List<ArticleGroup>();
            string commText = string.Empty;
            switch (count)
            {
                case 0:
                    commText = "SELECT ArticleGroup.* FROM ArticleGroup WHERE (ArticleGroupParentID = "+parentID+") ";

                    break;
                default:
                    commText = "select top " + count.ToString() + " * from FROM ArticleGroup WHERE (ArticleGroupParentID = " + parentID + ") ";
                    break;
            }

            using (SqlConnection conn = new SqlConnection(DataHelper2.SqlConnectionString))
            {
                {
                    using (SqlCommand comm = new SqlCommand())
                    {
                        comm.Connection = conn;
                        comm.CommandText = commText;
                        conn.Open();

                        using (SqlDataReader reader = comm.ExecuteReader())
                        {
                            while (reader.Read())
                            {
                                ArticleGroup group = new ArticleGroup();

                                group.ID = int.Parse(reader["ArticleGroupID"].ToString());
                                group.ArticleIDs = reader["ArticleIDs"].ToString();
                                group.ArticleGroupParentID = int.Parse(reader["ArticleGroupParentID"].ToString());
                                group.Name = reader["ArticleGroupName"].ToString();

                                list.Add(group);
                            }
                        }
                    }
                }
            }
            return list;
        }
        public ArticleGroup GetArticleGroupByArticleGroupID(int articleGroupID)
        {
            ArticleGroup group = new ArticleGroup();

            string commText = "SELECT ArticleGroup.* FROM ArticleGroup WHERE (ArticleGroupID =  " + articleGroupID + ") ";

            using (SqlConnection conn = new SqlConnection(DataHelper2.SqlConnectionString))
            {
                {
                    using (SqlCommand comm = new SqlCommand())
                    {
                        comm.Connection = conn;
                        comm.CommandText = commText;
                        conn.Open();

                        using (SqlDataReader reader = comm.ExecuteReader())
                        {
                            while (reader.Read())
                            {

                                group.ID = int.Parse(reader["ArticleGroupID"].ToString());
                                group.ArticleIDs = reader["ArticleIDs"].ToString();
                                group.ArticleGroupParentID = int.Parse(reader["ArticleGroupParentID"].ToString());
                                group.Name = reader["ArticleGroupName"].ToString();

                            }
                        }
                    }
                }
            }

            return group;
        }