/// <summary>
        ///  新增记录
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private async void BtnAddClickAsync(object sender, RoutedEventArgs e)
        {
            Lib.MemberPrizePunishEntity NewRecord = new Lib.MemberPrizePunishEntity()
            {
                MemberId = _UCPrizePunishVM.CurMember.Id,
                UserId   = AppSet.LoginUser.Id
            };

            UC_PrizePunishWin AddWin = new UC_PrizePunishWin(NewRecord);

            AddWin.Owner = AppSet.AppMainWindow;

            if (AddWin.ShowDialog().Value)
            {
                IEnumerable <MemberPrizePunishDto> MemberPlayMonths = await DataMemberPrizePunishRepository.GetRecords(new MemberPrizePunishSearch()
                {
                    MemberId = NewRecord.MemberId,
                    UserId   = NewRecord.UserId
                });

                ExcuteResult excuteResult = await DataMemberPrizePunishRepository.AddRecord(NewRecord);

                if (excuteResult.State == 0)
                {
                    NewRecord.Id = excuteResult.Tag;
                    _UCPrizePunishVM.CurRecords.Add(NewRecord);
                }
                else
                {
                    AppFuns.ShowMessage(excuteResult.Msg, Caption: "失败");
                }
            }
        }
        /// <summary>
        /// 编辑一条记录
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private async void BtnEditClickAsync(object sender, RoutedEventArgs e)
        {
            if (RecordListBox.SelectedItem is Lib.MemberPrizePunishEntity SelectedRec)
            {
                Lib.MemberPrizePunishEntity RecCloneObj = CloneObject <Lib.MemberPrizePunishEntity, Lib.MemberPrizePunishEntity> .Trans(SelectedRec);

                UC_PrizePunishWin AddWin = new UC_PrizePunishWin(RecCloneObj);
                AddWin.Owner = AppSet.AppMainWindow;

                if (AddWin.ShowDialog().Value)
                {
                    ExcuteResult excuteResult = await DataMemberPrizePunishRepository.UpdateRecord(RecCloneObj);

                    if (excuteResult != null && excuteResult.State == 0)
                    {
                        PropertyInfo[] TargetAttris = SelectedRec.GetType().GetProperties();
                        PropertyInfo[] SourceAttris = RecCloneObj.GetType().GetProperties();
                        foreach (PropertyInfo item in SourceAttris)
                        {
                            var tempObj = TargetAttris.Where(x => x.Name.Equals(item.Name, StringComparison.Ordinal)).FirstOrDefault();
                            if (tempObj != null)
                            {
                                item.SetValue(SelectedRec, item.GetValue(RecCloneObj));
                            }
                        }
                    }
                    else
                    {
                        AppFuns.ShowMessage(excuteResult.Msg, Caption: "失败");
                    }
                }
            }
        }
Пример #3
0
 public UC_PrizePunishWin(Lib.MemberPrizePunishEntity ParamRecord)
 {
     InitializeComponent();
     this.Owner     = AppSet.AppMainWindow;
     _CurRecord     = ParamRecord;
     _MemberSetting = AppSet.ServerSetting;
     DataContext    = this;
 }
        /// <summary>
        /// 删除一个实体
        /// </summary>
        /// <param name="PEntity"></param>
        /// <returns></returns>
        public static async Task <ExcuteResult> DeleteRecord(Lib.MemberPrizePunishEntity PEntity)
        {
            ExcuteResult JsonResult = await DataApiRepository.DeleteApiUri <ExcuteResult>(_ApiUrlBase + "DeleteEntity/" + PEntity.Id).ConfigureAwait(false);

            return(JsonResult);
        }
        /// <summary>
        /// 更新信息(采用PUT)
        /// </summary>
        /// <param name="PEntity"></param>
        /// <returns></returns>
        public static async Task <ExcuteResult> UpdateRecord(Lib.MemberPrizePunishEntity PEntity)
        {
            ExcuteResult JsonResult = await DataApiRepository.PutApiUriAsync(_ApiUrlBase + "UpdateEntity", PEntity).ConfigureAwait(false);

            return(JsonResult);
        }