예제 #1
0
        public SupplierCrmProductResponse AppUpdateProduct(SupplierCrmProduct newProduct)
        {
            log.Info("CMS-->Product update:" + newProduct.ProductName);
            SupplierCrmProductResponse response = new SupplierCrmProductResponse();
            CrmUtil cu = new CrmUtil();
            OrganizationServiceProxy organizationProxy = cu.getCrmService();

            try
            {
                Entity    oldProduct = new Entity("product");
                ColumnSet attributes = new ColumnSet(new string[] { "quantityonhand" });

                oldProduct = organizationProxy.Retrieve(oldProduct.LogicalName, new Guid(newProduct.ProductId), attributes);

                //oldProduct["productnumber"] = newProduct.ProductName;
                //oldProduct["name"] = newProduct.ProductSku;
                //oldProduct["description"] = newProduct.ProductDescription;
                oldProduct["quantityonhand"] = Decimal.Parse(newProduct.Quantity);


                organizationProxy.Update(oldProduct);

                response.result = "success";
                return(response);
            }
            catch (Exception ex)
            {
                log.Info(ex.Message + "--" + ex.ToString());
            }
            return(null);
        }
예제 #2
0
        public SupplierCrmProductResponse AppUpdateProduct(SupplierCrmProduct product)
        {
            ProductOperation           po       = new ProductOperation();
            SupplierCrmProductResponse response = po.AppUpdateProduct(product);

            return(response);
        }
예제 #3
0
        public List <SupplierCrmProduct> AppGetProductBySupplier(String email)
        {
            log.Info("AppGetProductBySupplier:" + email);
            CrmUtil cu = new CrmUtil();
            OrganizationServiceProxy  organizationProxy = cu.getCrmService();
            List <SupplierCrmProduct> res_products      = new List <SupplierCrmProduct>();

            try
            {
                QueryExpression qe = new QueryExpression();
                qe.EntityName = "product";
                qe.ColumnSet  = new ColumnSet(true);

                ConditionExpression condition1 = new ConditionExpression();
                condition1.AttributeName = "emailaddress1";
                condition1.Operator      = ConditionOperator.Equal;
                condition1.Values.Add(email);

                FilterExpression filter1 = new FilterExpression();
                filter1.Conditions.Add(condition1);

                //qe.Criteria.AddFilter(filter1);

                qe.LinkEntities.Add(new LinkEntity("product", "account", "new_suppliera1", "accountid", JoinOperator.Inner));
                qe.LinkEntities[0].Columns.AddColumns("accountid");
                qe.LinkEntities[0].EntityAlias = "supplier";
                qe.LinkEntities[0].LinkCriteria.AddFilter(filter1);



                //  Query passed to service proxy.
                EntityCollection retrieved = organizationProxy.RetrieveMultiple(qe);
                foreach (Entity product in retrieved.Entities)
                {
                    SupplierCrmProduct res_product = new SupplierCrmProduct();
                    res_product.ProductId   = product.GetAttributeValue <Guid>("productid").ToString();
                    res_product.ProductName = product.GetAttributeValue <string>("productnumber");
                    res_product.ProductSku  = product.GetAttributeValue <string>("name");
                    res_product.Brand       = product.GetAttributeValue <string>("suppliername");
                    res_product.Quantity    = product.GetAttributeValue <decimal>("quantityonhand").ToString("#.##");


                    res_product.CommissionRate = product.GetAttributeValue <decimal>("new_commisionrate").ToString("#.##");


                    if (product.Contains("price") && product["price"] != null)
                    {
                        res_product.TradePrice = product.GetAttributeValue <Money>("price").Value.ToString("#.##");
                    }
                    if (product.Contains("new_pdhprice") && product["new_pdhprice"] != null)
                    {
                        res_product.PdhPrice = product.GetAttributeValue <Money>("new_pdhprice").Value.ToString("#.##");
                    }

                    if (product.Contains("new_rrp") && product["new_rrp"] != null)
                    {
                        res_product.RRP = product.GetAttributeValue <Money>("new_rrp").Value.ToString("#.##");
                    }

                    //res_product.ProductColor = product.GetAttributeValue<string>("new_colour");
                    //res_product.ProductBarcode = product.GetAttributeValue<string>("new_productbarcode");
                    res_product.ProductDimensions    = product.GetAttributeValue <string>("new_size");
                    res_product.ProductWeight        = product.GetAttributeValue <string>("new_productweight");
                    res_product.IdenticalUnitPerCase = product.GetAttributeValue <string>("new_casequantity");
                    res_product.CaseBarcode          = product.GetAttributeValue <string>("new_casebarcode");
                    res_product.CaseDimensions       = product.GetAttributeValue <string>("new_casedimensions");
                    res_product.CaseWeight           = product.GetAttributeValue <string>("new_caseweight");
                    res_product.CTNDetails           = product.GetAttributeValue <string>("new_ctndetails");

                    if (product.Contains("new_parentcatalog") && product["new_parentcatalog"] != null)
                    {
                        res_product.ParentCatalog = product.FormattedValues["new_parentcatalog"];
                    }
                    if (product.Contains("new_subcatelog") && product["new_subcatelog"] != null)
                    {
                        res_product.SubCatalog = product.FormattedValues["new_subcatelog"];
                    }
                    if (product.Contains("new_additionalcatelog") && product["new_additionalcatelog"] != null)
                    {
                        res_product.AdditionalCatalog = product.FormattedValues["new_additionalcatelog"];
                    }
                    res_product.ProductDescription = product.GetAttributeValue <string>("description");
                    res_product.ProductCreatedon   = product.GetAttributeValue <DateTime>("createdon").ToLocalTime().ToString("yyyyMMddHHmmss");

                    res_products.Add(res_product);
                }
            }
            catch (Exception ex)
            {
                log.Info(ex.Message + "--" + ex.ToString());
            }
            return(res_products);
        }