예제 #1
0
        public AnalysisCrmProduct AnalysisGetProductById(string productId)
        {
            ProductOperation   po      = new ProductOperation();
            AnalysisCrmProduct product = po.AnalysisGetProductById(productId);

            return(product);
        }
예제 #2
0
        public AnalysisCrmProduct AnalysisGetProductById(String productId)
        {
            log.Info("AnalysisGetProductById==" + productId);
            CrmUtil cu = new CrmUtil();
            OrganizationServiceProxy organizationProxy = cu.getCrmService();
            AnalysisCrmProduct       res_product       = new AnalysisCrmProduct();

            try
            {
                //Update Account TradeRegistration
                Entity    product    = new Entity("product");
                ColumnSet attributes = new ColumnSet(true);

                product = organizationProxy.Retrieve(product.LogicalName, new Guid(productId), attributes);

                res_product.ProductName = product.GetAttributeValue <string>("productnumber");
                res_product.ProductSku  = product.GetAttributeValue <string>("name");

                if (product.Contains("producttypecode") && product["producttypecode"] != null)
                {
                    res_product.ProductStatus = product.FormattedValues["producttypecode"];
                }
                if (product.Contains("defaultuomid") && product["defaultuomid"] != null)
                {
                    EntityReference unit = (EntityReference)product["defaultuomid"];
                    res_product.Unit = unit.Name;
                }

                res_product.DecimalsSupported = product.GetAttributeValue <int>("quantitydecimal").ToString();

                if (product.Contains("pricelevelid") && product["pricelevelid"] != null)
                {
                    EntityReference pricelist = (EntityReference)product["pricelevelid"];
                    res_product.PriceList = pricelist.Name;
                }
                if (product.Contains("new_suppliera1") && product["new_suppliera1"] != null)
                {
                    EntityReference supplier_a = (EntityReference)product["new_suppliera1"];
                    res_product.SupplierA = supplier_a.Name;
                }
                res_product.Brand = product.GetAttributeValue <string>("suppliername");

                res_product.Quantity = product.GetAttributeValue <decimal>("quantityonhand").ToString("#.##");

                res_product.BrandedPackage   = product.GetAttributeValue <bool>("new_brandedpackage").ToString();
                res_product.PetDreamHouseURL = product.GetAttributeValue <string>("producturl");

                if (product.Contains("price") && product["price"] != null)
                {
                    res_product.ListPrice = product.GetAttributeValue <Money>("price").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.UnitBarCode        = product.GetAttributeValue <string>("new_barcode");
                res_product.UnitWeight_KG      = product.GetAttributeValue <decimal>("new_grossunitweight").ToString("#.##");
                res_product.UnitDepthLength_CM = product.GetAttributeValue <decimal>("new_unitdepthcm").ToString("#.##");
                res_product.UnitWidthGirth_CM  = product.GetAttributeValue <decimal>("new_unitwidthcm").ToString("#.##");
                res_product.UnitHeightNeck_CM  = product.GetAttributeValue <decimal>("new_unitheight").ToString("#.##");
                res_product.CartonBarcode      = product.GetAttributeValue <string>("new_mastercartonbarcode");
                res_product.UnitsPerCarton     = product.GetAttributeValue <string>("new_packspermasterbox");
                res_product.CartonWeight_KG    = product.GetAttributeValue <decimal>("new_mastercartonweightkg").ToString("#.##");
                res_product.CartonDepth_CM     = product.GetAttributeValue <decimal>("new_mastercartondepthcm").ToString("#.##");
                res_product.CartonWidth_CM     = product.GetAttributeValue <decimal>("new_mastercartonwidthcm").ToString("#.##");
                res_product.CartonHeight_CM    = product.GetAttributeValue <decimal>("new_mastercartonheightcm").ToString("#.##");
                res_product.CreatedOn          = product.GetAttributeValue <DateTime>("createdon").ToLocalTime().ToString("yyyyMMddHHmmss");

                return(res_product);
            }
            catch (Exception ex)
            {
                log.Info(ex.Message + "--" + ex.ToString());
            }
            return(null);
        }
예제 #3
0
        public List <AnalysisCrmProduct> AnalysisGetAllProduct()
        {
            log.Info("AnalysisGetAllProduct:");
            CrmUtil cu = new CrmUtil();
            OrganizationServiceProxy  organizationProxy = cu.getCrmService();
            List <AnalysisCrmProduct> products          = new List <AnalysisCrmProduct>();

            try
            {
                //Update Account TradeRegistration
                QueryExpression qe = new QueryExpression();
                qe.EntityName = "product";
                qe.ColumnSet  = new ColumnSet(true);
                //qe.ColumnSet.Columns.Add("name");
                //qe.ColumnSet.Columns.Add("quantityonhand");

                //qe.LinkEntities.Add(new LinkEntity("account", "contact", "primarycontactid", "contactid", JoinOperator.Inner));
                //qe.LinkEntities[0].Columns.AddColumns("firstname", "lastname");
                //qe.LinkEntities[0].EntityAlias = "primarycontact";

                EntityCollection ec = organizationProxy.RetrieveMultiple(qe);

                foreach (Entity product in ec.Entities)
                {
                    AnalysisCrmProduct res_product = new AnalysisCrmProduct();

                    res_product.ProductId   = product.GetAttributeValue <Guid>("productid").ToString();
                    res_product.ProductName = product.GetAttributeValue <string>("productnumber");
                    res_product.ProductSku  = product.GetAttributeValue <string>("name");

                    if (product.Contains("producttypecode") && product["producttypecode"] != null)
                    {
                        res_product.ProductStatus = product.FormattedValues["producttypecode"];
                    }
                    if (product.Contains("defaultuomid") && product["defaultuomid"] != null)
                    {
                        EntityReference unit = (EntityReference)product["defaultuomid"];
                        res_product.Unit = unit.Name;
                    }

                    res_product.DecimalsSupported = product.GetAttributeValue <int>("quantitydecimal").ToString();

                    if (product.Contains("pricelevelid") && product["pricelevelid"] != null)
                    {
                        EntityReference pricelist = (EntityReference)product["pricelevelid"];
                        res_product.PriceList = pricelist.Name;
                    }
                    if (product.Contains("new_suppliera1") && product["new_suppliera1"] != null)
                    {
                        EntityReference supplier_a = (EntityReference)product["new_suppliera1"];
                        res_product.SupplierA = supplier_a.Name;
                    }
                    res_product.Brand = product.GetAttributeValue <string>("suppliername");

                    res_product.Quantity = product.GetAttributeValue <decimal>("quantityonhand").ToString("#.##");

                    res_product.BrandedPackage   = product.GetAttributeValue <bool>("new_brandedpackage").ToString();
                    res_product.PetDreamHouseURL = product.GetAttributeValue <string>("producturl");

                    if (product.Contains("price") && product["price"] != null)
                    {
                        res_product.ListPrice = product.GetAttributeValue <Money>("price").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.UnitBarCode        = product.GetAttributeValue <string>("new_barcode");
                    res_product.UnitWeight_KG      = product.GetAttributeValue <decimal>("new_grossunitweight").ToString("#.##");
                    res_product.UnitDepthLength_CM = product.GetAttributeValue <decimal>("new_unitdepthcm").ToString("#.##");
                    res_product.UnitWidthGirth_CM  = product.GetAttributeValue <decimal>("new_unitwidthcm").ToString("#.##");
                    res_product.UnitHeightNeck_CM  = product.GetAttributeValue <decimal>("new_unitheight").ToString("#.##");
                    res_product.CartonBarcode      = product.GetAttributeValue <string>("new_mastercartonbarcode");
                    res_product.UnitsPerCarton     = product.GetAttributeValue <string>("new_packspermasterbox");
                    res_product.CartonWeight_KG    = product.GetAttributeValue <decimal>("new_mastercartonweightkg").ToString("#.##");
                    res_product.CartonDepth_CM     = product.GetAttributeValue <decimal>("new_mastercartondepthcm").ToString("#.##");
                    res_product.CartonWidth_CM     = product.GetAttributeValue <decimal>("new_mastercartonwidthcm").ToString("#.##");
                    res_product.CartonHeight_CM    = product.GetAttributeValue <decimal>("new_mastercartonheightcm").ToString("#.##");
                    res_product.CreatedOn          = product.GetAttributeValue <DateTime>("createdon").ToLocalTime().ToString("yyyyMMddHHmmss");

                    products.Add(res_product);
                    //Console.WriteLine("account name:" + act["name"]);
                    //Console.WriteLine("primary contact first name:" + act["primarycontact.firstname"]);
                    //Console.WriteLine("primary contact last name:" + act["primarycontact.lastname"]);
                }
            }
            catch (Exception ex)
            {
                log.Info(ex.Message + "--" + ex.ToString());
            }
            return(products);
        }