public static void GetOfficeGroupByERPID(String _CompanyID, String _Org, ref String _Office, ref String _Group) { SAP_DIMCOMPANY sd = MyAdvantechContext.Current.SAP_DIMCOMPANY.Where(d => d.ORG_ID.Equals(_Org) && d.COMPANY_ID.Equals(_CompanyID)).FirstOrDefault(); if (sd != null) { _Office = sd.SALESOFFICE; _Group = sd.SALESGROUP; } }
public static List <SAP_DIMCOMPANY> GetSAPDIMCompanyEndCustomerByID(String _SoldtoID, String _ORGID, String _EndCustomerID, String _EndCustomerName) { if (String.IsNullOrEmpty(_SoldtoID)) { return(new List <SAP_DIMCOMPANY>()); } List <SAP_DIMCOMPANY> result = new List <SAP_DIMCOMPANY>(); //List<String> EndCustomers = (from SAPDimCompany in MyAdvantechContext.Current.SAP_DIMCOMPANY // join SAPCompanyPartners in MyAdvantechContext.Current.SAP_COMPANY_PARTNERS on SAPDimCompany.COMPANY_ID equals SAPCompanyPartners.COMPANY_ID // where SAPDimCompany.COMPANY_ID.Equals(_SoldtoID, StringComparison.OrdinalIgnoreCase) && // SAPCompanyPartners.PARTNER_FUNCTION.Equals("EM") && // !String.IsNullOrEmpty(SAPCompanyPartners.PARENT_COMPANY_ID) && // (String.IsNullOrEmpty(_ORGID) ? true : SAPCompanyPartners.ORG_ID.Equals(_ORGID, StringComparison.OrdinalIgnoreCase)) // orderby SAPCompanyPartners.DEFPA descending // select "'" + SAPCompanyPartners.PARENT_COMPANY_ID + "'").ToList(); String sql = " SELECT distinct A.KUNN2 AS company_id, A.VKORG as ORG_ID, B.NAME1 AS COMPANY_NAME, " + " D.street || ' ' || D.city1 || ' ' || D.region || ' ' || D.post_code1 || ' ' || (select e.landx from saprdp.t005t e where e.land1 = B.land1 and e.spras = 'E' and rownum = 1) AS Address, " + " B.Land1 AS COUNTRY, B.Ort01 AS CITY, B.STRAS as STREET, " + " B.PSTLZ AS ZIP_CODE, D.region AS STATE, B.TELF1 AS TEL_NO, B.TELFX AS FAX_NO, D.NAME_CO as Attention, " + " '' as PARTNER_FUNCTION, " + " E.VKBUR as SalesOffice, E.VKGRP As SalesGroup, E.SPART As division, D.STR_SUPPL3, A.DEFPA" + " From saprdp.kna1 B " + " Left join saprdp.adr6 C on B.adrnr = C.addrnumber " + " inner join saprdp.knvp A on A.KUNN2 = B.KUNNR " + " inner join saprdp.adrc D on D.country = B.land1 And D.addrnumber = B.adrnr " + " inner join saprdp.knvv E on B.KUNNR = E.KUNNR " + " where B.loevm <> 'X' AND A.PARVW ='EM' " + " AND A.KUNNR = '" + _SoldtoID + "' AND A.VKORG = '" + _ORGID + "'"; if (!String.IsNullOrEmpty(_EndCustomerID)) { sql += String.Format(" AND A.KUNN2 like '%{0}%' ", _EndCustomerID.Replace("'", "''").Trim()); } if (!String.IsNullOrEmpty(_EndCustomerName)) { sql += String.Format(" and (Upper(B.NAME1) LIKE '%{0}%' or B.NAME2 like '%{0}%') ", _EndCustomerName.Replace("'", "''").Trim()); } sql += " ORDER BY A.DEFPA desc, A.KUNN2"; DataTable dt = OracleProvider.GetDataTable("SAP_PRD", sql); if (dt != null && dt.Rows.Count > 0) { DataRow dr = dt.NewRow(); if (dt.Select("DEFPA = 'X'").Count() > 0) { dr = dt.Select("DEFPA = 'X'")[0]; } else if (dt.Select("company_id = '" + _SoldtoID + "'").Count() > 0) { dr = dt.Select("company_id = '" + _SoldtoID + "'")[0]; } else { dr = dt.Rows[0]; } SAP_DIMCOMPANY sd = new SAP_DIMCOMPANY(); sd.COMPANY_ID = dr["company_id"].ToString(); sd.COMPANY_NAME = dr["COMPANY_NAME"].ToString(); sd.ADDRESS = dr["Address"].ToString(); sd.CITY = dr["CITY"].ToString(); sd.REGION_CODE = dr["STATE"].ToString(); sd.ZIP_CODE = dr["ZIP_CODE"].ToString(); sd.COUNTRY = dr["COUNTRY"].ToString(); sd.ATTENTION = dr["Attention"].ToString(); sd.TEL_NO = dr["TEL_NO"].ToString(); result.Add(sd); } return(result); }
public static Boolean isATWPartsWithoutZMIP(List <String> _parts, String _org, String _companyID, ref List <String> _invalidparts) { List <String> StandardParts = new List <String>(); List <String> StandardPartsProductType = new List <string> { "ZFIN", "ZOEM", "T" }; foreach (String part in _parts) { List <String> temp = new List <string>(); // Split pipeline items if (part.Contains("|")) { foreach (var i in part.Split('|').ToList()) { temp.Add(i); } } else { temp.Add(part); } foreach (String t in temp) { SAP_PRODUCT sp = MyAdvantechDAL.GetSAPProduct(t); if (sp != null && StandardPartsProductType.Contains(sp.PRODUCT_TYPE)) { StandardParts.Add(t); } } } if (StandardParts.Count > 0) { SAP_DIMCOMPANY sc = DataAccess.DataCore.MyAdvantech.SAPCompanyHelper.GetSAPDIMCompanyByID(_companyID).FirstOrDefault(); Order _order = new Order(); _order.Currency = (sc != null && !String.IsNullOrEmpty(sc.CURRENCY)) ? sc.CURRENCY : "TWD"; _order.OrgID = _org; _order.DistChannel = "10"; _order.Division = "00"; foreach (String part in StandardParts) { _order.AddLooseItem(part); } _order.SetOrderPartnet(new OrderPartner(_companyID, _org, OrderPartnerType.SoldTo)); _order.SetOrderPartnet(new OrderPartner(_companyID, _org, OrderPartnerType.ShipTo)); _order.SetOrderPartnet(new OrderPartner(_companyID, _org, OrderPartnerType.BillTo)); // Do order simulation String _errMsg = String.Empty; Advantech.Myadvantech.DataAccess.SAPDAL.SimulateOrder(ref _order, ref _errMsg); if (_order != null && String.IsNullOrEmpty(_errMsg)) { foreach (Product p in _order.LineItems) { if (p.MinimumPrice != null && (p.MinimumPrice == -1 || p.MinimumPrice == 0)) { _invalidparts.Add(p.PartNumber); } } } } if (_invalidparts.Count > 0) { return(true); } else { return(false); } }
/// <summary> /// Use eStore B+B function to calcaulate freight /// </summary> /// <returns></returns> public static Tuple <bool, Response> CalculateBBFreight(SAP_DIMCOMPANY _Soldto, SAP_DIMCOMPANY _Shipto, SAP_DIMCOMPANY _Billto, List <cart_DETAIL_V2> _CartItems) { shippingrate target = new shippingrate(); target.Timeout = 30000; //target.Url = "http://buy.advantech.com/services/shippingrate.asmx"; AUS eStore URL DataAccess.bbeStoreFreightAPI.Order order = new DataAccess.bbeStoreFreightAPI.Order(); order.StoreId = "ABB"; // Shipto settings Address shipto = new Address(); if (_Shipto != null) { shipto.Countrycode = _Shipto.COUNTRY; shipto.Zipcode = _Shipto.ZIP_CODE; shipto.StateCode = _Shipto.REGION_CODE; order.Shipto = shipto; } // Bill to settings Address billto = new Address(); if (_Billto != null) { billto.Countrycode = _Billto.COUNTRY; billto.Zipcode = _Billto.ZIP_CODE; billto.StateCode = _Billto.REGION_CODE; order.Billto = billto; } // Loose Items settings List <Item> items = new List <Item>(); List <cart_DETAIL_V2> LooseItems = _CartItems.Where(d => d.otype == 0).ToList(); if (LooseItems.Count > 0) { foreach (cart_DETAIL_V2 LooseItem in LooseItems) { items.Add(new Item() { ProductID = LooseItem.Part_No, Qty = (int)LooseItem.Qty }); } } // System Items settings List <ConfigSystem> systems = new List <ConfigSystem>(); List <cart_DETAIL_V2> ParentItems = _CartItems.Where(d => d.otype == -1).ToList(); foreach (cart_DETAIL_V2 ParentItem in ParentItems) { int _sys1Qty = 1; ConfigSystem _sys1 = new ConfigSystem(); _sys1.Qty = (int)ParentItem.Qty; _sys1.ProductID = ParentItem.Part_No; _sys1Qty = _sys1.Qty; List <cart_DETAIL_V2> ChildItems = _CartItems.Where(d => d.otype == 1 && d.higherLevel == ParentItem.Line_No).ToList(); List <Item> _ds = new List <Item>(); foreach (cart_DETAIL_V2 ChildItem in ChildItems) { _ds.Add(new Item() { ProductID = ChildItem.Part_No, Qty = (Int32)Math.Ceiling((double)(Convert.ToDouble(ChildItem.Qty / (double)_sys1Qty))) }); } _sys1.Details = _ds.ToArray(); systems.Add(_sys1); } order.Items = items.ToArray(); order.Systems = systems.ToArray(); Response actual; actual = target.getShippingRate(order); if (actual != null && actual.Status == "1") { return(new Tuple <bool, Response>(true, actual)); } else { return(new Tuple <bool, Response>(false, actual)); } }