public async Task Add(WageInputDto input) { if (input.StartTime > input.EndTime) { throw new HttpResponseException(new HttpResponseMessage() { Content = new StringContent(JsonConvert.SerializeObject(new ResponseApi() { Code = EExceptionType.Implement, Message = "开始时间不能大于结束时间" })) }); } var data = await db.Wages.SingleOrDefaultAsync(m => m.StartTime <= input.StartTime && m.EndTime >= input.EndTime && m.UserId == input.UserId && !m.IsDelete); if (data != null) { throw new HttpResponseException(new HttpResponseMessage() { Content = new StringContent(JsonConvert.SerializeObject(new ResponseApi() { Code = EExceptionType.Implement, Message = "该用户本月已添加工资记录" })) }); } if (!await db.UserDetails.AnyAsync(m => m.Id == input.UserId && !m.IsDelete)) { throw new HttpResponseException(new HttpResponseMessage() { Content = new StringContent(JsonConvert.SerializeObject(new ResponseApi() { Code = EExceptionType.Implement, Message = "该用户不存在" })) }); } db.Wages.Add(new Wage() { Id = IdentityManager.NewId(), StartTime = input.StartTime, EndTime = input.EndTime, BasePay = input.BasePay, BonusPaidIn = input.BonusPaidIn, ConfidentialSalary = input.ConfidentialSalary, Desc = input.Desc, EducationSalary = input.EducationSalary, EndowmentInsurance = input.EndowmentInsurance, GrossPay = input.GrossPay, LargeInsurance = input.LargeInsurance, MedicalInsurance = input.MedicalInsurance, MeritPay = input.MeritPay, OtherSum = input.OtherSum, OvertimeExpenses = input.OvertimeExpenses, PaidWages = input.PaidWages, PostSalary = input.PostSalary, SeniorityPay = input.SeniorityPay, TaxDeductible = input.TaxDeductible, TotalManagementSystem = input.TotalManagementSystem, TrafficAndMealSupplement = input.TrafficAndMealSupplement, UnemploymentInsurance = input.UnemploymentInsurance, UserId = input.UserId, WagesPayable = input.WagesPayable, IsDelete = false }); if (await db.SaveChangesAsync() <= 0) { throw new HttpResponseException(new HttpResponseMessage() { Content = new StringContent(JsonConvert.SerializeObject(new ResponseApi() { Code = EExceptionType.Implement, Message = "添加失败" })) }); } }
public async Task Update(WageInputDto input) { var data = await db.Wages.SingleOrDefaultAsync(m => m.Id == input.WageId && !m.IsDelete); if (data == null) { throw new HttpResponseException(new HttpResponseMessage() { Content = new StringContent(JsonConvert.SerializeObject(new ResponseApi() { Code = EExceptionType.Implement, Message = "工资记录不存在" })) }); } if (!await db.UserDetails.Include(m => m.User).AnyAsync(m => m.Id == input.UserId && !m.IsDelete)) { throw new HttpResponseException(new HttpResponseMessage() { Content = new StringContent(JsonConvert.SerializeObject(new ResponseApi() { Code = EExceptionType.Implement, Message = "该用户不存在" })) }); } var user = await db.UserDetails.Include(m => m.User).SingleOrDefaultAsync(m => m.Id == input.SignId && !m.IsDelete); if (user == null) { throw new HttpResponseException(new HttpResponseMessage() { Content = new StringContent(JsonConvert.SerializeObject(new ResponseApi() { Code = EExceptionType.Implement, Message = "签字人无效" })) }); } data.GrossPay = input.GrossPay; data.LargeInsurance = input.LargeInsurance; data.MedicalInsurance = input.MedicalInsurance; data.MeritPay = input.MeritPay; data.OtherSum = input.OtherSum; data.OvertimeExpenses = input.OvertimeExpenses; data.PaidWages = input.PaidWages; data.PostSalary = input.PostSalary; data.SeniorityPay = input.SeniorityPay; data.SignId = input.SignId; data.StartTime = input.StartTime; data.TaxDeductible = input.TaxDeductible; data.TotalManagementSystem = input.TotalManagementSystem; data.TrafficAndMealSupplement = input.TrafficAndMealSupplement; data.UnemploymentInsurance = input.UnemploymentInsurance; data.UserId = input.UserId; data.WagesPayable = input.WagesPayable; data.EndowmentInsurance = input.EndowmentInsurance; data.EndTime = input.EndTime; data.EducationSalary = input.EducationSalary; data.Desc = input.Desc; data.ConfidentialSalary = input.ConfidentialSalary; data.BonusPaidIn = input.BonusPaidIn; data.BasePay = input.BasePay; if (await db.SaveChangesAsync() <= 0) { throw new HttpResponseException(new HttpResponseMessage() { Content = new StringContent(JsonConvert.SerializeObject(new ResponseApi() { Code = EExceptionType.Implement, Message = "更新失败" })) }); } }