public void Insert(Finance finance) { DbContext.Finances.Add(finance); Update(); }
public object Post(FinanceModel model) { var currentDate = new DateTime(DateTime.Now.Year, DateTime.Now.Month, DateTime.Now.Day); var currentPosition = _employeesService.GetEmployee(HttpContext.Current.User.Identity.GetUser().EmployeeId) .EmployeePostions.Where( n => n.StartDate <= currentDate && (n.EndDate == null || n.EndDate >= currentDate) && n.IsDeleted == false) .Select(n => n.Position) .FirstOrDefault(); if (currentPosition == null) { return Failed("提交失败"); } if (model == null) { return Failed("提交失败"); } if (model.Amount == null) { return Failed("金额不得为空"); } if (model.HasFaPiao) { if (string.IsNullOrEmpty(model.FaPiaoNumbers)) { return Failed("发票编号不得为空"); } } if (model.PayDate == null) { return Failed("收款日期不得为空"); } try { var finance = new Finance { Id = Guid.NewGuid(), Amount = model.Amount.Value, HasFaPiao = model.HasFaPiao, FaPiaos = model.HasFaPiao ? new List<FaPiao>() : null, OrderId = model.OrderId, PayDate = model.PayDate.Value, PositionId = currentPosition.Id, Remark = model.Remark }; if (model.HasFaPiao) { var fapiaonumbers = model.FaPiaoNumbers.Split(',').ToArray(); if (!fapiaonumbers.Any()) { return Failed("发票编号不得为空"); } if (fapiaonumbers.Any(p => p.Trim().Length != 8)) { return Failed("发票编号必须得8位"); } if (fapiaonumbers.Distinct().Count() != fapiaonumbers.Length) { return Failed("发票编号不得重复"); } if (_faPiaoService.GetFaPiaos().Any(p => fapiaonumbers.Contains(p.Code))) { return Failed("发票编号已存在,不得重复"); } foreach (var item in fapiaonumbers) { finance.FaPiaos.Add(new FaPiao { Id = Guid.NewGuid(), Code = item.Trim() }); } } _financeService.Insert(finance); return Success(); } catch (Exception ex) { return Failed(ex.Message); } }