Пример #1
0
        /// <summary>
        /// 审核通过
        /// </summary>
        /// <param name="sysNo"></param>
        /// <returns></returns>
        public bool AuditSucess(ProductEntryInfo info)
        {
            ProductEntryInfo temp = LoadProductEntryInfo(info.ProductSysNo.Value);
            string           InspectionNum;

            if (temp.EntryStatus != ProductEntryStatus.WaitingAudit)
            {
                throw new BizException("备案状态不是待审核,无法审核通过!");
            }

            if (temp.AuditNote == null)
            {
                temp.AuditNote = "";
            }
            if (string.IsNullOrWhiteSpace(info.AuditNote))
            {
                info.AuditNote = temp.AuditNote + string.Format("时间:{0}。 操作:审核通过。 \n", DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss.fff"));
            }
            else
            {
                info.AuditNote = temp.AuditNote + string.Format("时间:{0}。 操作:审核通过。 备注:{1}。 \n", DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss.fff"), info.AuditNote);
            }

            do
            {
                InspectionNum = GenerateRandomNumber(6);
            } while (!ObjectFactory <IProductEntryInfoDA> .Instance.checkInspectionNum(InspectionNum));

            info.InspectionNum = InspectionNum;

            return(ObjectFactory <IProductEntryInfoDA> .Instance.AuditSucess(info));
        }
Пример #2
0
        /// <summary>
        /// 报关不通过
        /// </summary>
        /// <param name="sysNo"></param>
        /// <returns></returns>
        public bool CustomsFail(ProductEntryInfo info)
        {
            ProductEntryInfo temp = LoadProductEntryInfo(info.ProductSysNo.Value);

            if (temp.EntryStatus != ProductEntryStatus.Entry)
            {
                throw new BizException("备案状态不是备案中,无法报关不通过!");
            }
            if (temp.EntryStatusEx != ProductEntryStatusEx.Customs)
            {
                throw new BizException("备案扩展状态不是待报关,无法报关不通过!");
            }

            if (temp.AuditNote == null)
            {
                temp.AuditNote = "";
            }
            if (string.IsNullOrWhiteSpace(info.AuditNote))
            {
                info.AuditNote = temp.AuditNote + string.Format("时间:{0}。 操作:报关不通过。 \n", DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss.fff"));
            }
            else
            {
                info.AuditNote = temp.AuditNote + string.Format("时间:{0}。 操作:报关不通过。 备注:{1}。 \n", DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss.fff"), info.AuditNote);
            }

            return(ObjectFactory <IProductEntryInfoDA> .Instance.CustomsFail(info));
        }
Пример #3
0
        public void Calculate(ref OrderInfo order)
        {
            GetAllSaleGift(ref order);

            #region 给赠品赋税率,运输方式等
            List <int> giftSysNoList = order.GiftItemList.Select(x => x.ProductSysNo).Distinct().ToList <int>();
            List <ProductEntryInfo> allProductEntryInfoList = PipelineDA.GetProductEntryInfo(giftSysNoList);
            foreach (OrderGiftItem giftItem in order.GiftItemList)
            {
                ProductEntryInfo entryInfo = allProductEntryInfoList.Find(f => f.ProductSysNo == giftItem.ProductSysNo);
                if (entryInfo != null)
                {
                    giftItem["ProductStoreType"] = (int)entryInfo.ProductStoreType;
                    //giftItem["TariffRate"] = entryInfo.TariffRate;
                }
                else
                {
                    giftItem["ProductStoreType"] = (int)ProductStoreType.Narmal;
                    // giftItem["TariffRate"] = 0;
                }
            }
            #endregion

            //加价购和赠品都属于赠品,都按赠品获取,之后按销售价格区分拆开
            order.PlusPriceItemList = order.GiftItemList.FindAll(m => m.UnitSalePrice > 0m);
            order.GiftItemList      = order.GiftItemList.FindAll(m => m.UnitSalePrice == 0m);

            PrcessorCustomerSelectGift(ref order);
            PrcessorCustomerSelectPlusPrice(ref order);
        }
Пример #4
0
        public bool CustomsFail(ProductEntryInfo info)
        {
            DataCommand cmd = DataCommandManager.GetDataCommand("EntryCustomsFail");

            cmd.SetParameterValue("@ProductSysNo", info.ProductSysNo.Value);
            cmd.SetParameterValue("@AuditNote", info.AuditNote);
            return(cmd.ExecuteNonQuery() > 0);
        }
Пример #5
0
        /// <summary>
        /// 保存商品备案信息
        /// </summary>
        /// <param name="entryInfo">备案信息</param>
        /// <returns></returns>
        public static bool SaveProductEntryInfo(ProductEntryInfo entryInfo)
        {
            DataCommand cmd = DataCommandManager.GetDataCommand("SaveProductEntryInfo");

            cmd.SetParameterValue <ProductEntryInfo>(entryInfo);
            cmd.ExecuteNonQuery();
            return(true);
        }
Пример #6
0
        public bool AuditSucess(ProductEntryInfo info)
        {
            DataCommand cmd = DataCommandManager.GetDataCommand("EntryAuditSucess");

            cmd.SetParameterValue("@ProductSysNo", info.ProductSysNo.Value);
            cmd.SetParameterValue("@AuditNote", info.AuditNote);
            cmd.SetParameterValue("@InspectionNum", info.InspectionNum);
            return(cmd.ExecuteNonQuery() > 0);
        }
Пример #7
0
        /// <summary>
        /// 申报商品失败(用于第三方回调处理)
        /// </summary>
        /// <param name="entryInfo"></param>
        /// <returns></returns>
        public bool ProductCustomsFail(ProductEntryInfo entryInfo)
        {
            DataCommand cmd = DataCommandManager.GetDataCommand("ProductEntry_ProductCustomsFail");

            entryInfo.EntryStatus   = ProductEntryStatus.EntryFail;
            entryInfo.EntryStatusEx = ProductEntryStatusEx.CustomsFail;
            cmd.SetParameterValue <ProductEntryInfo>(entryInfo);
            return(cmd.ExecuteNonQuery() > 0);
        }
Пример #8
0
        /// <summary>
        /// 保存备案信息
        /// </summary>
        /// <returns></returns>
        public JsonResult AjaxSaveEntryInfo()
        {
            string dataString = Request.Form["Data"];

            dataString = HttpUtility.UrlDecode(dataString);
            ProductEntryInfo data = ECommerce.Utility.SerializationUtility.JsonDeserialize2 <ProductEntryInfo>(dataString);

            return(new JsonResult()
            {
                Data = ProductMaintainService.MaintainProductEntryInfo(data)
            });
        }
Пример #9
0
        /// <summary>
        /// 审核通过
        /// </summary>
        /// <param name="callback"></param>
        public void AuditSucess(ProductEntryInfo info, Action <bool> callback)
        {
            string url = "/IMService/Entry/AuditSucess";

            restClient.Update <bool>(url, info, (obj, args) =>
            {
                if (args.FaultsHandle())
                {
                    return;
                }
                callback(args.Result);
            });
        }
Пример #10
0
        /// <summary>
        /// 创建商品备案信息
        /// </summary>
        /// <param name="entity"></param>
        /// <returns></returns>
        //public bool InsertEntryInfo(ProductEntryInfo entity)
        //{
        //    DataCommand cmd = DataCommandManager.GetDataCommand("InsertEntryInfo");
        //    ///如果业务类型是直邮中国商品(一般进口),则申报关区为直邮中国商品(2244)
        //    ///如果是自贸专区商品(保税进口),则申报关区为自贸专区商品(2216)
        //    if (entity.BizType == EntryBizType.NormalImport)
        //    {
        //        entity.ApplyDistrict = 2244;
        //    }

        //    if (entity.BizType == EntryBizType.BondedImport)
        //    {
        //        entity.ApplyDistrict = 2216;
        //    }

        //    cmd.SetParameterValue<ProductEntryInfo>(entity);
        //    return cmd.ExecuteNonQuery() > 0;
        //}


        /// <summary>
        /// 更新商品备案信息
        /// </summary>
        /// <param name="entity"></param>
        /// <returns></returns>
        public bool UpdateEntryInfo(ProductEntryInfo entity)
        {
            DataCommand cmd = DataCommandManager.GetDataCommand("UpdateEntryInfo");

            if (entity.BizType == EntryBizType.NormalImport)
            {
                entity.ApplyDistrict = 2244;
            }

            if (entity.BizType == EntryBizType.BondedImport)
            {
                entity.ApplyDistrict = 2216;
            }
            cmd.SetParameterValue("@ProductSysNo", entity.ProductSysNo);
            cmd.SetParameterValue("@ProductName_EN", entity.ProductName_EN);
            cmd.SetParameterValue("@Specifications", entity.Specifications);
            cmd.SetParameterValue("@Functions", entity.Functions);
            cmd.SetParameterValue("@Component", entity.Component);
            cmd.SetParameterValue("@Origin", entity.Origin);
            cmd.SetParameterValue("@Purpose", entity.Purpose);
            cmd.SetParameterValue("@TaxQty", entity.TaxQty);
            cmd.SetParameterValue("@TaxUnit", entity.TaxUnit);
            cmd.SetParameterValue("@ApplyUnit", entity.ApplyUnit);
            cmd.SetParameterValue("@GrossWeight", entity.GrossWeight);
            cmd.SetParameterValue("@BizType", entity.BizType);
            cmd.SetParameterValue("@ApplyDistrict", entity.ApplyDistrict);
            cmd.SetParameterValue("@Product_SKUNO", entity.Product_SKUNO);
            cmd.SetParameterValue("@Supplies_Serial_No", entity.Supplies_Serial_No);
            cmd.SetParameterValue("@ApplyQty", entity.ApplyQty);
            cmd.SetParameterValue("@SuttleWeight", entity.SuttleWeight);
            cmd.SetParameterValue("@Note", entity.Note);
            cmd.SetParameterValue("@Supplies_Serial_No_1", entity.Supplies_Serial_No_1);
            cmd.SetParameterValue("@TariffRate", entity.TariffRate);
            cmd.SetParameterValue("@TariffCode", entity.TariffCode);
            cmd.SetParameterValue("@StoreType", entity.StoreType);
            cmd.SetParameterValue("@EntryCode", entity.EntryCode);
            cmd.SetParameterValue("@Remark1", entity.Remark1);
            cmd.SetParameterValue("@Remark2", entity.Remark2);
            cmd.SetParameterValue("@Remark3", entity.Remark3);
            cmd.SetParameterValue("@Remark4", entity.Remark4);
            cmd.SetParameterValue("@ProductOthterName", entity.ProductOthterName);
            cmd.SetParameterValue("@ManufactureDate", entity.ManufactureDate);
            cmd.SetParameterValue("@DefaultLeadTimeDays", entity.DefaultLeadTimeDays);
            cmd.SetParameterValue("@NeedValid", entity.NeedValid);
            cmd.SetParameterValue("@NeedLabel", entity.NeedLabel);
            cmd.SetParameterValue("@HSCode", entity.HSCode);
            cmd.SetParameterValue("@NotProhibitedEntry", entity.NotProhibitedEntry);
            cmd.SetParameterValue("@NotInNotice1712", entity.NotInNotice1712);
            cmd.SetParameterValue("@NotTransgenic", entity.NotTransgenic);
            return(cmd.ExecuteNonQuery() > 0);
        }
Пример #11
0
        public void Update(ProductEntryInfoVM item, Action <bool> callback)
        {
            ProductEntryInfo entity = EntityConverter <ProductEntryInfoVM, ProductEntryInfo> .Convert(item);

            string url = "/IMService/Entry/Update";

            restClient.Update <bool>(url, entity, (obj, args) =>
            {
                if (args.FaultsHandle())
                {
                    return;
                }
                callback(args.Result);
            });
        }
Пример #12
0
        public void Create(ProductEntryInfoVM item, EventHandler <RestClientEventArgs <bool> > callback)
        {
            ProductEntryInfo entity = EntityConverter <ProductEntryInfoVM, ProductEntryInfo> .Convert(item);

            string url = "/IMService/Entry/Create";

            restClient.Create <bool>(url, entity, (obj, args) =>
            {
                if (args.FaultsHandle())
                {
                    return;
                }
                callback(obj, args);
            });
        }
Пример #13
0
        /// <summary>
        /// 提交报关
        /// </summary>
        /// <param name="callback"></param>
        public void ToCustoms(int sysNo, Action <bool> callback)
        {
            string           url  = "/IMService/Entry/ToCustoms";
            ProductEntryInfo info = new ProductEntryInfo();

            info.ProductSysNo = sysNo;
            restClient.Update <bool>(url, info, (obj, args) =>
            {
                if (args.FaultsHandle())
                {
                    return;
                }
                callback(args.Result);
            });
        }
Пример #14
0
        /// <summary>
        /// 提交备案申请
        /// </summary>
        /// <returns></returns>
        public JsonResult AjaxSubmitProductEntryAudit()
        {
            string dataString = Request.Form["Data"];

            dataString = HttpUtility.UrlDecode(dataString);
            ProductEntryInfo data = ECommerce.Utility.SerializationUtility.JsonDeserialize2 <ProductEntryInfo>(dataString);

            ProductMaintainService.MaintainProductEntryInfo(data);
            List <int> productSysNoList = new List <int>();

            productSysNoList.Add(data.ProductSysNo);

            return(new JsonResult()
            {
                Data = ProductMaintainService.BatchSubmitProductEntryAudit(productSysNoList)
            });
        }
Пример #15
0
        private void InspectionFail_Click(object sender, System.Windows.RoutedEventArgs e)
        {
            ProductEntryInfo info = new ProductEntryInfo();

            info.ProductSysNo = this.ProductSysNo;
            info.AuditNote    = this.AuditNote.Text;
            facades.InspectionFail(info, (args) =>
            {
                if (args)
                {
                    CPApplication.Current.CurrentPage.Context.Window.Alert("商检不通过成功!");
                    this.btnAuditSucess.IsEnabled = false;
                    this.btnAuditFail.IsEnabled   = false;
                    this.dialog.Close();
                }
                else
                {
                    CPApplication.Current.CurrentPage.Context.Window.Alert("商检不通过失败!");
                }
            });
        }
Пример #16
0
        /// <summary>
        /// 提交商检
        /// </summary>
        /// <param name="sysNo"></param>
        /// <returns></returns>
        public bool ToInspection(ProductEntryInfo info)
        {
            ProductEntryInfo temp = LoadProductEntryInfo(info.ProductSysNo.Value);

            if (temp.EntryStatus != ProductEntryStatus.AuditSucess)
            {
                throw new BizException("备案状态不是审核成功,无法提交商检!");
            }

            if (temp.AuditNote == null)
            {
                temp.AuditNote = "";
            }
            if (string.IsNullOrWhiteSpace(info.AuditNote))
            {
                info.AuditNote = temp.AuditNote + string.Format("时间:{0}。 操作:提交商检。 \n", DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss.fff"));
            }
            else
            {
                info.AuditNote = temp.AuditNote + string.Format("时间:{0}。 操作:提交商检。 备注:{1}。 \n", DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss.fff"), info.AuditNote);
            }

            return(ObjectFactory <IProductEntryInfoDA> .Instance.ToInspection(info));
        }
Пример #17
0
        public void ProductBatchEntry(List <int> productSysNoList, string Note, ProductEntryStatus entryStatus, ProductEntryStatusEx entryStatusEx)
        {
            if (productSysNoList == null || productSysNoList.Count < 1)
            {
                return;
            }
            else
            {
                List <BatchActionItem <int> > actionItemList = new List <BatchActionItem <int> >();
                foreach (int productsysno in productSysNoList)
                {
                    BatchActionItem <int> item = new BatchActionItem <int>();
                    item.Data = productsysno;
                    item.ID   = productsysno.ToString();
                    actionItemList.Add(item);
                }

                var resutl = BatchActionManager.DoBatchAction <int, BizException>(actionItemList, (productsysno) =>
                {
                    ProductEntryInfo entryInfo = new ProductEntryInfo();
                    entryInfo.ProductSysNo     = productsysno;
                    entryInfo.AuditNote        = Note;
                    switch (entryStatus)
                    {
                    case ProductEntryStatus.AuditFail:
                        {
                            ObjectFactory <ProductEntryInfoProcessor> .NewInstance().AuditFail(entryInfo);
                            break;
                        }

                    case ProductEntryStatus.AuditSucess:
                        {
                            ObjectFactory <ProductEntryInfoProcessor> .NewInstance().AuditSucess(entryInfo);
                            break;
                        }

                    default:
                        {
                            switch (entryStatusEx)
                            {
                            case ProductEntryStatusEx.Inspection:
                                {
                                    ObjectFactory <ProductEntryInfoProcessor> .NewInstance().ToInspection(entryInfo);
                                    break;
                                }

                            case ProductEntryStatusEx.InspectionFail:
                                {
                                    ObjectFactory <ProductEntryInfoProcessor> .NewInstance().InspectionFail(entryInfo);
                                    break;
                                }

                            case ProductEntryStatusEx.InspectionSucess:
                                {
                                    ObjectFactory <ProductEntryInfoProcessor> .NewInstance().InspectionSucess(entryInfo);
                                    break;
                                }

                            case ProductEntryStatusEx.Customs:
                                {
                                    ObjectFactory <ProductEntryInfoProcessor> .NewInstance().ToCustoms(entryInfo);
                                    break;
                                }

                            case ProductEntryStatusEx.CustomsFail:
                                {
                                    ObjectFactory <ProductEntryInfoProcessor> .NewInstance().CustomsFail(entryInfo);
                                    break;
                                }

                            case ProductEntryStatusEx.CustomsSuccess:
                                {
                                    ObjectFactory <ProductEntryInfoProcessor> .NewInstance().CustomsSuccess(entryInfo);
                                    break;
                                }
                            }
                            break;
                        }
                    }
                });
                if (string.IsNullOrWhiteSpace(resutl.PromptMessage))
                {
                    return;
                }
                else
                {
                    throw new BizException(resutl.PromptMessage);
                }
            }
        }
Пример #18
0
 /// <summary>
 /// 商检失败
 /// </summary>
 /// <param name="sysNo"></param>
 /// <returns></returns>
 public bool InspectionFail(ProductEntryInfo info)
 {
     return(ObjectFactory <ProductEntryInfoProcessor> .Instance.InspectionFail(info));
 }
Пример #19
0
        //public bool InsertEntryInfo(ProductEntryInfo entity)
        //{
        //    return ObjectFactory<ProductEntryInfoProcessor>.Instance.InsertEntryInfo(entity);
        //}

        public bool UpdateEntryInfo(ProductEntryInfo entity)
        {
            return(ObjectFactory <ProductEntryInfoProcessor> .Instance.UpdateEntryInfo(entity));
        }
Пример #20
0
 /// <summary>
 /// 申报商品失败(用于第三方回调处理)
 /// </summary>
 /// <param name="entryInfo"></param>
 /// <returns></returns>
 public bool ProductCustomsFail(ProductEntryInfo entryInfo)
 {
     return(ObjectFactory <IProductEntryInfoDA> .Instance.ProductCustomsFail(entryInfo));
 }
Пример #21
0
 /// <summary>
 /// 报关成功
 /// </summary>
 /// <param name="sysNo"></param>
 /// <returns></returns>
 public bool CustomsSuccess(ProductEntryInfo info)
 {
     return(ObjectFactory <ProductEntryInfoProcessor> .Instance.CustomsSuccess(info));
 }
Пример #22
0
        //public bool InsertEntryInfo(ProductEntryInfo entity)
        //{
        //    return _ProductEntryInfo.InsertEntryInfo(entity);
        //}

        public bool UpdateEntryInfo(ProductEntryInfo entity)
        {
            return(_ProductEntryInfo.UpdateEntryInfo(entity));
        }
Пример #23
0
 public bool UpdateEntryInfo(ProductEntryInfo entity)
 {
     return(ObjectFactory <ProductEntryInfoAppService> .Instance.UpdateEntryInfo(entity));
 }
Пример #24
0
        /// <summary>
        /// 加够商品转换为主商品
        /// </summary>
        /// <param name="productSysNo">商品编号</param>
        /// <param name="customerSysNo">用户编号</param>
        /// <returns></returns>
        private OrderItemGroup PlusPriceConvertToProduct(OrderGiftItem plusPrice, int customerSysNo)
        {
            OrderItemGroup   result      = new OrderItemGroup();
            OrderProductItem productItem = new OrderProductItem();

            productItem.ProductSysNo = plusPrice.ProductSysNo;

            //商品基础信息
            ProductBasicInfo basicInfo = PipelineDA.GetProductBasicInfoBySysNo(productItem.ProductSysNo);
            //商品备案信息
            ProductEntryInfo entryInfo = PipelineDA.GetProductEntryInfoBySysNo(productItem.ProductSysNo);

            basicInfo.ProductEntryInfo      = entryInfo;
            productItem["ProductStoreType"] = (int)entryInfo.ProductStoreType;
            //商品备货时间
            productItem["LeadTimeDays"] = basicInfo.ProductEntryInfo.LeadTimeDays;

            //商品销售信息
            ProductSalesInfo salesInfo = PipelineDA.GetProductSalesInfoBySysNo(productItem.ProductSysNo);

            productItem.ProductID         = basicInfo.Code;
            productItem.ProductName       = basicInfo.ProductName;
            productItem.Weight            = basicInfo.Weight;
            productItem["ProductTitle"]   = basicInfo.ProductTitle;
            productItem.DefaultImage      = basicInfo.DefaultImage;
            productItem.UnitMarketPrice   = salesInfo.MarketPrice;
            productItem.UnitCostPrice     = salesInfo.UnitCostPrice;
            productItem.UnitSalePrice     = plusPrice.UnitSalePrice;
            productItem.UnitRewardedPoint = 0;
            //productItem["TariffRate"] = basicInfo.ProductEntryInfo.TariffRate;
            productItem.TotalInventory       = salesInfo.OnlineQty;
            productItem.MerchantSysNo        = basicInfo.VendorSysno;
            productItem.MerchantName         = basicInfo.VendorInfo.VendorName;
            result.MerchantSysNo             = basicInfo.VendorSysno;
            result.MerchantName              = basicInfo.VendorInfo.VendorName;
            productItem["ProductStatus"]     = (int)basicInfo.ProductStatus;
            productItem["Warranty"]          = basicInfo.Warranty;
            productItem.WarehouseNumber      = plusPrice.WarehouseNumber;
            productItem.WarehouseName        = plusPrice.WarehouseName;
            productItem.WarehouseCountryCode = plusPrice.WarehouseCountryCode;

            salesInfo.MinCountPerOrder = salesInfo.OnlineQty < productItem.UnitQuantity ? salesInfo.OnlineQty : productItem.UnitQuantity;
            salesInfo.MaxCountPerOrder = salesInfo.OnlineQty < productItem.UnitQuantity ? salesInfo.OnlineQty : productItem.UnitQuantity;

            productItem["MinCountPerOrder"] = productItem.UnitQuantity;
            productItem["MaxCountPerOrder"] = productItem.UnitQuantity;

            result.MinCountPerSO = productItem.UnitQuantity;
            result.MaxCountPerSO = productItem.UnitQuantity;
            result.MerchantSysNo = productItem.MerchantSysNo;
            result.MerchantName  = productItem.MerchantName;
            result.PackageNo     = 0;
            result.PackageType   = 0;
            result.Quantity      = 1;

            //商品分组属性
            List <ProductSplitGroupProperty> splitGroupProperty = PipelineDA.GetProductSplitGroupPropertyList(productItem.ProductSysNo);

            if (splitGroupProperty != null && splitGroupProperty.Count > 0)
            {
                productItem.SplitGroupPropertyDescList = new List <KeyValuePair <string, string> >();
                foreach (ProductSplitGroupProperty property in splitGroupProperty)
                {
                    productItem.SplitGroupPropertyDescList.Add(new KeyValuePair <string, string>(property.PropertyDescription, property.ValueDescription));
                }
            }
            result.ProductItemList = new List <OrderProductItem>();
            result.ProductItemList.Add(productItem);

            return(result);
        }
Пример #25
0
 public bool ToCustoms(ProductEntryInfo info)
 {
     return(ObjectFactory <ProductEntryInfoAppService> .Instance.ToCustoms(info));
 }
Пример #26
0
 public bool InspectionFail(ProductEntryInfo info)
 {
     return(ObjectFactory <ProductEntryInfoAppService> .Instance.InspectionFail(info));
 }
Пример #27
0
 public bool AuditSucess(ProductEntryInfo info)
 {
     return(ObjectFactory <ProductEntryInfoAppService> .Instance.AuditSucess(info));
 }