private async Task AddPeriodLine(IOutcomeReportServiceProvider provider, NewPeriodLinesViewModel item) { if (IsBusy) { return; } IsBusy = true; using (var periodService = provider.GetService()) { DateTime?date = item.Date; if (ReferenceEquals(date, null) || date == DateTime.MinValue || date == DateTime.MaxValue) { date = null; } var request = new AddLineRequest(PeriodViewModelId, item.Amount, item.Category.Id, item.Description, date); var response = await periodService.AddLineAsync(request); if (ReferenceEquals(response.Exception, null) == false) { Debug.WriteLine(response.Exception); } } IsBusy = false; await LoadData(provider); }
public string AddLine([FromBody] AddLineRequest request) { CommonBaseInfo res = new CommonBaseInfo(); if (request.empId <= 0) { res.StateCode = 500; res.ResultMsg = "empId必须大于0"; return(JsonConvert.SerializeObject(res)); } _repository.DeleteLineByEmpId(request.empId); Line workLine = new Line() { name = "上班路线", empId = request.empId, origin = request.origin, destination = request.destination, publishTime = DateTime.Now.ToString("yyyy-MM-dd hh:mm:ss"), takeTime = request.workTime, startPoint = request.startPoint, endPoint = request.endPoint }; Line overLine = new Line() { name = "下班路线", empId = request.empId, origin = request.destination, destination = request.origin, publishTime = DateTime.Now.ToString("yyyy-MM-dd hh:mm:ss"), takeTime = request.overTime, startPoint = request.endPoint, endPoint = request.startPoint }; _repository.Add(workLine); _repository.Add(overLine); res.StateCode = 200; res.ResultMsg = "success"; return(JsonConvert.SerializeObject(res)); }
public async Task <AddLineResponse> AddLineAsync(AddLineRequest request) { return(await Task.Run(() => { var response = new AddLineResponse(); try { var period = unitOfWork.PeriodRepository.GetPeriod(request.PeriodId); period.AddLine(request.Amount, request.Category, request.Additional, request.Date); unitOfWork.PeriodRepository.Update(period); unitOfWork.Commit(); } catch (Exception ex) { response.Exception = ex; } return response; })); }