public void GivenMemberSalaryEntity_WhenCallGetGetMonthlyExpense_ShouldReturnValue(decimal amount, FrequencyIds frequencyId, decimal expectedResult)
        {
            // assign
            var memberExpensive = new MemberSalary
            {
                Amount         = amount,
                PayFrequencyId = (long)frequencyId
            };

            // act
            var result = memberExpensive.GetMonthlySalary();

            //  assert
            result.ShouldBe(expectedResult);
        }
Beispiel #2
0
 public static Member CreateMember(long id,
                                   IEnumerable <MemberAccount> memberAccounts,
                                   MemberExpense memberExpense,
                                   MemberSalary memberSalary,
                                   string name  = "jack",
                                   string email = null
                                   )
 {
     email ??= $"{Guid.NewGuid()}@zip.test.com";
     memberAccounts ??= new MemberAccount[] { };
     memberExpense ??= CreateMemberExpense(id + 10, id, FrequencyIds.Month);
     memberSalary ??= CreateMemberSalary(id + 100, id, FrequencyIds.Month);
     return(new Member
     {
         Id = id,
         MemberAccounts = memberAccounts.ToArray(),
         MemberExpense = memberExpense,
         MemberSalary = memberSalary,
         ModifiedOn = DateTime.UtcNow,
         CreatedOn = DateTime.UtcNow,
         Name = name,
         Email = email
     });
 }
Beispiel #3
0
        /// <summary>
        /// 保存数据
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private async void Btn_Save_ClickAnsyc(object sender, RoutedEventArgs e)
        {
            int AddedCount = 0;
            List <Lib.MemberSalary> MemberSalaries = new List <MemberSalary>();

            for (int i = 0; i < _CurViewModel.SalaryJArray.Count; i++)
            {
                JToken           TempJtoken    = _CurViewModel.SalaryJArray[i];
                Lib.MemberSalary TempSalary    = new MemberSalary();
                PropertyInfo[]   propertyInfos = TempSalary.GetType().GetProperties();
                foreach (PropertyInfo item in propertyInfos)
                {
                    if (_CurViewModel.NamesEnCn.Keys.Contains(item.Name))
                    {
                        if (item.Name.Equals("PayYear") || item.Name.Equals("PayMonth"))
                        {
                            if (int.TryParse(TempJtoken[_CurViewModel.NamesEnCn[item.Name]].ToString(), out int CurNumValue))
                            {
                                item.SetValue(TempSalary, CurNumValue);
                            }
                            continue;
                        }
                        if (item.Name.Equals("UpDateTime"))
                        {
                            if (DateTime.TryParse(TempJtoken[_CurViewModel.NamesEnCn[item.Name]].ToString(), out DateTime CurDateValue))
                            {
                                item.SetValue(TempSalary, CurDateValue);
                            }
                            continue;
                        }
                        item.SetValue(TempSalary, TempJtoken[_CurViewModel.NamesEnCn[item.Name]].ToString());
                        continue;
                    }
                    if (item.Name.Equals("NameAndAmount"))
                    {
                        for (int ik = 0; ik < _CurViewModel.SalaryItems.Count; ik++)
                        {
                            if (float.TryParse(TempJtoken[_CurViewModel.SalaryItems[ik].Name].ToString(), out float CurFloatValue))
                            {
                                _CurViewModel.SalaryItems[ik].Amount = CurFloatValue;
                            }
                            else
                            {
                                AppFuns.ShowMessage($"“{TempJtoken[_CurViewModel.SalaryItems[ik].Name].ToString()}”应为金额!");
                                return;
                            }
                        }
                        string SalaryJsonStr = JsonConvert.SerializeObject(_CurViewModel.SalaryItems);
                        item.SetValue(TempSalary, SalaryJsonStr);
                    }
                }
                if (string.IsNullOrWhiteSpace(TempSalary.UserId))
                {
                    TempSalary.UserId = AppSet.LoginUser.Id;
                }

                MemberSalaries.Add(TempSalary);
            }
            foreach (Lib.MemberSalary TempSalary in MemberSalaries)
            {
                ExcuteResult excuteResult = await DataMemberSalaryRepository.AddOrUpdate(TempSalary).ConfigureAwait(false);

                if (excuteResult.State == 0)
                {
                    JToken TempJtoken = _CurViewModel.SalaryJArray.Where(x => x["身份证号"].ToString().Equals(TempSalary.MemberId)).FirstOrDefault();
                    if (TempJtoken != null)
                    {
                        TempJtoken["编号"] = excuteResult.Tag;
                    }
                    AddedCount++;
                }
            }

            if (AddedCount > 0)
            {
                if (AddedCount == _CurViewModel.SalaryJArray.Count)
                {
                    AppFuns.ShowMessage("数据保存成功");
                }
                else
                {
                    AppFuns.ShowMessage($"数据部分保存成功{AddedCount}/{_CurViewModel.SalaryJArray.Count}");
                }
            }
            else
            {
                AppFuns.ShowMessage("数据保存失败!");
            }
        }