Example #1
0
File: ItemBO.cs Project: ewin66/dev
 public bool selectUnitTypeForItem(Guid itemUnitTypeConfigId)
 {
     using (UnitOfWork uow = XpoHelper.GetNewUnitOfWork())
     {
         try
         {
             ItemUnitTypeConfig iutc = uow.GetObjectByKey <ItemUnitTypeConfig>(itemUnitTypeConfigId);
             iutc.RowStatus  = Utility.Constant.ROWSTATUS_ACTIVE;
             iutc.IsSelected = true;
             iutc.Save();
             UnitBO bo = new UnitBO();
             bo.populateDefaultUnitToItemUnit(iutc.ItemId.ItemId, iutc.UnitTypeId.UnitTypeId);
             uow.CommitChanges();
             return(true);
         }
         catch
         {
             throw;
         }
         finally
         {
             uow.Dispose();
         }
     }
 }
Example #2
0
File: ItemBO.cs Project: ewin66/dev
        public bool unselectUnitTypeForItem(Guid itemUnitTypeConfigId)
        {
            using (UnitOfWork uow = XpoHelper.GetNewUnitOfWork())
            {
                try
                {
                    ItemUnitTypeConfig iutc = uow.GetObjectByKey <ItemUnitTypeConfig>(itemUnitTypeConfigId);
                    iutc.RowStatus  = Utility.Constant.ROWSTATUS_DEFAULT;
                    iutc.IsMaster   = false;
                    iutc.IsSelected = false;
                    iutc.Save();

                    XPCollection <ItemUnit> itemUnits = new XPCollection <ItemUnit>(uow,
                                                                                    CriteriaOperator.And(
                                                                                        new BinaryOperator("ItemId", iutc.ItemId, BinaryOperatorType.Equal),
                                                                                        new NotOperator(new NullOperator("UnitId")),
                                                                                        new NotOperator(new NullOperator("UnitId.UnitTypeId")),
                                                                                        new BinaryOperator("UnitId.UnitTypeId.Code", iutc.UnitTypeId.Code, BinaryOperatorType.Equal)
                                                                                        ));

                    foreach (ItemUnit iu in itemUnits)
                    {
                        iu.RowStatus = Utility.Constant.ROWSTATUS_DELETED;
                        iu.Save();
                    }

                    uow.FlushChanges();


                    uow.CommitChanges();
                    return(true);
                }
                catch
                {
                    throw;
                }
                finally
                {
                    uow.Dispose();
                }
            }
        }
Example #3
0
File: ItemBO.cs Project: ewin66/dev
        public NAS.DAL.Nomenclature.Item.ItemUnitTypeConfig getItemUnitTypeConfig(Session session, Guid itemId, Guid unitTypeId)
        {
            try
            {
                NAS.DAL.Nomenclature.UnitItem.UnitType ut =
                    session.GetObjectByKey <NAS.DAL.Nomenclature.UnitItem.UnitType>(unitTypeId);

                NAS.DAL.Nomenclature.Item.Item i =
                    session.GetObjectByKey <NAS.DAL.Nomenclature.Item.Item>(itemId);

                ItemUnitTypeConfig iutc = session.FindObject <ItemUnitTypeConfig>(
                    CriteriaOperator.And(
                        new BinaryOperator("UnitTypeId", ut, BinaryOperatorType.Equal),
                        new BinaryOperator("ItemId", i, BinaryOperatorType.Equal)
                        )
                    );

                return(iutc);
            }
            catch
            {
                throw;
            }
        }
Example #4
0
        private void PopulateMUMDefaultConfig()
        {
            using (Session session = XpoHelper.GetNewSession())
            {
                //Get item list
                XPCollection <Item> itemList = new XPCollection <Item>(session,
                                                                       new BinaryOperator("RowStatus", Utility.Constant.ROWSTATUS_ACTIVE));

                //Get specification unit type
                NAS.DAL.Nomenclature.UnitItem.UnitType specUnitType =
                    session.FindObject <NAS.DAL.Nomenclature.UnitItem.UnitType>(new BinaryOperator("Code", "SPECIFICATION"));

                foreach (var item in itemList)
                {
                    int countHasConfigSpecUnit = item.itemUnitTypeConfigs.Count(r =>
                                                                                r.RowStatus == Utility.Constant.ROWSTATUS_ACTIVE &&
                                                                                r.UnitTypeId == specUnitType);

                    if (countHasConfigSpecUnit != 0)
                    {
                        continue;
                    }

                    //Config SPECIFICATION for the item
                    int countSpecConfigUnit = item.itemUnitTypeConfigs.Count(r =>
                                                                             r.UnitTypeId == specUnitType);

                    ItemUnitTypeConfig config;

                    if (countSpecConfigUnit != 0)
                    {
                        config = item.itemUnitTypeConfigs.Where(r =>
                                                                r.UnitTypeId == specUnitType).FirstOrDefault();
                        config.RowStatus = Utility.Constant.ROWSTATUS_ACTIVE;
                    }
                    else
                    {
                        config = new ItemUnitTypeConfig(session)
                        {
                            ItemId     = item,
                            RowStatus  = Utility.Constant.ROWSTATUS_ACTIVE,
                            UnitTypeId = specUnitType
                        };
                    }

                    //Config isMaster flag
                    int countIsMaster = item.itemUnitTypeConfigs.Count(r => r.IsMaster);

                    if (countIsMaster == 0)
                    {
                        config.IsMaster = true;
                    }

                    config.Save();

                    //Active SPECIFICATION units of the item
                    var specItemUnitList = item.ItemUnits.Where(r => r.UnitId != null &&
                                                                r.UnitId.UnitTypeId == specUnitType &&
                                                                r.UnitId.RowStatus == Utility.Constant.ROWSTATUS_ACTIVE);
                    foreach (var specItemUnit in specItemUnitList)
                    {
                        specItemUnit.RowStatus = Utility.Constant.ROWSTATUS_ACTIVE;
                        specItemUnit.Save();
                    }
                }
            }
        }
Example #5
0
File: ItemBO.cs Project: ewin66/dev
        public void PopulateDefaultUnitTypeConfigForAllItems()
        {
            using (UnitOfWork uow = XpoHelper.GetNewUnitOfWork())
            {
                try
                {
                    XPCollection <ItemUnitTypeConfig> configs = new XPCollection <ItemUnitTypeConfig>(uow);
                    uow.Delete(configs);

                    XPCollection <Item> items = new XPCollection <Item>(uow,
                                                                        new BinaryOperator("RowStatus", 0, BinaryOperatorType.GreaterOrEqual));

                    XPCollection <NAS.DAL.Nomenclature.UnitItem.UnitType> unitTypes =
                        new XPCollection <NAS.DAL.Nomenclature.UnitItem.UnitType>(uow,
                                                                                  CriteriaOperator.And(
                                                                                      new BinaryOperator("RowStatus", Utility.Constant.ROWSTATUS_DEFAULT,
                                                                                                         BinaryOperatorType.Equal),
                                                                                      new BinaryOperator("Code", Utility.Constant.NAAN_DEFAULT_CODE,
                                                                                                         BinaryOperatorType.NotEqual)));

                    if (items == null || items.Count == 0)
                    {
                        return;
                    }

                    foreach (Item item in items)
                    {
                        foreach (NAS.DAL.Nomenclature.UnitItem.UnitType unitType in unitTypes)
                        {
                            ItemUnitTypeConfig iutc = new ItemUnitTypeConfig(uow);
                            iutc.ItemId    = item;
                            iutc.RowStatus = Utility.Constant.ROWSTATUS_DEFAULT;
                            if (item.ItemUnits != null && item.ItemUnits.Count > 0)
                            {
                                foreach (ItemUnit iu in item.ItemUnits)
                                {
                                    if (iu.UnitId != null && iu.UnitId.UnitTypeId != null && (iu.RowStatus == Utility.Constant.ROWSTATUS_DEFAULT ||
                                                                                              iu.RowStatus == Utility.Constant.ROWSTATUS_ACTIVE) && iu.UnitId.UnitTypeId == unitType)
                                    {
                                        iutc.RowStatus = Utility.Constant.ROWSTATUS_ACTIVE;
                                    }
                                }
                            }

                            iutc.IsMaster = false;
                            if (unitType.Code.Equals("SPECIFICATION"))
                            {
                                iutc.IsMaster = true;
                            }
                            iutc.UnitTypeId = unitType;
                            iutc.Save();
                        }
                    }

                    uow.CommitChanges();
                }
                catch
                {
                    //uow.ExplicitRollbackTransaction();
                    throw;
                }
            }
        }
Example #6
0
File: ItemBO.cs Project: ewin66/dev
        public Item addDefaultItem(Session session, NAS.DAL.Nomenclature.Item.Item.TYPEOFITEM info)
        {
            try
            {
                session.BeginTransaction();
                //insert default data into Item table
                string name = "";
                switch (info)
                {
                case NAS.DAL.Nomenclature.Item.Item.TYPEOFITEM.PRODUCT:
                    name = "PRODUCT";
                    break;

                case NAS.DAL.Nomenclature.Item.Item.TYPEOFITEM.MATERIAL:
                    name = "MATERIAL";
                    break;

                case NAS.DAL.Nomenclature.Item.Item.TYPEOFITEM.TOOL:
                    name = "TOOL";
                    break;

                case NAS.DAL.Nomenclature.Item.Item.TYPEOFITEM.SERVICE:
                    name = "SERVICE";
                    break;

                default:
                    break;
                }

                ObjectType objectType = NAS.DAL.Util.getXpoObjectByName <ObjectType>(session, name);

                Item item = new Item(session)
                {
                    Code                 = Guid.NewGuid().ToString(),
                    Description          = Utility.Constant.NAAN_DEFAULT_NAME,
                    RowStatus            = 0,
                    RowCreationTimeStamp = DateTime.Now
                };

                item.Save();

                XPCollection <NAS.DAL.Nomenclature.UnitItem.UnitType> unitTypes =
                    new XPCollection <NAS.DAL.Nomenclature.UnitItem.UnitType>(session,
                                                                              CriteriaOperator.And(
                                                                                  new BinaryOperator("RowStatus", Utility.Constant.ROWSTATUS_DEFAULT,
                                                                                                     BinaryOperatorType.Equal),
                                                                                  new BinaryOperator("Code", Utility.Constant.NAAN_DEFAULT_CODE,
                                                                                                     BinaryOperatorType.NotEqual)));

                foreach (NAS.DAL.Nomenclature.UnitItem.UnitType unitType in unitTypes)
                {
                    ItemUnitTypeConfig iutc = new ItemUnitTypeConfig(session);
                    iutc.ItemId     = item;
                    iutc.UnitTypeId = unitType;
                    iutc.IsMaster   = false;
                    iutc.RowStatus  = Utility.Constant.ROWSTATUS_DEFAULT;
                    iutc.Save();
                }

                session.CommitTransaction();
                return(item);
            }
            catch (Exception)
            {
                session.RollbackTransaction();
                throw;
            }
        }