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); }
public SupplierCrmProductResponse AppUpdateProduct(SupplierCrmProduct product) { ProductOperation po = new ProductOperation(); SupplierCrmProductResponse response = po.AppUpdateProduct(product); return(response); }
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); }