Exemple #1
0
        public void addItemCustomTypeToItem(Session session, Guid ObjectTypeId, Guid ItemId)
        {
            try
            {
                ObjectType objectType = (ObjectType)session.GetObjectByKey <ObjectType>(ObjectTypeId);

                if (objectType == null)
                {
                    throw new Exception(String.Format("Không tồn tại ObjectTypeId: {0} trong ObjectType table", ObjectTypeId));
                }

                Item item = (Item)session.GetObjectByKey <Item>(ItemId);

                if (item == null)
                {
                    throw new Exception(String.Format("Không tồn tại ItemId: {0} trong Item table", ItemId));
                }

                ItemCustomType itemCustomType = new ItemCustomType(session)
                {
                    ObjectTypeId = objectType,
                    ItemId       = item
                };

                itemCustomType.Save();
            }
            catch (Exception)
            {
                session.RollbackTransaction();
                throw;
            }
        }
Exemple #2
0
        public void removeItemCustomTypeFromItem(Session session, Guid ItemId)
        {
            try
            {
                CriteriaOperator criteria =
                    new BinaryOperator("ItemId", ItemId, BinaryOperatorType.Equal);
                XPCollection <ItemCustomType> itemCustomTypes = new XPCollection <ItemCustomType>(session, criteria);

                for (int i = itemCustomTypes.Count - 1; i >= 0; i--)
                {
                    ItemCustomType tmp = itemCustomTypes[i];
                    tmp.Delete();
                }
            }
            catch (Exception e)
            {
                session.RollbackTransaction();
                throw;
            }
        }
Exemple #3
0
        public bool checkConstraintAddCustomType(Session session, Guid ObjectTypeId, Guid ItemId, out string msg)
        {
            msg = "";
            try
            {
                ObjectType SERVICE = NAS.DAL.Util.getXpoObjectByName <ObjectType>(session, "SERVICE");
                ObjectType PRODUCT = NAS.DAL.Util.getXpoObjectByName <ObjectType>(session, "PRODUCT");

                CriteriaOperator criteria = CriteriaOperator.And(
                    new BinaryOperator("ItemId", ItemId),
                    new BinaryOperator("ObjectTypeId", SERVICE.ObjectTypeId)
                    );

                ItemCustomType itemCustomType = session.FindObject <ItemCustomType>(criteria);

                if (itemCustomType != null && ObjectTypeId == PRODUCT.ObjectTypeId)
                {
                    msg = "Nếu loại đối tượng là 'dịch vụ' thì không thể chọn tiếp loại 'hàng hóa'";
                    return(false);
                }

                criteria = CriteriaOperator.And(
                    new BinaryOperator("ItemId", ItemId),
                    new BinaryOperator("ObjectTypeId", PRODUCT.ObjectTypeId)
                    );

                itemCustomType = session.FindObject <ItemCustomType>(criteria);
                if (itemCustomType != null && ObjectTypeId == SERVICE.ObjectTypeId)
                {
                    msg = "Nếu loại đối tượng là 'hàng hóa' thì không thể chọn tiếp loại 'dịch vụ'";
                    return(false);
                }
                return(true);
            }
            catch (Exception e)
            {
                throw new Exception("Có lỗi dữ liệu");
            }
        }
Exemple #4
0
        public void InsertItems(List <ItemEntity> itemEntityList, string itemTradingTypeName, string objectTypeName)
        {
            using (UnitOfWork uow = XpoHelper.GetNewUnitOfWork())
            {
                foreach (var itemEntity in itemEntityList)
                {
                    try
                    {
                        if (itemEntity.Code.Equals("EVE006"))
                        {
                            string debug = "Y";
                        }
                        //Check required
                        if (itemEntity.Code == null || itemEntity.Code.Trim().Length == 0)
                        {
                            continue;
                        }

                        //Check dupplicate code
                        bool isExist =
                            NAS.DAL.Util.isExistXpoObject <NAS.DAL.Nomenclature.Item.Item>
                                ("Code", itemEntity.Code,
                                Constant.ROWSTATUS_ACTIVE,
                                Constant.ROWSTATUS_DEFAULT,
                                Constant.ROWSTATUS_INACTIVE);
                        if (isExist)
                        {
                            continue;
                        }
                        //Get item trading type
                        ItemTradingType itemTradingType =
                            Util.getXPCollection <ItemTradingType>(uow, "Name", itemTradingTypeName).FirstOrDefault();
                        //Get Manufacturer
                        ManufacturerOrg manufacturerOrg =
                            Util.getXPCollection <ManufacturerOrg>(uow, "Code", itemEntity.ManufacturerCode,
                                                                   Constant.ROWSTATUS_ACTIVE).FirstOrDefault();

                        if (manufacturerOrg == null)
                        {
                            manufacturerOrg = Util.getDefaultXpoObject <ManufacturerOrg>(uow);
                        }

                        //Insert into Item table
                        NAS.DAL.Nomenclature.Item.Item item = new NAS.DAL.Nomenclature.Item.Item(uow)
                        {
                            Code                 = itemEntity.Code,
                            Description          = itemEntity.Description,
                            ManufacturerOrgId    = manufacturerOrg,
                            ItemTradingTypeId    = itemTradingType,
                            Name                 = itemEntity.Name,
                            RowStatus            = Constant.ROWSTATUS_ACTIVE,
                            RowCreationTimeStamp = DateTime.Now
                        };
                        item.Save();

                        //Get Supplier
                        SupplierOrg supplierOrg = Util.getXPCollection <SupplierOrg>(uow, "Code", itemEntity.SupplierCode,
                                                                                     Constant.ROWSTATUS_ACTIVE).FirstOrDefault();
                        if (supplierOrg != null)
                        {
                            //Insert into ItemSupplier table
                            ItemSupplier itemSupplier = new ItemSupplier(uow)
                            {
                                ItemId        = item,
                                SupplierOrgId = supplierOrg
                            };
                            itemSupplier.Save();
                        }

                        ObjectType objectType = Util.getXPCollection <ObjectType>(uow, "Name", objectTypeName,
                                                                                  Constant.ROWSTATUS_ACTIVE).FirstOrDefault();
                        if (objectType != null)
                        {
                            //Insert into ItemSupplier table
                            ItemCustomType itemCustomType = new ItemCustomType(uow)
                            {
                                ItemId       = item,
                                ObjectTypeId = objectType
                            };
                            itemCustomType.Save();
                        }

                        uow.CommitChanges();

                        //using (Session itemUnitSession = XpoHelper.GetNewSession())
                        //{
                        //    //Get UNIT relation type
                        //    ItemUnitRelationType unitRelationType =
                        //        NAS.DAL.Util.getXPCollection<ItemUnitRelationType>(itemUnitSession, "Name", "UNIT").FirstOrDefault();
                        //    itemEntity.ItemUnits = itemEntity.ItemUnits.OrderBy(r => r.Level).ToList();

                        //    ////Insert into ItemUnit
                        //    foreach (ItemUnitEntity itemUnitEntity in itemEntity.ItemUnits)
                        //    {

                        //        NAS.DAL.Nomenclature.Item.Item itemTemp =
                        //            NAS.DAL.Util.getXPCollection<NAS.DAL.Nomenclature.Item.Item>
                        //                (itemUnitSession, "Code", itemUnitEntity.ItemCode).FirstOrDefault();

                        //        Unit unit =
                        //            NAS.DAL.Util.getXPCollection<Unit>(itemUnitSession, "Code", itemUnitEntity.UnitCode).FirstOrDefault();

                        //        if (unit == null)
                        //            break;

                        //        Unit parentUnit =
                        //            NAS.DAL.Util.getXPCollection<Unit>(itemUnitSession, "Code", itemUnitEntity.ParentUnitCode).FirstOrDefault();

                        //        ItemUnit parentItemUnit = itemTemp.ItemUnits.Where(r => r.UnitId == parentUnit).FirstOrDefault();

                        //        ItemUnit itemUnit = new ItemUnit(itemUnitSession)
                        //        {
                        //            ItemId = itemTemp,
                        //            ItemUnitRelationTypeId = unitRelationType,
                        //            NumRequired = itemUnitEntity.NumRequired,
                        //            RowStatus = Constant.ROWSTATUS_ACTIVE,
                        //            UnitId = unit,
                        //            ParentItemUnitId = parentItemUnit,
                        //            RowCreationTimeStamp = DateTime.Now
                        //        };
                        //        itemUnit.Save();
                        //    }
                        //}
                    }
                    catch (Exception ex)
                    {
                        string msg = ex.Message;
                    }
                }
            }
        }
Exemple #5
0
        /// <summary>
        /// Populate default data to database
        /// </summary>
        public static void Populate()
        {
            try
            {
                ////NAS.DAL.Accounting.AccountChart
                NAS.DAL.BI.Accounting.Account.CorrespondFinancialAccountDim.Populate();
                NAS.DAL.BI.Accounting.Account.FinancialAccountDim.Populate();
                Account.Populate();
                AccountType.Populate();
                AccountCategory.Populate();
                Currency.Populate();

                ////NAS.DAL.Accounting.Configure
                AllocationType.Populate();

                ////NAS.DAL.CMS.ObjectDocument
                ObjectType.Populate();
                CustomFieldType.Populate();
                ObjectTypeCustomField.Populate();

                ////NAS.DAL.Inventory.Item
                RecordedType.Populate();

                ////NAS.DAL.Inventory.Operation
                CommanderStockCartStatus.Populate();
                CommanderStockCartType.Populate();

                ////NAS.DAL.Inventory.StockCart
                StockCartActorType.Populate();

                ////NAS.DAL.Invoice
                TaxType.Populate();
                PromotionType.Populate();

                ////NAS.DAL.Nomenclature.Inventory
                Nomenclature.Inventory.Inventory.Populate();
                InventoryUnit.Populate();

                ////NAS.DAL.Nomenclature.Item
                ItemUnitRelationType.Populate();
                UnitType.Populate();
                Unit.Populate();
                ItemUnit.Populate();
                ItemTradingType.Populate();
                ItemCustomType.Populate();

                ////NAS.DAL.Nomenclature.Organization
                TradingCategory.Populate();
                AuthenticationProvider.Populate();
                DepartmentType.Populate();
                OrganizationType.Populate();
                Person.Populate();
                Organization.Populate();
                OwnerOrg.Populate();
                CustomerOrg.Populate();
                SupplierOrg.Populate();
                ManufacturerOrg.Populate();
                Department.Populate();
                DepartmentPerson.Populate();

                //NAS.DAL.Staging.Accounting.Journal
                AccountActorType.Populate();

                ////NAS.DAL.Vouches
                VouchesType.Populate();
                VouchesActorType.Populate();
                ReceiptVouchesType.Populate();
                PaymentVouchesType.Populate();
                ForeignCurrency.Populate();

                ////NAS.DAL.Accounting.Journal
                AccountingPeriod.Populate();
                //SalesInvoicePickingStockCart.Populate();

                ////NAS.DAL.System.ArtifactCode
                ArtifactType.Populate();
                CodeRuleDataType.Populate();
                CodeRuleDataFormat.Populate();
                RuleRepeaterType.Populate();

                //NAS.DAL.Sales.Price
                PricePolicyType.Populate();

                //NAS.DAL.Inventory.Lot.Lot
                NAS.DAL.Inventory.Lot.Lot.Populate();

                //NAS.DAL.Inventory.Command.InventoryCommandActorType
                NAS.DAL.Inventory.Command.InventoryCommandActorType.Populate();
                NAS.DAL.BI.Inventory.InventoryCommandDim.Populate();

                #region Other populate
                using (Session session = XpoHelper.GetNewSession())
                {
                    //Insert undefined supplier
                    if (!Util.isExistXpoObject <SupplierOrg>("OrganizationId",
                                                             Guid.Parse("3DEF2B62-2162-46CD-8418-DEE6F8E59E21")))
                    {
                        SupplierOrg undefinedSupplierOrg = new SupplierOrg(session)
                        {
                            OrganizationId       = Guid.Parse("3DEF2B62-2162-46CD-8418-DEE6F8E59E21"),
                            Name                 = "Mặc định",
                            Description          = "Mặc định",
                            Code                 = "MACDINH",
                            RowCreationTimeStamp = DateTime.Now,
                            RowStatus            = Constant.ROWSTATUS_ACTIVE,
                            OrganizationTypeId   =
                                NAS.DAL.Util.getDefaultXpoObject <OrganizationType>(session)
                        };
                        undefinedSupplierOrg.Save();
                    }
                }
                #endregion
            }
            catch (Exception)
            {
                throw new Exception("Populate failed");
            }
            finally
            {
            }
        }