Esempio n. 1
0
        public void AddProductGroup_SuccessfulPost_ReturnsCreatedAtRoute()
        {
            var productGroup = new ProductGroup
            {
                IDProductGroup = 1,
                IsActive       = true,
                Name           = "TestGroup",
                Products       = new List <ProductGroupProduct>()
            };

            _uowMock.Setup(uow => uow.Commit())
            .Returns(Task.FromResult(true));
            _uowMock.Setup(uow => uow.ProductGroupRepository.Insert(productGroup))
            .Returns(Task.CompletedTask);
            _uowMock.Setup(uow => uow.ProductGroupRepository.GetProductGroupByName("TestGroup"))
            .Returns(Task.FromResult(new ProductGroup {
                Name = "TestGroup"
            }));

            var controller = new ProductGroupsController(_uowMock.Object, _mapper, _typeHelperService.Object);

            var result = controller.AddProductGroup(new CreateProductGroupDto {
                Name = "TestGroup", Products = { 2, 3 }
            }).Result;

            result.ShouldNotBe(null);
            result.ShouldBeOfType(typeof(CreatedAtRouteResult));

            var cast    = result as CreatedAtRouteResult;
            var content = cast.Value as ProductGroupDto;

            content.Name.ShouldBe("TestGroup");
        }
 public void OnGet(int?id)
 {
     ProductGroups = new ProductGroup()
     {
         ParentId = id
     };
 }
Esempio n. 3
0
        protected void Page_Load(object sender, System.EventArgs e)
        {
            const string defaultHeading = "Master Files";
            string       stHeading      = defaultHeading;

            const string defaultTitle = "List of Product Variation Types";

            SiteTitle.Title = defaultTitle;

            const SearchCategoryID defaultSearchIndex = SearchCategoryID.Products;
            SearchCategoryID       SearchIndex        = defaultSearchIndex;

            HorizontalNavBar.PageNavigatorid = HorizontalNavID.MasterFiles;

            if (Request.QueryString["task"] != null)
            {
                ProductGroup        clsProductGroup = new ProductGroup();
                ProductGroupDetails clsDetails      = new ProductGroupDetails();
                long id = Convert.ToInt64(Common.Decrypt(Request.QueryString["groupid"].ToString(), Session.SessionID));
                clsDetails = clsProductGroup.Details(id);
                clsProductGroup.CommitAndDispose();

                string groupCode = " for Group Code : " + clsDetails.ProductGroupName;

                string task = Common.Decrypt(Request.QueryString["task"].ToString(), Session.SessionID);
                switch (task)
                {
                case "add":
                    stHeading          = "Register New Product Group Variation";
                    SearchIndex        = SearchCategoryID.ProductGroupVariations;
                    ctrlInsert.Visible = true;
                    break;

                case "edit":
                    stHeading          = "Modify Product Group Variation";
                    SearchIndex        = SearchCategoryID.ProductGroupVariations;
                    ctrlUpdate.Visible = true;
                    break;

                case "list":
                    stHeading        = "Variations List";
                    SearchIndex      = SearchCategoryID.ProductGroupVariations;
                    ctrlList.Visible = true;
                    break;

                case "details":
                    stHeading           = "Group Variation details";
                    SearchIndex         = SearchCategoryID.ProductGroupVariations;
                    ctrlDetails.Visible = true;
                    break;

                default:
                    break;
                }

                LargeHeading.Text = stHeading + groupCode;
                RightBodySectionSearch.SearchIDSelectedItem = SearchIndex;
            }
        }
Esempio n. 4
0
 public void ChildRemove(ProductGroup productGroup)
 {
     foreach (ProductGroup child in  _unitOfWork.ProductGroupRepository.Get(x => x.ParentId == productGroup.ProductGroupId))
     {
         _unitOfWork.ProductGroupRepository.Delete(child);
         ChildRemove(child);
     }
 }
Esempio n. 5
0
 public void Delete(ProductGroup productGroup)
 {
     //Remove Child Of selected Group
     ChildRemove(productGroup);
     //remove the selected group
     _unitOfWork.ProductGroupRepository.Delete(productGroup);
     _unitOfWork.Save();
 }
Esempio n. 6
0
        private void init_params()
        {
            ProductGroup.DataSource = new ProductsBLL().getCustomerGroups();
            ProductGroup.DataBind();

            ProductsTable.DataSource = new ProductsBLL().getCustomerProducts();
            ProductsTable.DataBind();
        }
Esempio n. 7
0
        public ActionResult Add(ProductGroup productGroup)
        {
            ResponseMsg response = new ResponseMsg();

            ProductGroupLogic.AddProductGroup(productGroup);
            response.IsSuccess = true;
            return(Json(response));
        }
Esempio n. 8
0
        public async Task <HttpResponseMessage> Create()
        {
            var requestContent = await Request.Content.ReadAsStringAsync();

            ProductGroup productGroup = JsonConvert.DeserializeObject <ProductGroup>(requestContent);

            return(Request.CreateResponse(HttpStatusCode.OK, _productGroupManagement.Create(productGroup)));
        }
Esempio n. 9
0
 public Product(string produtctName, int productQuantity, bool productActive, ProductGroup productGroup, UnitOfMeasurement productUnitOfMeasurement)
 {
     ProdutctName             = produtctName;
     ProductQuantity          = productQuantity;
     ProductActive            = productActive;
     ProductGroup             = productGroup;
     ProductUnitOfMeasurement = productUnitOfMeasurement;
 }
Esempio n. 10
0
 private ProductGroup CreateGroup(Node node, ProductGroup parent)
 {
     return(_context.ProductGroups.Add(new ProductGroup
     {
         Name = node.Name,
         Parent = parent
     }));
 }
        public ActionResult DeleteConfirmed(int id)
        {
            ProductGroup productGroup = db.ProductGroups.Find(id);

            db.ProductGroups.Remove(productGroup);
            db.SaveChanges();
            return(RedirectToAction("Index"));
        }
Esempio n. 12
0
 public PassiveSegmentBuilderGroupVM(List <SelectListItem> products, List <SelectListItem> subProducts, List <SelectListItem> availableSubProducts, ProductGroup productGroup, IEnumerable <SelectListItem> hierarchyTypes)
 {
     ProductGroup         = productGroup;
     HierarchyTypes       = hierarchyTypes;
     Products             = products;
     SubProducts          = subProducts;
     AvailableSubProducts = availableSubProducts;
 }
Esempio n. 13
0
        public JsonResult DeleteProductGroup(int Id)
        {
            bool         result       = false;
            ProductGroup ProductGroup = db.ProductGroups.Find(Id);

            db.ProductGroups.Remove(ProductGroup);
            db.SaveChanges();
            return(Json(result, JsonRequestBehavior.AllowGet));
        }
Esempio n. 14
0
        // GET: Admin/ProductGroups/Create
        public ActionResult Create(int?id)
        {
            ProductGroup productGroup = new ProductGroup
            {
                ParentId = id,
            };

            return(PartialView(productGroup));
        }
Esempio n. 15
0
        public ProductImporter(IUnitOfWork uow, OnlineStoreNomenclatureFactory onlineStoreNomenclatureFactory, Dictionary <string, ProductGroup> productGroups, ProductGroup unknownGroup)
        {
            this.uow = uow ?? throw new ArgumentNullException(nameof(uow));
            this.onlineStoreNomenclatureFactory = onlineStoreNomenclatureFactory ?? throw new ArgumentNullException(nameof(onlineStoreNomenclatureFactory));
            this.productGroups       = productGroups ?? throw new ArgumentNullException(nameof(productGroups));
            this.unknownProductGroup = unknownGroup ?? throw new ArgumentNullException(nameof(unknownGroup));

            LoadNomenclatures();
        }
Esempio n. 16
0
        /// <summary>
        /// Delete product group
        /// </summary>
        /// <param name="productGroup">Product Group</param>
        /// <returns>Task</returns>
        public async Task Delete(ProductGroup productGroup)
        {
            _context.ProductGroups
            .Remove(productGroup);

            await _context.SaveChangesAsync();

            return;
        }
Esempio n. 17
0
 public void AddGroup(string name)
 {
     _group = new ProductGroup
     {
         Name = name,
     };
     _type.ProductGroups.Add(_group);
     _groups.Add(_group);
 }
Esempio n. 18
0
        public static void AddProductGroup(ProductGroup productGroup)
        {
            Dictionary <string, object> param = new Dictionary <string, object>();

            param.Add("@ID", productGroup.ID);
            param.Add("@Name", productGroup.Name);
            param.Add("@ProductGroupTypeID", productGroup.ProductGroupTypeID);
            DBHelper.ExecuteNonQuery("AddProductGroup", param, true);
        }
Esempio n. 19
0
        public ViewResult Edit(int?Id)
        {
            SelectList categorylist = new SelectList(_db.ProductCategories, "Id", "CategoryName");

            ViewBag.Categories = categorylist;
            ProductGroup group = _db.ProductGroups.FirstOrDefault(c => c.Id == Id);

            return(View(group));
        }
Esempio n. 20
0
 public void Edit(ProductGroup productGroup)
 {
     //edit the children of selected Group
     ChildEdit(productGroup);
     //edit the selected Group
     productGroup.AliasName = productGroup.AliasName.Replace(" ", "");
     _unitOfWork.ProductGroupRepository.Update(productGroup);
     _unitOfWork.Save();
 }
Esempio n. 21
0
        public void UpdateGroupProductCategoryInfo(ProductGroup productGroup, CategoryInfo categoryInfo, UserInfo operationUser)
        {
            DataCommand dc = DataCommandManager.GetDataCommand("UpdateGroupProductCategoryInfo");

            dc.SetParameterValue("@ProductGroupSysNo", productGroup.SysNo);
            dc.SetParameterValue("@CategorySysNo", categoryInfo.SysNo);
            dc.SetParameterValue("@EditUser", operationUser.UserDisplayName);
            dc.ExecuteNonQuery();
        }
Esempio n. 22
0
        public List<ImportErrorMessage> InsertImportPriceListRecord(CanonDataContext db)
        {
            List<ImportErrorMessage> warnings = new List<ImportErrorMessage>();

            // CanonDataContext db = Cdb.Instance;

            // Create Product Group if it doesn't exist yet
            ProductGroup productGroup = db.ProductGroups.FirstOrDefault(pg => pg.Code == this.ProductCategory);
            if (productGroup == null)
            {
                productGroup = new ProductGroup();
                productGroup.Code = this.ProductCategory;
                productGroup.FileAs = "Nová_" + this.ProductCategory;

                db.ProductGroups.InsertOnSubmit(productGroup);
            }

            // create Product type if it doesn't exist in DB yet
            ProductType pType = db.ProductTypes.FirstOrDefault(pt => pt.Type == this.ProductType);
            if (pType == null)
            {
                pType = new ProductType();
                pType.Type = this.ProductType;

                db.ProductTypes.InsertOnSubmit(pType);
            }

            // update product
            Product product = db.Products.FirstOrDefault(p => p.ProductCode == this.ProductCode);
            if (product == null)
            {
                product = new Product();
                product.IsActive = true;

                db.Products.InsertOnSubmit(product);
            }

            product.ProductCode = this.ProductCode;
            product.ProductName = this.ProductName;
            product.ProductGroup = productGroup;
            product.CurrentPrice = this.ListPrice;
            product.ProductType = pType;

            // insert ImportPriceListRecord
            ImportPriceListRecord record = new ImportPriceListRecord();
            record.IDImportPriceList = this.ImportPriceList.ID;
            record.ListPrice = this.ListPrice;
            record.ProductCode = this.ProductCode;
            record.ProductName = this.ProductName;
            record.ProductCategory = this.ProductCategory;
            record.ProductType = this.ProductType;

            db.ImportPriceListRecords.InsertOnSubmit(record);
            db.SubmitChanges();

            return warnings;
        }
 private ProductType GetProductType(string name, string iconResourceName, ProductGroup groupId)
 {
     return(new ProductType
     {
         Type = name,
         IconName = iconResourceName,
         Group = groupId
     });
 }
Esempio n. 24
0
 /// <summary>
 /// 编辑商品组信息
 /// </summary>
 /// <param name="productGroup"></param>
 /// <returns></returns>
 public ProductGroup UpdateProductGroupInfo(ProductGroup productGroup)
 {
     using (var tran = new TransactionScope())
     {
         productGroup = _productGroupProcessor.UpdateProductGroupInfo(productGroup);
         tran.Complete();
         return(productGroup);
     }
 }
Esempio n. 25
0
        public ProductGroup Post([FromBody] ProductGroup value)
        {
            JalkahoitolaEntities entities = new JalkahoitolaEntities();

            entities.ProductGroups.Add(value);
            entities.SaveChanges();
            entities.Dispose();
            return(value);
        }
Esempio n. 26
0
        public async Task <bool> Modify(ProductGroup _model)
        {
            _model.UpdatedUser = scopeContext.UserCode;
            _model.UpdatedDate = DateTime.Now;
            context.Update(_model);
            await context.SaveChangesAsync();

            return(true);
        }
Esempio n. 27
0
        public async Task <int> Add(ProductGroup _model)
        {
            _model.CreatedUser = scopeContext.UserCode;
            _model.CreatedDate = DateTime.Now;
            context.Add(_model);
            await context.SaveChangesAsync();

            return(_model.Id);
        }
Esempio n. 28
0
        public ViewResult Edit(int?Id)
        {
            SelectList categorylist = new SelectList(_category.GetAll(), "Id", "CategoryName");

            ViewBag.Categories = categorylist;
            ProductGroup group = Id != null?_group.GetSingle(Id ?? 0) : new ProductGroup();

            return(View(group));
        }
Esempio n. 29
0
        public async Task <ApiResult <WaitingOrderDto> > GetWaitingOrderDetailAsync(string orderId)
        {
            var order = await _context.Orders.FindAsync(orderId);

            if (order == null || order.TransactionStatusId != GlobalProperties.WaitingTransactionId)
            {
                return(new ApiResult <WaitingOrderDto>(HttpStatusCode.NotFound, $"Không tìm thấy đơn hàng chờ có mã: {orderId}"));
            }
            if (order.TransactionStatusId == GlobalProperties.WaitingTransactionId)
            {
                var totalAmount = await(from od in _context.OrderDetails
                                        where od.OrderId == order.Id
                                        select od.UnitPrice * od.Quantity).SumAsync();
                var customerDebt = await _context.Orders.Where(x => x.CustomerId == order.CustomerId && x.TransactionStatusId != GlobalProperties.CancelTransactionId &&
                                                               x.TransactionStatusId != GlobalProperties.WaitingTransactionId).SumAsync(x => x.TotalAmount) +
                                   await _context.PaymentVouchers.Where(x => x.CustomerId == order.CustomerId).SumAsync(x => x.Paid) -
                                   await _context.ReceiptVouchers.Where(x => x.CustomerId == order.CustomerId).SumAsync(x => x.Received);

                var resultOrder = await(from o in _context.Orders
                                        join ts in _context.TransactionStatuses on o.TransactionStatusId equals ts.Id
                                        join pm in _context.PaymentStatuses on o.PaymentStatusId equals pm.Id
                                        join customer in _context.Customers on o.CustomerId equals customer.Id
                                        into CustomerGroup
                                        from c in CustomerGroup.DefaultIfEmpty()
                                        where o.Id == orderId && o.TransactionStatusId == GlobalProperties.WaitingTransactionId
                                        select new WaitingOrderDto()
                {
                    Id = o.Id,
                    CustomerAddress = string.IsNullOrEmpty(c.Address)?o.CustomerAddress:c.Address,
                    CustomerId      = c.Id,
                    CustomerName    = string.IsNullOrEmpty(c.Name)?o.CustomerName:c.Name,
                    CustomerPhone   = !string.IsNullOrEmpty(c.PhoneNumber) ? c.PhoneNumber
                                                 : (!string.IsNullOrEmpty(_context.AppUsers.Where(x => x.Id == c.AppUserId).SingleOrDefault().PhoneNumber)?
                                                    _context.AppUsers.Where(x => x.Id == c.AppUserId).SingleOrDefault().PhoneNumber:o.CustomerPhone),
                    DateCreated  = o.DateCreated,
                    OrderDetails = (from od in _context.OrderDetails
                                    join product in _context.Products on od.ProductId equals product.Id
                                    into ProductGroup
                                    from p in ProductGroup.DefaultIfEmpty()
                                    where od.OrderId == o.Id
                                    select new OrderDetailsDto()
                    {
                        Id = od.Id,
                        Quantity = od.Quantity,
                        ProductId = od.ProductId,
                        ProductName = p.Name,
                        UnitPrice = od.UnitPrice,
                        ServiceName = od.ServiceName
                    }).ToList(),
                    TotalAmount  = totalAmount,
                    CustomerDebt = customerDebt
                }).SingleOrDefaultAsync();
                return(new ApiResult <WaitingOrderDto>(HttpStatusCode.OK, resultOrder));
            }
            return(new ApiResult <WaitingOrderDto>(HttpStatusCode.NotFound, $"Không tìm thấy đơn hàng chờ có mã: {orderId}"));
        }
        public void FillElsMaterial(int materialId, int subgroupId, int sourceMaterialId, IMaterialsContextUow context, MaterialDetailsModel model, int type)
        {
            int setId = (int)context.RecordLinks.All.Where(m => m.MaterialID == materialId && m.SubgroupID == subgroupId).FirstOrDefault().SetID;

            IList <RecordLink> conditions = context.RecordLinks.All.Where(n => n.MaterialID == materialId && n.SubgroupID == subgroupId).ToList();

            IDictionary <ProductGroup.ProductGroupType, ProductGroup> listOfGroups = new Dictionary <ProductGroup.ProductGroupType, ProductGroup>();

            IList <ConditionModel> conditionWithProperties = new List <ConditionModel>();

            foreach (var conditionObj in conditions)
            {
                IList <MaterialProperty> propertiesPerCond = context.MaterialProperties.All.Where(m => m.MaterialId == materialId && m.SubgroupId == subgroupId && m.RowId == conditionObj.RowID).ToList();
                foreach (var prop in propertiesPerCond)
                {
                    ProductGroup.ProductGroupType groupId = (ProductGroup.ProductGroupType)context.Trees.Find(n => n.PN_ID == prop.PropertyId).BT_ID;

                    if (!listOfGroups.ContainsKey(groupId))
                    {
                        conditionWithProperties = new List <ConditionModel>();

                        ConditionModel condition = new ConditionElsBinder().FillElsCondition(materialId, subgroupId, context, conditionObj, prop, type);
                        conditionWithProperties.Add(condition);

                        ProductGroup productGroup = FillElsProductGroup(conditionWithProperties, groupId, context);

                        productGroup.MaterialConditions = productGroup.MaterialConditions.OrderBy(c => c.ConditionName).ToList();
                        listOfGroups.Add(groupId, productGroup);
                    }
                    else
                    {
                        ProductGroup selectedGroup = listOfGroups[groupId];

                        if (!selectedGroup.MaterialConditions.Any(v => v.ConditionId == conditionObj.RowID))
                        {
                            ConditionModel condition = new ConditionElsBinder().FillElsCondition(materialId, subgroupId, context, conditionObj, prop, type);
                            selectedGroup.MaterialConditions.Add(condition);
                        }
                        else
                        {
                            ConditionModel condition = selectedGroup.MaterialConditions.Where(v => v.ConditionId == conditionObj.RowID).FirstOrDefault();

                            string unitName = prop.OrigUnit == null ? "" : context.Units.Find(n => n.UnitId == prop.OrigUnit).UnitText;
                            ElsevierMaterials.Models.Property property = context.PropertiesWithConvertedValues.GetPropertyInfoForMaterialForSelectedMetric(context.PreferredNames.Find(o => o.PN_ID == prop.PropertyId).PN, materialId, subgroupId, conditionObj.RowID, prop.PropertyId, prop.ValueId, type, unitName);
                            condition.Properties.Add(property);
                        }
                    }

                    listOfGroups[groupId].PropertyCount++;
                }
            }


            model.Properties = new PropertiesModel();
            OrderPropertiesGroups(model, listOfGroups);
        }
Esempio n. 31
0
    static public FixedList<ProductGroupRule> GetProductGroupRules(ProductGroup productGroup) {
      var operation = DataOperation.Parse("qryPLMProductGroupRules", 1, productGroup.Id);

      var list = DataReader.GetList<ProductGroupRule>(operation,
                                                     (x) => BaseObject.ParseList<ProductGroupRule>(x));

      list.Sort((x, y) => x.ProductTerm.Name.CompareTo(y.ProductTerm.Name));

      return list.ToFixedList();
    }
Esempio n. 32
0
        private void _cbbGroup_SelectedIndexChanged(object sender, EventArgs e)
        {
            var cbb = sender as System.Windows.Forms.ComboBox;

            if (_currentListGroups != null && cbb.SelectedIndex < _currentListGroups.Count)
            {
                _currentProductGroup = _currentListGroups.ElementAtOrDefault(cbb.SelectedIndex);
                LoadProductByGroup();
            }
        }
Esempio n. 33
0
    public ProductGroup SaveInfo()
    {
        ProductGroup productGroup = BasicService<ProductGroup, Guid>.GetByID(this.ProductGroupID);

        if (productGroup == null)
        {
            productGroup = new ProductGroup();
        }
        productGroup.Name = txtName.Text;
        productGroup.Description = txtDescription.Text;
        productGroup.ProductGroupParent = BasicService<ProductGroup, Guid>.GetByID(ctrlParentGroup.SelectedProductGroupId);
        BasicService<ProductGroup, Guid>.SaveOrUpdate(productGroup);
        return productGroup;
    }
        public static void GetUnratedArgumentsCount(ProductGroup productGroup, int NotCountedArgumentsForUserId, Action<int> successCallback)
        {
            List<Argument> unratedArguments = new List<Argument>();
            lock (DatabaseProvider.databaseWriteLocker)
            {
                using (var conn = DatabaseProvider.OpenConnectionReadWrite())
                {
                    unratedArguments = conn.Table<Argument>()
                        .Where(
                            argument =>
                                argument.ProductGroupId == productGroup.Id &
                                argument.UserId != NotCountedArgumentsForUserId &
                                argument.MyRating == 0
                        ).ToList();

                    successCallback(unratedArguments.Count);
                }
            }
        }
Esempio n. 35
0
        public static void InsertOrUpdateProductGroup(CanonProductGroup newValue)
        {
            CanonDataContext db = Cdb.Instance;

            ProductGroup pg = null;
            if (newValue.ID == -1)
            {
                pg = new ProductGroup();
                db.ProductGroups.InsertOnSubmit(pg);
            }
            else
            {
                pg = db.ProductGroups.FirstOrDefault(p => p.ID == newValue.ID);
            }

            pg.FileAs = newValue.FileAs;
            pg.Code = newValue.Code;

            db.SubmitChanges();
        }
 /// <summary>
 /// Create a new ProductGroup object.
 /// </summary>
 /// <param name="id">Initial value of Id.</param>
 /// <param name="name">Initial value of Name.</param>
 public static ProductGroup CreateProductGroup(int id, string name)
 {
     ProductGroup productGroup = new ProductGroup();
     productGroup.Id = id;
     productGroup.Name = name;
     return productGroup;
 }
Esempio n. 37
0
 public void Add(ProductGroup obj)
 {
     db.ProductGroups.Add(obj);
     db.SaveChanges();
 }
Esempio n. 38
0
    static public FixedList<ProductGroup> GetProductGroupChilds(ProductGroup parentGroup) {
      var operation = DataOperation.Parse("qryPLMProductGroupChilds", 1, parentGroup.Id);

      return DataReader.GetList<ProductGroup>(operation,
                                              (x) => BaseObject.ParseList<ProductGroup>(x)).ToFixedList();
    }
Esempio n. 39
0
 public void AddToProductGroups(ProductGroup productGroup)
 {
     base.AddObject("ProductGroups", productGroup);
 }
Esempio n. 40
0
 public static ProductGroup CreateProductGroup(int code, bool enable)
 {
     ProductGroup productGroup = new ProductGroup();
     productGroup.Code = code;
     productGroup.Enable = enable;
     return productGroup;
 }
Esempio n. 41
0
 public void Update(ProductGroup obj)
 {
     db.Entry(obj).State = EntityState.Modified;
     db.SaveChanges();
 }
Esempio n. 42
0
	void JSONParse(){
		var N = JSONNode.Parse(JSONString);
		Debug.Log (JSONString);
		for(int i = 0; i< N.Count; i++){
		//Fixture

			Fixture f = new Fixture();
			f.z = int.Parse(N[i]["z"]);
			f.width = int.Parse(N[i]["width"]);
			f.height = int.Parse(N[i]["height"]);
			f.depth = int.Parse(N[i]["depth"]);
			f.categoryId = int.Parse(N[i]["categoryId"]);
			f.categoryName = N[i]["categoryName"];

			GameObject fixtureObject = Instantiate(fixturePrefab, this.transform.position, this.transform.rotation) as GameObject;


			FixtureItem fI = fixtureObject.GetComponent<FixtureItem>();
			fI.categoryId = f.categoryId;
			fI.width = f.width;
			fI.height = f.height;
			fI.depth = f.depth;
			fI.categoryName = f.categoryName;
			fI.z = f.z;
			fI.id = i;
			FixturesList.Add(fixtureObject);

			//Shelves
			var shelves = N[i]["shelfs"];

			for(int j = 0; j< shelves.Count; j++){
				Shelf s = new Shelf();
				s.height = int.Parse(N[i]["shelfs"][j]["height"]);
				s.shelfId = int.Parse(N[i]["shelfs"][j]["shelfId"]);

				GameObject shelfObject = Instantiate(shelfPrefab, this.transform.position, this.transform.rotation) as GameObject;
				fI.shelves.Add(shelfObject);
				shelfObject.transform.SetParent(fI.shelvesParent.transform);
				ShelfItem sI = shelfObject.transform.FindChild("Shelf").gameObject.GetComponent<ShelfItem>();

				sI.width = f.width;
				sI.depth = f.depth;
				sI.height = s.height;
				sI.positionId = j;
				sI.shelfId = s.shelfId;
				sI.id = j;

				if(j>0){
					fI.shelveHeightOffset += fI.shelves[j-1].gameObject.transform.FindChild("Shelf").gameObject.GetComponent<ShelfItem>().height + thickness;
					sI.positionY = fI.shelveHeightOffset;
				}

				sI.PositionShelf();

				//Products
				var products = N[i]["shelfs"][j]["products"];

				//Product Groups
				for(int p = 0 ; p < products.Count; p++){

					ProductGroup prodGroup = new ProductGroup();
					prodGroup.productId = int.Parse(N[i]["shelfs"][j]["products"][p]["productId"]);
					prodGroup.productName = N[i]["shelfs"][j]["products"][p]["productName"];
					prodGroup.horizontalFacing = int.Parse(N[i]["shelfs"][j]["products"][p]["horizontalFacing"]);
					prodGroup.verticalFacing = int.Parse(N[i]["shelfs"][j]["products"][p]["verticalFacing"]);

					GameObject productGroup = Instantiate(productGroupPrefab, sI.transform.position, sI.transform.rotation) as GameObject;
					sI.productGroups.Add(productGroup);
					productGroup.transform.SetParent(sI.transform.parent);
					productGroup.name = "PG " + p;
					ProductGroupItem pgI = productGroup.GetComponent<ProductGroupItem>();

					pgI.productId = prodGroup.productId;
					pgI.horizontalFacing = prodGroup.horizontalFacing;
					pgI.verticalFacing = prodGroup.verticalFacing;
					pgI.productName = prodGroup.productName;
					pgI.shelf = sI.GetComponent<ShelfItem>();

					//Products
					int productsNumber = pgI.horizontalFacing * pgI.verticalFacing;
					for(int pp = 0; pp < productsNumber; pp++){
						Product prod = new Product();
						prod.productId = int.Parse(N[i]["shelfs"][j]["products"][p]["productId"]);
						prod.productName = N[i]["shelfs"][j]["products"][p]["productName"];
						prod.width = int.Parse(N[i]["shelfs"][j]["products"][p]["width"]);
						prod.height = int.Parse(N[i]["shelfs"][j]["products"][p]["height"]);
						prod.depth = int.Parse(N[i]["shelfs"][j]["products"][p]["depth"]);
						prod.image = N[i]["shelfs"][j]["products"][p]["image"];
						prod.color = N[i]["shelfs"][j]["products"][p]["color"];

						GameObject productObject = Instantiate(productPrefab, sI.transform.position, sI.transform.rotation) as GameObject;
						pgI.groupedProducts.Add(productObject);
						productObject.transform.SetParent(productGroup.transform);
						
						ProductItem pI = productObject.GetComponent<ProductItem>();

						pI.name = "product_" + pp.ToString() + "_shelf_" + p;
						pI.productId = prod.productId;
						pI.image = prod.image;
						pI.color = prod.color;
						pI.productName = prod.productName;
						pI.productParent = sI.transform.parent.gameObject;
						pI.productShelf = sI.gameObject;
						pI.width = prod.width;
						pI.height = prod.height;
						pI.depth = prod.depth;

						//Add VRData functionality
						#region VRData_init

						//make sure the vr data kit is set up
						pI.gameObject.AddComponent <VRInteractiveItem> ();
						pI.gameObject.AddComponent <InteractiveSceneItem> ();

						//get interactive shelf item script
						InteractiveSceneItem shelfItemIA = pI.gameObject.GetComponent <InteractiveSceneItem> ();

						//fill interactive shelf item params
						VRInteractiveItem vrItem = pI.gameObject.GetComponent <VRInteractiveItem> ();
						Renderer itemRenderer = pI.gameObject.GetComponent <Renderer> ();

						shelfItemIA.m_InteractiveItem = vrItem;
						shelfItemIA.m_Renderer = itemRenderer;

						#endregion VRData_init

					}
				}
				//End of Products
			}
			//End of Shelves

		//End of Fixture

			//Cap Shelve
			GameObject shelfObjectCap = Instantiate(shelfPrefab, this.transform.position, this.transform.rotation) as GameObject;
			fI.shelves.Add(shelfObjectCap);
			shelfObjectCap.transform.SetParent(fI.shelvesParent.transform);
			ShelfItem sII = shelfObjectCap.transform.FindChild("Shelf").gameObject.GetComponent<ShelfItem>();
			sII.width = f.width;
			sII.depth = f.depth;
			shelfObjectCap.gameObject.name = "Cap";
			sII.PositionShelf();
			shelfObjectCap.transform.position = new Vector3(0.0f, fI.height/100.0f - (thickness), sII.transform.position.z);
		}
		PositionFixtures ();
	}
 public static ProductGroup CreateProductGroup(int ID, string productGroupName, bool discontinued, byte[] rowVersion)
 {
     ProductGroup productGroup = new ProductGroup();
     productGroup.Id = ID;
     productGroup.ProductGroupName = productGroupName;
     productGroup.Discontinued = discontinued;
     productGroup.RowVersion = rowVersion;
     return productGroup;
 }
 public static ProductGroup CreateProductGroup(int ID, byte[] rowVersion, string groupName, bool active)
 {
     ProductGroup productGroup = new ProductGroup();
     productGroup.Id = ID;
     productGroup.RowVersion = rowVersion;
     productGroup.GroupName = groupName;
     productGroup.Active = active;
     return productGroup;
 }
Esempio n. 45
0
 static internal int WriteProductGroup(ProductGroup o) {
   DataOperation dataOperation = DataOperation.Parse("writePLMProductGroup", o.Id, 1,
                         o.Number, o.Name, o.EnglishName, o.Description, o.Tags, o.Keywords,
                         o.Manager.Id, o.ModifiedBy.Id, o.Parent.Id, (char) o.Status);
   return DataWriter.Execute(dataOperation);
 }
Esempio n. 46
0
        private bool AddorUpdateProductGroup(int pid, string grpName)
        {
            bool status = false;
            if (!string.IsNullOrEmpty(grpName) && pid != 0)
            {
                var currentuser = UserManager.Current();

                //   var prodgroup = _productgroupRepo.GetProductGroupByProductId(pid);
                var prodgroup =
                    _productgroupRepo.GetAllProductgroup()
                        .Where((p => p.ProductId == pid && p.CreatedBy == currentuser.Row_Id))
                        .SingleOrDefault();
                //GetAllProductgroup
                if (prodgroup != null)
                {
                    prodgroup.Name = grpName.Trim();
                    prodgroup.UpdatedBy = currentuser.Row_Id;
                    prodgroup.Updated = DateTime.Now;
                    _productgroupRepo.Update(prodgroup);
                    status = true;
                }
                else
                {
                    var pg = new ProductGroup
                    {
                        ProductId = pid,
                        Name = grpName.Trim(),
                        Created = DateTime.Now,
                        CreatedBy = currentuser.Row_Id
                    };
                    _productgroupRepo.Add(pg);
                    status = true;
                }

            }
            return status;
        }