// Token: 0x060011CE RID: 4558 RVA: 0x0004A490 File Offset: 0x00048690
        public Exception InitializeHealthInfoFromXML()
        {
            DbCopyHealthInfoInternalTable.Tracer.TraceDebug <string>((long)this.GetHashCode(), "InitializeHealthInfoFromXML: Initializing the health info table from file '{0}'", this.m_filePath);
            HealthInfoPersisted healthInfoPersisted;
            Exception           ex = DataContractSerializeHelper.DeserializeFromXmlFile <HealthInfoPersisted>(this.m_filePath, out healthInfoPersisted);

            if (ex == null)
            {
                DbCopyHealthInfoInternalTable.Tracer.TraceDebug((long)this.GetHashCode(), "InitializeHealthInfoFromXML: Successfully deserialized the XML file.");
                DateTime lastUpdateTimeUtc = healthInfoPersisted.GetLastUpdateTimeUtc();
                TimeSpan timeSpan          = DateTimeHelper.SafeSubtract(DateTime.UtcNow, lastUpdateTimeUtc);
                if (timeSpan > DatabaseHealthTracker.LastUpdateTimeDiffThreshold)
                {
                    DbCopyHealthInfoInternalTable.Tracer.TraceError <TimeSpan, TimeSpan, DateTime>((long)this.GetHashCode(), "InitializeHealthInfoFromXML: The file was last modified too long ago at '{2}'! lastUpdateTimeDiff = '{0}', Threshold = '{1}'", timeSpan, DatabaseHealthTracker.LastUpdateTimeDiffThreshold, lastUpdateTimeUtc);
                    ReplayCrimsonEvents.DHTInitFromFileTooOld.Log <DateTime, TimeSpan, TimeSpan>(lastUpdateTimeUtc, timeSpan, DatabaseHealthTracker.LastUpdateTimeDiffThreshold);
                }
                this.InitializeFromHealthInfoPersisted(healthInfoPersisted);
                return(null);
            }
            this.CreateTimeUtc = DateTime.UtcNow;
            this.IsFileNotReadAtInitialization = true;
            if (ex is FileNotFoundException || ex is DirectoryNotFoundException)
            {
                DbCopyHealthInfoInternalTable.Tracer.TraceDebug((long)this.GetHashCode(), "InitializeHealthInfoFromXML: Initialization of health info table will be skipped because the XML file was not found.");
                DbCopyHealthInfoInternalTable.Tracer.TraceDebug <DateTime>((long)this.GetHashCode(), "A new health table is possibly being created. CreateTimeUtc = {0}", this.CreateTimeUtc);
                ReplayCrimsonEvents.DHTInitFileNotFound.Log <string>(this.m_filePath);
                return(null);
            }
            DbCopyHealthInfoInternalTable.Tracer.TraceError <Exception>((long)this.GetHashCode(), "InitializeHealthInfoFromXML: Initialization of health info table failed because the XML file could not be deserialized. Error: {0}", ex);
            return(ex);
        }
Ejemplo n.º 2
0
        /// <summary>
        /// 为当前表单绑定的实体对象注入默认值.
        /// </summary>
        /// <param name="currentEntity">当前表单绑定的实体对象</param>
        /// <param name="clientRuleCfg">配置</param>
        protected void PopulateDefaultValue(object currentEntity, IClientRuleConfig clientRuleCfg)
        {
            var filePath = GetDefaultValueFilePath(currentEntity);
            // 读取需要保存默认值的列
            var defaultValueColumns = clientRuleCfg.UIRuleXmlConfigInfo.GetDefaultColumns().Where(kv => kv.Value.SaveDefaultValue).Select(kv => kv.Value).ToList();

            //读取编辑列的配置信息
            Dictionary <string, MB.WinBase.Common.ColumnEditCfgInfo> editColumnCfg =
                clientRuleCfg.UIRuleXmlConfigInfo.ColumnsCfgEdit;


            if (defaultValueColumns.Count > 0)
            {
                if (File.Exists(filePath))
                {
                    var entity = DataContractSerializeHelper.Deserialize(currentEntity.GetType(), File.ReadAllText(filePath));

                    foreach (var column in defaultValueColumns)
                    {
                        var value = MyReflection.Instance.InvokePropertyForGet(entity, column.Name);

                        if (value != null)
                        {
                            MyReflection.Instance.InvokePropertyForSet(currentEntity, column.Name, value);
                        }
                    }
                }
            }
        }
        // Token: 0x060011CC RID: 4556 RVA: 0x0004A2F0 File Offset: 0x000484F0
        public Exception PersistHealthInfoToXml()
        {
            DbCopyHealthInfoInternalTable.Tracer.TraceDebug <string>((long)this.GetHashCode(), "DatabaseHealthTracker: Writing out the health info to file '{0}'", this.m_filePath);
            HealthInfoPersisted toSerialize = this.ConvertToHealthInfoPersisted();
            Exception           ex          = DataContractSerializeHelper.SerializeToXmlFile(toSerialize, this.m_filePath);

            DbCopyHealthInfoInternalTable.Tracer.TraceDebug <string, Exception>((long)this.GetHashCode(), "DatabaseHealthTracker: Finished writing out the health info to file '{0}'. Exception: {1}", this.m_filePath, ex);
            return(ex);
        }
Ejemplo n.º 4
0
        protected override void SerializeAdditionalProperties()
        {
            SeedCiFileRequestPayload toSerialize = new SeedCiFileRequestPayload(this.endpoint, this.reason);
            string    str;
            Exception ex = DataContractSerializeHelper.SerializeToXmlString(toSerialize, out str);

            if (ex != null)
            {
                throw new SeederServerException(ex.Message, ex);
            }
            base.Packet.Append(str);
        }
Ejemplo n.º 5
0
        /// <summary>
        /// Если недоступен generic-метод
        /// </summary>
        /// <param name="reader"></param>
        /// <param name="type"></param>
        /// <returns></returns>
        private object FillFromReader(Type type, IDataReader reader)
        {
            Type resType = Nullable.GetUnderlyingType(type) ?? type;

            if (IsSimple(resType))
            {
                return(ReadSimple(type, reader));
            }
            var res = resType.GetConstructor(new Type[] { }).Invoke(new object[] { });

            foreach (var propertyInfo in type.GetProperties())
            {
                var propName = propertyInfo.Name;
                if (!CheckColumnExists(reader, propName))
                {
                    continue;
                }
                var dbValue = reader[propName];
                if (dbValue is DBNull)
                {
                    propertyInfo.SetValue(res, null);
                    continue;
                }
                bool isJson = propertyInfo.PropertyType == typeof(Dictionary <string, string>);
                if (isJson)
                {
                    var dict = DataContractSerializeHelper.DeserializeJson(Convert.ToString(dbValue));
                    propertyInfo.SetValue(res, dict);
                }
                else if (propertyInfo.PropertyType.IsEnum)
                {
                    var value = Enum.Parse(propertyInfo.PropertyType, Convert.ToString(dbValue));
                    propertyInfo.SetValue(res, value);
                }
                else
                {
                    Type t = Nullable.GetUnderlyingType(propertyInfo.PropertyType) ?? propertyInfo.PropertyType;
                    if (t.IsEnum)
                    {
                        var value = Enum.Parse(t, Convert.ToString(dbValue));
                        propertyInfo.SetValue(res, value);
                    }
                    else
                    {
                        object safeValue = Convert.ChangeType(dbValue, t);
                        propertyInfo.SetValue(res, safeValue);
                    }
                }
            }
            return(res);
        }
Ejemplo n.º 6
0
        internal SeedCiFileRequest2(NetworkChannel channel, byte[] packetContent) : base(channel, NetworkChannelMessage.MessageType.SeedCiFileRequest2, packetContent)
        {
            string xml = base.Packet.ExtractString();
            SeedCiFileRequestPayload seedCiFileRequestPayload;
            Exception ex = DataContractSerializeHelper.DeserializeFromXmlString <SeedCiFileRequestPayload>(xml, out seedCiFileRequestPayload);

            if (ex != null)
            {
                ReplayCrimsonEvents.CISeedingSourceBeginFailed.Log <Guid, string, string, Exception>(base.DatabaseGuid, string.Empty, base.Channel.PartnerNodeName, ex);
                SeederServerContext.ProcessSourceSideException(ex, base.Channel);
                return;
            }
            this.endpoint = seedCiFileRequestPayload.Endpoint;
            this.reason   = seedCiFileRequestPayload.Reason;
        }
Ejemplo n.º 7
0
        protected void FillParams(IDictionary <string, object> dictionary, DbCommand cmd, Database db)
        {
            var inParams =
                cmd.Parameters.Cast <DbParameter>()
                .Where(x => x.Direction == ParameterDirection.Input || x.Direction == ParameterDirection.InputOutput)
                .ToArray();

            if (!inParams.Any())
            {
                return;
            }
            if (inParams.Count() > dictionary.Count)
            {
                throw new Exception("param count");
            }
            foreach (DbParameter parameter in inParams)
            {
                string paramName  = parameter.ParameterName.Replace("@", "");
                var    paramValue = dictionary[paramName];
                if (paramValue is IEnumerable <string> ||
                    paramValue is IEnumerable <int> ||
                    paramValue is IEnumerable <KeyValuePair <int, string> > )
                {
                    SetCollectionParameterValue(cmd, db, parameter, (IEnumerable)paramValue);
                }
                else if (paramValue is Dictionary <string, string> )
                {
                    string jsonValue = DataContractSerializeHelper.SerializeJson((Dictionary <string, string>)paramValue);
                    db.SetParameterValue(cmd, paramName, jsonValue);
                }
                else
                {
                    db.SetParameterValue(cmd, paramName, paramValue);
                }
            }

            var outParams =
                cmd.Parameters.Cast <DbParameter>()
                .Where(x => x.Direction == ParameterDirection.Output)
                .ToArray();

            foreach (var parameter in outParams)
            {
                string paramName = parameter.ParameterName.Replace("@", "");
                db.SetParameterValue(cmd, paramName, null);
            }
        }
Ejemplo n.º 8
0
        /// <summary>
        /// 接收消息
        /// </summary>
        /// <param name="message"></param>
        public static void SetSceneState(Data.ActivityMessage message)
        {
            if (message == null)
            {
                return;
            }

            if (message.MessageType == "ClientOnline")
            {
                try
                {
                    ClientInfo info = DataContractSerializeHelper.DeSerialize <ClientInfo>(message.Content);
                    Obj.SetGroupStateToMap(info, true);
                }
                catch
                {
                }
            }
            if (message.MessageType == "ClientOffline")
            {
                ClientInfo info = new ClientInfo()
                {
                    GroupGuid = message.AssistantInfo
                };
                Obj.SetGroupStateToMap(info, false);
            }
            if (message.MessageType == "Task")
            {
                Obj.taskData.Begin();
            }
            if (message.MessageType == "TaskExecuteConclusion")
            {
                TaskExecuteConclusion info = DataContractSerializeHelper.DeSerialize <TaskExecuteConclusion>(message.Content);
                Obj.taskData.Begin();
            }
        }
Ejemplo n.º 9
0
        static BaseShopService()
        {
            Mapper.CreateMap <Manufacturer, Data.Models.Manufacturer>();
            Mapper.CreateMap <Data.Models.Manufacturer, Manufacturer>()
            .ForMember(x => x.Country, x => x.Ignore())
            .ForMember(x => x.CanonicalUrl, x => x.Ignore())
            .ForMember(x => x.CreationDate, x => x.Ignore())
            .ForMember(x => x.RelativeUrl, x => x.Ignore())
            .ForMember(x => x.ParentHeartId, x => x.Ignore())
            .ForMember(x => x.BreadcrumbsTitle, x => x.Ignore())
            .ForMember(x => x.Noindex, x => x.Ignore())
            .ForMember(x => x.Title, x => x.Ignore())
            .ForMember(x => x.MetaDescription, x => x.Ignore())
            .ForMember(x => x.MetaKeywords, x => x.Ignore())
            .ForMember(x => x.Styles, x => x.Ignore())
            .ForMember(x => x.Scripts, x => x.Ignore())
            .ForMember(x => x.Layout, x => x.Ignore())
            .ForMember(x => x.AdditionalHeaders, x => x.Ignore())
            .ForMember(x => x.Options, x => x.Ignore())
            .ForMember(x => x.State, x => x.Ignore());

            Mapper.CreateMap <Spec, Data.Models.Spec>();
            Mapper.CreateMap <Data.Models.Spec, Spec>();

            Mapper.CreateMap <RoCMS.Data.Models.Country, Country>(); //TODO: перенести в ядро
            Mapper.CreateMap <Country, RoCMS.Data.Models.Country>();

            Mapper.CreateMap <Category, Data.Models.Category>();
            Mapper.CreateMap <Data.Models.Category, Category>()
            .ForMember(x => x.OrderFormSpecs, x => x.Ignore())
            .ForMember(x => x.ChildrenCategories, x => x.Ignore())
            .ForMember(x => x.ParentCategory, x => x.Ignore())
            .ForMember(x => x.CanonicalUrl, x => x.Ignore())
            .ForMember(x => x.CreationDate, x => x.Ignore())
            .ForMember(x => x.RelativeUrl, x => x.Ignore())
            .ForMember(x => x.ParentHeartId, x => x.Ignore())
            .ForMember(x => x.BreadcrumbsTitle, x => x.Ignore())
            .ForMember(x => x.Noindex, x => x.Ignore())
            .ForMember(x => x.Title, x => x.Ignore())
            .ForMember(x => x.MetaDescription, x => x.Ignore())
            .ForMember(x => x.MetaKeywords, x => x.Ignore())
            .ForMember(x => x.Styles, x => x.Ignore())
            .ForMember(x => x.Scripts, x => x.Ignore())
            .ForMember(x => x.Layout, x => x.Ignore())
            .ForMember(x => x.AdditionalHeaders, x => x.Ignore())
            .ForMember(x => x.Options, x => x.Ignore())
            .ForMember(x => x.State, x => x.Ignore());

            Mapper.CreateMap <Data.Models.Category, IdNamePair <int> >()
            .ForMember(x => x.ID, x => x.MapFrom(y => y.HeartId))
            .ForMember(x => x.Name, x => x.MapFrom(y => y.Name));

            Mapper.CreateMap <PickupPointInfo, PickUpPoint>();
            Mapper.CreateMap <PickUpPoint, PickupPointInfo>();

            Mapper.CreateMap <Dimension, Data.Models.Dimension>();
            Mapper.CreateMap <Data.Models.Dimension, Dimension>();
            Mapper.CreateMap <Pack, Data.Models.Pack>();
            Mapper.CreateMap <Data.Models.Pack, Pack>()
            .ForMember(x => x.Dimension, x => x.Ignore());

            Mapper.CreateMap <CompatibleSet, Data.Models.CompatibleSet>();
            Mapper.CreateMap <Data.Models.CompatibleSet, CompatibleSet>()
            .ForMember(x => x.CompatibleGoods, x => x.Ignore());

            Mapper.CreateMap <GoodsReview, Data.Models.GoodsReview>();
            Mapper.CreateMap <Data.Models.GoodsReview, GoodsReview>()
            .ForMember(x => x.GoodsItem, x => x.Ignore());

            Mapper.CreateMap <GoodsPack, Data.Models.GoodsPack>()
            .ForMember(x => x.PackId, x => x.MapFrom(y => y.PackInfo.PackId));
            Mapper.CreateMap <Data.Models.GoodsPack, GoodsPack>()
            .ForMember(x => x.PackInfo, x => x.Ignore());

            Mapper.CreateMap <SpecValue, GoodsSpec>()
            .ForMember(x => x.SpecId, x => x.MapFrom(y => y.Spec.SpecId));
            Mapper.CreateMap <GoodsSpec, SpecValue>()
            .ForMember(x => x.Spec, x => x.Ignore());

            Mapper.CreateMap <Action, Data.Models.Action>();
            Mapper.CreateMap <Data.Models.Action, Action>()
            .ForMember(x => x.Goods, x => x.Ignore())
            .ForMember(x => x.Manufacturers, x => x.Ignore())
            .ForMember(x => x.Categories, x => x.Ignore())
            .ForMember(x => x.CanonicalUrl, x => x.Ignore())
            .ForMember(x => x.CreationDate, x => x.Ignore())
            .ForMember(x => x.RelativeUrl, x => x.Ignore())
            .ForMember(x => x.ParentHeartId, x => x.Ignore())
            .ForMember(x => x.BreadcrumbsTitle, x => x.Ignore())
            .ForMember(x => x.Noindex, x => x.Ignore())
            .ForMember(x => x.Title, x => x.Ignore())
            .ForMember(x => x.MetaDescription, x => x.Ignore())
            .ForMember(x => x.MetaKeywords, x => x.Ignore())
            .ForMember(x => x.Styles, x => x.Ignore())
            .ForMember(x => x.Scripts, x => x.Ignore())
            .ForMember(x => x.Layout, x => x.Ignore())
            .ForMember(x => x.AdditionalHeaders, x => x.Ignore())
            .ForMember(x => x.Options, x => x.Ignore())
            .ForMember(x => x.State, x => x.Ignore());

            Mapper.CreateMap <GoodsFilter, Data.Models.GoodsFilter>()
            .ForMember(x => x.WithSubcategories, x => x.MapFrom(y => y.ClientMode ?? false))
            .ForMember(x => x.SpecIds, x => x.MapFrom(y => y.SpecIdValues))
            .ForMember(x => x.PackIds, x => x.MapFrom(y => y.Packs));

            Mapper.CreateMap <Data.Models.Currency, Currency>();
            Mapper.CreateMap <Currency, Data.Models.Currency>();

            Mapper.CreateMap <RegularCustomerDiscount, RegularClientDiscount>();
            Mapper.CreateMap <RegularClientDiscount, RegularCustomerDiscount>();

            Mapper.CreateMap <Data.Models.Client, Client>()
            .ForMember(x => x.Address,
                       x => x.MapFrom(y => DataContractSerializeHelper.Deserialize <Address>(y.Address) ?? new Address()));
            Mapper.CreateMap <Client, Data.Models.Client>()
            .ForMember(x => x.Address,
                       x => x.MapFrom(y => DataContractSerializeHelper.SerializeToXmlString(y.Address)));


            Mapper.CreateMap <PickUpPoint, PickupPointInfo>();
            Mapper.CreateMap <PickupPointInfo, PickUpPoint>();


            Mapper.CreateMap <GoodsItem, Data.Models.GoodsItem>()
            .ForMember(x => x.Deleted, x => x.Ignore())
            .ForMember(x => x.SearchDescription, x => x.Ignore());

            //TODO: повторяется куча полей в списке
            Mapper.CreateMap <Data.Models.GoodsItem, GoodsItem>()
            .ForMember(x => x.Images, x => x.Ignore())
            .ForMember(x => x.Categories, x => x.Ignore())
            .ForMember(x => x.GoodsSpecs, x => x.Ignore())
            .ForMember(x => x.Packs, x => x.Ignore())
            .ForMember(x => x.CompatibleGoods, x => x.Ignore())
            .ForMember(x => x.Actions, x => x.Ignore())
            .ForMember(x => x.MainCurrPrice, x => x.Ignore())
            .ForMember(x => x.MainCurrDiscountedPrice, x => x.Ignore())
            .ForMember(x => x.DisplayPrice, x => x.Ignore())
            .ForMember(x => x.HasDiscount, x => x.Ignore())
            .ForMember(x => x.Discount, x => x.Ignore())
            .ForMember(x => x.DiscountedPrice, x => x.Ignore())
            .ForMember(x => x.DisplayDiscountedPrice, x => x.Ignore())
            .ForMember(x => x.HasPacks, x => x.Ignore())
            .ForMember(x => x.Manufacturer, x => x.Ignore())
            .ForMember(x => x.Supplier, x => x.Ignore())
            .ForMember(x => x.Currency1, x => x.Ignore())
            .ForMember(x => x.BasePack, x => x.Ignore())
            .ForMember(x => x.CanonicalUrl, x => x.Ignore())
            .ForMember(x => x.Rating, x => x.Ignore())
            .ForMember(x => x.CreationDate, x => x.Ignore())
            .ForMember(x => x.RelativeUrl, x => x.Ignore())
            .ForMember(x => x.ParentHeartId, x => x.Ignore())
            .ForMember(x => x.BreadcrumbsTitle, x => x.Ignore())
            .ForMember(x => x.Noindex, x => x.Ignore())
            .ForMember(x => x.Title, x => x.Ignore())
            .ForMember(x => x.MetaDescription, x => x.Ignore())
            .ForMember(x => x.MetaKeywords, x => x.Ignore())
            .ForMember(x => x.Styles, x => x.Ignore())
            .ForMember(x => x.Scripts, x => x.Ignore())
            .ForMember(x => x.Layout, x => x.Ignore())
            .ForMember(x => x.AdditionalHeaders, x => x.Ignore())
            .ForMember(x => x.Categories, x => x.Ignore())
            .ForMember(x => x.CanonicalUrl, x => x.Ignore())
            .ForMember(x => x.Options, x => x.Ignore())
            .ForMember(x => x.State, x => x.Ignore());

            Mapper.CreateMap <CartItem, GoodsInOrder>()
            .ForMember(x => x.OrderId, x => x.Ignore())
            .ForMember(x => x.Id, x => x.Ignore())
            .ForMember(x => x.Price, x => x.MapFrom(y => y.DiscountedPrice))
            .ForMember(x => x.HeartId, x => x.MapFrom(y => y.GoodsItem.HeartId));
            Mapper.CreateMap <CartItem, Contract.Models.GoodsInOrder>()
            .ForMember(x => x.OrderId, x => x.Ignore())
            .ForMember(x => x.Id, x => x.Ignore())
            .ForMember(x => x.Price, x => x.MapFrom(y => y.DiscountedPrice))
            .ForMember(x => x.HeartId, x => x.MapFrom(y => y.GoodsItem.HeartId))
            .ForMember(x => x.Pack, x => x.MapFrom(y => y.Pack.PackInfo))
            .ForMember(x => x.Goods, x => x.MapFrom(y => y.GoodsItem));

            Mapper.CreateMap <RoCMS.Shop.Contract.Models.GoodsInOrder, GoodsInOrder>();
            Mapper.CreateMap <GoodsInOrder, RoCMS.Shop.Contract.Models.GoodsInOrder>()
            .ForMember(x => x.Pack, x => x.Ignore())
            .ForMember(x => x.Goods, x => x.Ignore());

            Mapper.CreateMap <CartItem, Data.Models.CartItem>();
            Mapper.CreateMap <Data.Models.CartItem, CartItem>()
            .ForMember(x => x.GoodsItem, x => x.Ignore());

            Mapper.CreateMap <FavouriteItem, Data.Models.FavouriteItem>();
            Mapper.CreateMap <Data.Models.FavouriteItem, FavouriteItem>()
            .ForMember(x => x.Item, x => x.Ignore());

            Mapper.CreateMap <Cart, Data.Models.Cart>();
            Mapper.CreateMap <Data.Models.Cart, Cart>()
            .ForMember(x => x.CartItems, x => x.Ignore());

            Mapper.CreateMap <Order, Data.Models.Order>()
            .ForMember(x => x.Address, x => x.ResolveUsing(y =>
            {
                var address = new Address()
                {
                    Appartment  = y.Appartment,
                    City        = y.City,
                    Street      = y.Street,
                    FrontNumber = y.FrontNumber,
                    House       = y.House,
                    HouseIndex  = y.HouseIndex,
                    Metro       = y.Metro,
                    PostCode    = y.PostCode,
                    Floor       = y.Floor,
                    Intercom    = y.Intercom
                };
                string addressString = DataContractSerializeHelper.SerializeToXmlString(address);
                return(addressString);
            }));

            Mapper.CreateMap <Data.Models.Order, Order>()
            .ConvertUsing(order => {
                var address      = DataContractSerializeHelper.Deserialize <Address>(order.Address);
                ShipmentType st  = Mapper.Map <ShipmentType>(order.ShipmentType);
                OrderState state = Mapper.Map <OrderState>(order.State);
                PaymentType pt   = Mapper.Map <PaymentType>(order.PaymentType);
                PaymentState?ps  = order.PaymentState.HasValue
                        ? (PaymentState?)Mapper.Map <PaymentState>(order.PaymentState.Value)
                        : null;

                var result = new Order()
                {
                    ClientId      = order.ClientId,
                    Comment       = order.Comment,
                    AdminComment  = order.AdminComment,
                    CreationDate  = order.CreationDate,
                    OrderId       = order.OrderId,
                    ShipmentDate  = order.ShipmentDate,
                    ShipmentType  = st,
                    State         = state,
                    PickUpPointId = order.PickUpPointId,
                    DeliveryPrice = order.DeliveryPrice,
                    TotalDiscount = order.TotalDiscount,
                    PaymentType   = pt,
                    PaymentState  = ps
                };
                if (address != null)
                {
                    result.Appartment  = address.Appartment;
                    result.City        = address.City;
                    result.Street      = address.Street;
                    result.FrontNumber = address.FrontNumber;
                    result.House       = address.House;
                    result.HouseIndex  = address.HouseIndex;
                    result.Metro       = address.Metro;
                    result.PostCode    = address.PostCode;
                    result.Floor       = address.Floor;
                    result.Intercom    = address.Intercom;
                }
                return(result);
            });

            Mapper.CreateMap <ExportTask, ShopDbExportTask>();
            Mapper.CreateMap <ShopDbExportTask, ExportTask>();

            Mapper.CreateMap <Contract.Models.MassPriceChangeTask, Data.Models.MassPriceChangeTask>();
            Mapper.CreateMap <Data.Models.MassPriceChangeTask, Contract.Models.MassPriceChangeTask>();
            Mapper.AssertConfigurationIsValid();
        }
Ejemplo n.º 10
0
        /// <summary>
        /// 保存默认值
        /// </summary>
        /// <param name="bindingSource">当前编辑窗口数据绑定</param>
        /// <param name="clientRuleCfg">配置</param>
        protected void SaveDefaultValue(BindingSourceEx bindingSource, IClientRuleConfig clientRuleCfg)
        {
            if (bindingSource.Current != null)
            {
                // 保存为默认值
                var defaultValueColumns = clientRuleCfg.UIRuleXmlConfigInfo.GetDefaultColumns().Where(kv => kv.Value.SaveDefaultValue).Select(kv => kv.Value).ToList();

                if (defaultValueColumns.Count > 0)
                {
                    try
                    {
                        File.WriteAllText(GetDefaultValueFilePath(bindingSource.Current), DataContractSerializeHelper.Serialize(bindingSource.Current.GetType(), bindingSource.Current));
                    }
                    catch (Exception e)
                    {
                        MessageBox.Show("保存默认值出错." + e.Message);
                    }
                }
            }
        }