Пример #1
0
 public void Notify(params object[] args)
 {
     if (args != null && args.Length != 0 && args[0] is EntityEvent)
     {
         BusinessEntity.EntityKey key = ((EntityEvent)args[0]).EntityKey;
         if (!(key == null))
         {
             SupplySource supplierItem = key.GetEntity() as SupplySource;
             //if (Context.LoginOrg.Code == "10")
             if (PubHelper.IsOrg_SupplierItem2DMS())
             {
                 bool flag = PubHelper.IsUsedDMSAPI();
                 if (flag)
                 {
                     if (IsUpdateDMS(supplierItem)
                         )
                     {
                         try
                         {
                             PI06ImplService service = new PI06ImplService();
                             // service.Url = PubHelper.GetAddress(service.Url);
                             partBaseDto linedto = new partBaseDto();
                             System.Collections.Generic.List<partBaseDto> lines = new System.Collections.Generic.List<partBaseDto>();
                             if (supplierItem.SupplierInfo != null && supplierItem.SupplierInfo.SupplierKey != null)
                             {
                                 linedto.suptCode = supplierItem.SupplierInfo.Supplier.Code;
                             }
                             if (supplierItem.ItemInfo != null && supplierItem.ItemInfo.ItemIDKey != null)
                             {
                                 linedto.partCode = supplierItem.ItemInfo.ItemID.Code;
                                 linedto.partName = supplierItem.ItemInfo.ItemID.Name;
                             }
                             if (supplierItem.ItemInfo.ItemID.InventoryUOM != null)
                             {
                                 linedto.unit = supplierItem.ItemInfo.ItemID.InventoryUOM.Name;
                             }
                             if (supplierItem.ItemInfo.ItemID.PurchaseInfo != null)
                             {
                                 linedto.miniPack = ((supplierItem.ItemInfo.ItemID.PurchaseInfo.MinRcvQty > 0) ? System.Convert.ToInt32(supplierItem.ItemInfo.ItemID.PurchaseInfo.MinRcvQty) : 1);
                             }
                             linedto.isFlag = "2";
                             //SalePriceLine line = SalePriceLine.Finder.Find(string.Format("SalePriceList.Org={0} and ItemInfo.ItemID={1} and Active=1 and '{2}' between FromDate and ToDate", Context.LoginOrg.ID.ToString(), supplierItem.ItemInfo.ItemID.ID.ToString(), System.DateTime.Now.ToString()), new OqlParam[0]);
                             SalePriceLine line = PubHelper.GetSalePriceList(supplierItem);
                             if (line != null)
                             {
                                 linedto.salePrice = float.Parse(line.Price.ToString("G0"));
                                 linedto.unitPrace = linedto.salePrice;
                             }
                             else
                             {
                                 linedto.salePrice = 0f;
                                 linedto.unitPrace = 0f;
                             }
                             linedto.isDanger = "0";
                             linedto.isReturn = "1";
                             linedto.isSale = "1";
                             linedto.isEffective = supplierItem.Effective.IsEffective.ToString();
                             linedto.actionType = 1;
                             lines.Add(linedto);
                             partBaseDto d = service.Do(lines.ToArray());
                             if (d != null && d.flag == 0)
                             {
                                 throw new System.ApplicationException(d.errMsg);
                             }
                         }
                         catch (System.Exception e)
                         {
                             throw new System.ApplicationException("调用DMS接口错误:" + e.Message);
                         }
                     }
                 }
             }
         }
     }
 }
Пример #2
0
        // 配件主数据接口
        /// <summary>
        /// 配件主数据接口
        /// </summary>
        /// <param name="service"></param>
        /// <param name="param"></param>
        /// <returns></returns>
        public static partBaseDto Do(this PI06ImplService service, partBaseDto[] param)
        {
            service.Url = PubHelper.GetAddress(service.Url);

            string entityName = "配件主数据接口";
            long svID = -1;
            if (IsLog)
            {
                svID = ProxyLogger.CreateTransferSV(entityName
                    //, EntitySerialization.EntitySerial(bpObj)
                    , Newtonsoft.Json.JsonConvert.SerializeObject(param)
                    , service.GetType().FullName,Newtonsoft.Json.JsonConvert.SerializeObject(service));
            }

            try
            {
                var result = service.receive(param);

                if (svID > 0)
                {
                    if (result != null
                        )
                    {
                        //string resultXml = EntitySerialization.EntitySerial(result);
                        string resultXml = Newtonsoft.Json.JsonConvert.SerializeObject(result);

                        ProxyLogger.UpdateTransferSV(svID, resultXml, result.flag == 1, result.errMsg, string.Empty, string.Empty);
                    }
                    else
                    {
                        ProxyLogger.UpdateTransferSV(svID, string.Empty, false, Const_ResultNullMessage, string.Empty, string.Empty);
                    }
                }
                return result;
            }
            catch (Exception ex)
            {
                if (svID > 0)
                {
                    ProxyLogger.UpdateTransferSV(svID, string.Empty, false, ex.Message, string.Empty, ex.StackTrace);
                }

                throw ex;
            }

            return null;
        }
 public void Notify(params object[] args)
 {
     if (args != null && args.Length != 0 && args[0] is EntityEvent)
     {
         BusinessEntity.EntityKey key = ((EntityEvent)args[0]).EntityKey;
         if (!(key == null))
         {
             SalePriceAdjustment SalepriceAdjustment = key.GetEntity() as SalePriceAdjustment;
             if (PubHelper.IsOrg_SalePriceList2DMS(SalepriceAdjustment))
             {
                 bool flag = PubHelper.IsUsedDMSAPI();
                 if (flag)
                 {
                     PI06ImplService service = new PI06ImplService();
                     // service.Url = PubHelper.GetAddress(service.Url);
                     System.Collections.Generic.List<partBaseDto> lines = new System.Collections.Generic.List<partBaseDto>();
                     foreach (SalePriceAdjustLine line in SalepriceAdjustment.SalePriceAdjustLines)
                     {
                         partBaseDto linedto = new partBaseDto();
                         linedto.suptCode = string.Empty;
                         if (line.ItemInfo != null && line.ItemInfo.ItemIDKey != null)
                         {
                             linedto.partCode = line.ItemInfo.ItemID.Code;
                             linedto.partName = line.ItemInfo.ItemID.Name;
                             if (line.ItemInfo.ItemID.InventoryUOM != null)
                             {
                                 linedto.unit = line.ItemInfo.ItemID.InventoryUOM.Name;
                             }
                             if (line.ItemInfo.ItemID.PurchaseInfo != null)
                             {
                                 linedto.miniPack = ((line.ItemInfo.ItemID.PurchaseInfo.MinRcvQty > 0) ? System.Convert.ToInt32(line.ItemInfo.ItemID.PurchaseInfo.MinRcvQty) : 1);
                             }
                         }
                         linedto.salePrice = float.Parse(line.NewPrice.ToString());
                         linedto.unitPrace = linedto.salePrice;
                         linedto.isDanger = "0";
                         linedto.isReturn = "1";
                         linedto.isSale = "1";
                         linedto.isFlag = "1";
                         linedto.isEffective = line.Lapse.ToString();
                         linedto.actionType = 1;
                         lines.Add(linedto);
                     }
                     try
                     {
                         if (lines.Count > 0)
                         {
                             partBaseDto d = service.Do(lines.ToArray());
                             if (d != null && d.flag == 0)
                             {
                                 throw new System.ApplicationException(d.errMsg);
                             }
                         }
                     }
                     catch (System.Exception e)
                     {
                         throw new System.ApplicationException("调用DMS接口错误:" + e.Message);
                     }
                 }
             }
         }
     }
 }
Пример #4
0
 public void Notify(params object[] args)
 {
     if (args != null && args.Length != 0 && args[0] is EntityEvent)
     {
         BusinessEntity.EntityKey key = ((EntityEvent)args[0]).EntityKey;
         if (!(key == null))
         {
             SalePriceList SalepriceList = key.GetEntity() as SalePriceList;
             if (PubHelper.IsOrg_SalePriceList2DMS(SalepriceList))
             {
                 bool flag = PubHelper.IsUsedDMSAPI();
                 if (flag)
                 {
                     // 电动车配件价表
                     //if (PubHelper.PriceList2DMS.Contains(SalepriceList.Code))
                     if (SalePriceListInserted.IsUpdateDMS(SalepriceList))
                     {
                         PI06ImplService service = new PI06ImplService();
                         // service.Url = PubHelper.GetAddress(service.Url);
                         System.Collections.Generic.List<partBaseDto> lines = new System.Collections.Generic.List<partBaseDto>();
                         foreach (SalePriceLine line in SalepriceList.SalePriceLines)
                         {
                             //if (line.SysState != 8)
                             if (line.SysState != UFSoft.UBF.PL.Engine.ObjectState.Deleted)
                             {
                                 //if (line.SysState != 2)
                                 if (line.SysState != UFSoft.UBF.PL.Engine.ObjectState.Inserted)
                                 {
                                     if (line.OriginalData.Price != line.Price)
                                     {
                                         if (System.DateTime.Now >= line.FromDate && (System.DateTime.Now < line.ToDate || line.ToDate.ToString() == "9999.12.31"))
                                         {
                                             //SupplierItem.EntityList supitemlist = SupplierItem.Finder.FindAll(string.Format("Org={0} and ItemInfo.ItemID={1} and Effective.IsEffective=1 and '{2}' between Effective.EffectiveDate and Effective.DisableDate", Context.LoginOrg.ID.ToString(), line.ItemInfo.ItemID.ID.ToString(), System.DateTime.Now.ToString()), new OqlParam[0]);
                                             SupplySource.EntityList supitemlist = SupplySource.Finder.FindAll("ItemInfo.ItemCode=@ItemCode and Effective.IsEffective=1 and @Now between Effective.EffectiveDate and Effective.DisableDate"
                                                 , new OqlParam(line.ItemInfo.ItemCode)
                                                 , new OqlParam(System.DateTime.Today)
                                                 );
                                             if (supitemlist != null && supitemlist.Count > 0)
                                             {
                                                 foreach (SupplySource i in supitemlist)
                                                 {
                                                     partBaseDto linedto = new partBaseDto();
                                                     linedto.suptCode = i.SupplierInfo.Supplier.Code;
                                                     linedto.partCode = line.ItemInfo.ItemID.Code;
                                                     linedto.partName = line.ItemInfo.ItemID.Name;
                                                     if (line.ItemInfo.ItemID.InventoryUOM != null)
                                                     {
                                                         linedto.unit = line.ItemInfo.ItemID.InventoryUOM.Name;
                                                     }
                                                     if (line.ItemInfo.ItemID.PurchaseInfo != null)
                                                     {
                                                         linedto.miniPack = ((line.ItemInfo.ItemID.PurchaseInfo.MinRcvQty > 0) ? System.Convert.ToInt32(line.ItemInfo.ItemID.PurchaseInfo.MinRcvQty) : 1);
                                                     }
                                                     linedto.salePrice = float.Parse(line.Price.ToString("G0"));
                                                     linedto.unitPrace = linedto.salePrice;
                                                     linedto.isDanger = "0";
                                                     linedto.isReturn = "1";
                                                     linedto.isSale = "1";
                                                     linedto.isFlag = "1";
                                                     linedto.isEffective = line.Active.ToString();
                                                     linedto.actionType = 2;
                                                     lines.Add(linedto);
                                                 }
                                             }
                                             else
                                             {
                                                 partBaseDto linedto = new partBaseDto();
                                                 linedto.partCode = line.ItemInfo.ItemID.Code;
                                                 linedto.partName = line.ItemInfo.ItemID.Name;
                                                 if (line.ItemInfo.ItemID.InventoryUOM != null)
                                                 {
                                                     linedto.unit = line.ItemInfo.ItemID.InventoryUOM.Name;
                                                 }
                                                 if (line.ItemInfo.ItemID.PurchaseInfo != null)
                                                 {
                                                     linedto.miniPack = ((line.ItemInfo.ItemID.PurchaseInfo.MinRcvQty > 0) ? System.Convert.ToInt32(line.ItemInfo.ItemID.PurchaseInfo.MinRcvQty) : 1);
                                                 }
                                                 linedto.salePrice = float.Parse(line.Price.ToString());
                                                 linedto.unitPrace = linedto.salePrice;
                                                 linedto.isDanger = "0";
                                                 linedto.isReturn = "1";
                                                 linedto.isSale = "1";
                                                 linedto.isFlag = "1";
                                                 linedto.isEffective = line.Active.ToString();
                                                 linedto.actionType = 2;
                                                 lines.Add(linedto);
                                             }
                                         }
                                     }
                                 }
                                 else if (line.Active && System.DateTime.Now >= line.FromDate && (System.DateTime.Now < line.ToDate || line.ToDate.ToString() == "9999.12.31"))
                                 {
                                     //SupplierItem.EntityList supitemlist = SupplierItem.Finder.FindAll(string.Format("Org={0} and ItemInfo.ItemID={1} and Effective.IsEffective=1 and '{2}' between Effective.EffectiveDate and Effective.DisableDate", Context.LoginOrg.ID.ToString(), line.ItemInfo.ItemID.ID.ToString(), System.DateTime.Now.ToString()), new OqlParam[0]);
                                     //SupplySource.EntityList supitemlist = SupplySource.Finder.FindAll(string.Format("Org={0} and ItemInfo.ItemID={1} and Effective.IsEffective=1 and '{2}' between Effective.EffectiveDate and Effective.DisableDate", Context.LoginOrg.ID.ToString(), line.ItemInfo.ItemID.ID.ToString(), System.DateTime.Now.ToString()), new OqlParam[0]);
                                     SupplySource.EntityList supitemlist = SupplySource.Finder.FindAll("ItemInfo.ItemCode=@ItemCode and Effective.IsEffective=1 and @Now between Effective.EffectiveDate and Effective.DisableDate"
                                         , new OqlParam(line.ItemInfo.ItemCode)
                                         , new OqlParam(System.DateTime.Today)
                                         );
                                     if (supitemlist != null && supitemlist.Count > 0)
                                     {
                                         foreach (SupplySource i in supitemlist)
                                         {
                                             partBaseDto linedto = new partBaseDto();
                                             linedto.suptCode = i.SupplierInfo.Supplier.Code;
                                             linedto.partCode = line.ItemInfo.ItemID.Code;
                                             linedto.partName = line.ItemInfo.ItemID.Name;
                                             if (line.ItemInfo.ItemID.InventoryUOM != null)
                                             {
                                                 linedto.unit = line.ItemInfo.ItemID.InventoryUOM.Name;
                                             }
                                             if (line.ItemInfo.ItemID.PurchaseInfo != null)
                                             {
                                                 linedto.miniPack = ((line.ItemInfo.ItemID.PurchaseInfo.MinRcvQty > 0) ? System.Convert.ToInt32(line.ItemInfo.ItemID.PurchaseInfo.MinRcvQty) : 1);
                                             }
                                             linedto.salePrice = float.Parse(line.Price.ToString());
                                             linedto.unitPrace = linedto.salePrice;
                                             linedto.isDanger = "0";
                                             linedto.isReturn = "1";
                                             linedto.isSale = "1";
                                             linedto.isFlag = "1";
                                             linedto.isEffective = line.Active.ToString();
                                             linedto.actionType = 2;
                                             lines.Add(linedto);
                                         }
                                     }
                                     else
                                     {
                                         partBaseDto linedto = new partBaseDto();
                                         linedto.partCode = line.ItemInfo.ItemID.Code;
                                         linedto.partName = line.ItemInfo.ItemID.Name;
                                         if (line.ItemInfo.ItemID.InventoryUOM != null)
                                         {
                                             linedto.unit = line.ItemInfo.ItemID.InventoryUOM.Name;
                                         }
                                         if (line.ItemInfo.ItemID.PurchaseInfo != null)
                                         {
                                             linedto.miniPack = ((line.ItemInfo.ItemID.PurchaseInfo.MinRcvQty > 0) ? System.Convert.ToInt32(line.ItemInfo.ItemID.PurchaseInfo.MinRcvQty) : 1);
                                         }
                                         linedto.salePrice = float.Parse(line.Price.ToString());
                                         linedto.unitPrace = linedto.salePrice;
                                         linedto.isDanger = "0";
                                         linedto.isReturn = "1";
                                         linedto.isSale = "1";
                                         linedto.isFlag = "1";
                                         linedto.isEffective = line.Active.ToString();
                                         linedto.actionType = 2;
                                         lines.Add(linedto);
                                     }
                                 }
                             }
                         }
                         using (System.Collections.Generic.IEnumerator<IPersistableObject> enumerator3 = SalepriceList.SalePriceLines.DelLists.GetEnumerator())
                         {
                             while (enumerator3.MoveNext())
                             {
                                 SalePriceLine line = (SalePriceLine)enumerator3.Current;
                                 partBaseDto linedto = new partBaseDto();
                                 linedto.partCode = line.ItemInfo.ItemID.Code;
                                 linedto.partName = line.ItemInfo.ItemID.Name;
                                 if (line.ItemInfo.ItemID.InventoryUOM != null)
                                 {
                                     linedto.unit = line.ItemInfo.ItemID.InventoryUOM.Name;
                                 }
                                 if (line.ItemInfo.ItemID.PurchaseInfo != null)
                                 {
                                     linedto.miniPack = ((line.ItemInfo.ItemID.PurchaseInfo.MinRcvQty > 0) ? System.Convert.ToInt32(line.ItemInfo.ItemID.PurchaseInfo.MinRcvQty) : 1);
                                 }
                                 linedto.salePrice = float.Parse(line.Price.ToString());
                                 linedto.unitPrace = linedto.salePrice;
                                 linedto.isDanger = "0";
                                 linedto.isReturn = "1";
                                 linedto.isSale = "1";
                                 linedto.isFlag = "1";
                                 linedto.isEffective = line.Active.ToString();
                                 linedto.actionType = 3;
                                 lines.Add(linedto);
                             }
                         }
                         try
                         {
                             if (lines.Count > 0)
                             {
                                 partBaseDto t = service.Do(lines.ToArray());
                                 if (t != null && t.flag == 0)
                                 {
                                     throw new System.ApplicationException(t.errMsg);
                                 }
                             }
                         }
                         catch (System.Exception e)
                         {
                             throw new System.ApplicationException("调用DMS接口错误:" + e.Message);
                         }
                     }
                 }
             }
         }
     }
 }
Пример #5
0
 public void Notify(params object[] args)
 {
     if (args != null && args.Length != 0 && args[0] is EntityEvent)
     {
         BusinessEntity.EntityKey key = ((EntityEvent)args[0]).EntityKey;
         if (!(key == null))
         {
             SalePriceList SalepriceList = key.GetEntity() as SalePriceList;
             if (PubHelper.IsOrg_SalePriceList2DMS(SalepriceList))
             {
                 bool flag = PubHelper.IsUsedDMSAPI();
                 if (flag)
                 {
                     // 电动车配件价表
                     //if (PubHelper.PriceList2DMS.Contains(SalepriceList.Code))
                     if(SalePriceListInserted.IsUpdateDMS(SalepriceList))
                     {
                         PI06ImplService service = new PI06ImplService();
                         // service.Url = PubHelper.GetAddress(service.Url);
                         System.Collections.Generic.List<partBaseDto> lines = new System.Collections.Generic.List<partBaseDto>();
                         using (System.Collections.Generic.IEnumerator<IPersistableObject> enumerator = SalepriceList.SalePriceLines.DelLists.GetEnumerator())
                         {
                             while (enumerator.MoveNext())
                             {
                                 SalePriceLine line = (SalePriceLine)enumerator.Current;
                                 partBaseDto linedto = new partBaseDto();
                                 linedto.partCode = line.ItemInfo.ItemID.Code;
                                 linedto.partName = line.ItemInfo.ItemID.Name;
                                 if (line.ItemInfo.ItemID.InventoryUOM != null)
                                 {
                                     linedto.unit = line.ItemInfo.ItemID.InventoryUOM.Name;
                                 }
                                 if (line.ItemInfo.ItemID.PurchaseInfo != null)
                                 {
                                     linedto.miniPack = ((line.ItemInfo.ItemID.PurchaseInfo.MinRcvQty > 0) ? System.Convert.ToInt32(line.ItemInfo.ItemID.PurchaseInfo.MinRcvQty) : 1);
                                 }
                                 linedto.salePrice = float.Parse(line.Price.ToString());
                                 linedto.unitPrace = linedto.salePrice;
                                 linedto.isDanger = "0";
                                 linedto.isReturn = "1";
                                 linedto.isSale = "1";
                                 linedto.isFlag = "1";
                                 linedto.isEffective = line.Active.ToString();
                                 linedto.actionType = 3;
                                 lines.Add(linedto);
                             }
                         }
                         try
                         {
                             if (lines.Count > 0)
                             {
                                 partBaseDto t = service.Do(lines.ToArray());
                                 if (t != null && t.flag == 0)
                                 {
                                     throw new System.ApplicationException(t.errMsg);
                                 }
                             }
                         }
                         catch (System.Exception e)
                         {
                             throw new System.ApplicationException("调用DMS接口错误:" + e.Message);
                         }
                     }
                 }
             }
         }
     }
 }
Пример #6
0
 /// <remarks/>
 public void receiveAsync(partBaseDto[] arg0, object userState) {
     if ((this.receiveOperationCompleted == null)) {
         this.receiveOperationCompleted = new System.Threading.SendOrPostCallback(this.OnreceiveOperationCompleted);
     }
     this.InvokeAsync("receive", new object[] {
                 arg0}, this.receiveOperationCompleted, userState);
 }
Пример #7
0
 /// <remarks/>
 public void receiveAsync(partBaseDto[] arg0) {
     this.receiveAsync(arg0, null);
 }