public Task <int> SubmitForm <TDto>(OrdersEntity entity, TDto dto) where TDto : class { var userId = _usersService.GetCurrentUserId(); if (!string.IsNullOrEmpty(entity.F_Id)) { entity.Modify(entity.F_Id); entity.F_LastModifyUserId = userId; return(_service.UpdateAsync(entity, dto)); } else { entity.Create(); entity.F_CreatorUserId = userId; return(_service.InsertAsync(entity)); } }
public async Task <IActionResult> SubmitDrugOrder([FromBody] SubmitDrugOrderInput input) { var patient = await _patientApp.GetForm(input.Pid); var drug = await _drugsApp.GetForm(input.Items.First().OrderCode); var user = await _usersService.GetCurrentUserAsync(); var list = new List <OrdersEntity>(); var firstEntity = new OrdersEntity { F_Pid = patient.F_Id, F_SubIndex = 0, F_DialysisNo = patient.F_DialysisNo, F_RecordNo = patient.F_RecordNo, F_OrderType = "药疗", F_OrderStartTime = input.OrderStartTime?.ToDate() ?? DateTime.Now, F_OrderCode = drug.F_Id, F_OrderText = drug.F_DrugName, F_OrderSpec = drug.F_DrugSpec, F_OrderUnitAmount = drug.F_DrugMiniAmount.ToFloat(2).ToString(CultureInfo.InvariantCulture), F_OrderUnitSpec = drug.F_DrugMiniSpec, F_OrderAmount = input.Items.First().OrderAmount, F_OrderFrequency = input.OrderFrequency, F_OrderAdministration = input.OrderAdministration, F_IsTemporary = input.IsTemporary, F_Doctor = user.F_RealName, F_DoctorOrderTime = DateTime.Now, F_OrderStatus = 0, F_EnabledMark = true }; firstEntity.Create(); list.Add(firstEntity); for (int i = 1; i < input.Items.Count; i++) { drug = await _drugsApp.GetForm(input.Items[i].OrderCode); var entity = new OrdersEntity { F_Pid = patient.F_Id, F_ParentId = firstEntity.F_Id, F_SubIndex = i, F_DialysisNo = patient.F_DialysisNo, F_RecordNo = patient.F_RecordNo, F_OrderType = "药疗", F_OrderStartTime = input.OrderStartTime?.ToDate() ?? DateTime.Now, F_OrderCode = drug.F_Id, F_OrderText = drug.F_DrugName, F_OrderSpec = drug.F_DrugSpec, F_OrderUnitAmount = drug.F_DrugMiniAmount.ToFloat(2).ToString(), F_OrderUnitSpec = drug.F_DrugMiniSpec, F_OrderAmount = input.Items[i].OrderAmount, F_OrderFrequency = input.OrderFrequency, F_OrderAdministration = input.OrderAdministration, F_IsTemporary = input.IsTemporary, F_Doctor = user.F_RealName, F_DoctorOrderTime = firstEntity.F_DoctorOrderTime, F_OrderStatus = 0, F_EnabledMark = true }; entity.Create(); list.Add(entity); } await _ordersApp.InsertBatch(list); return(Success("操作成功。")); }