private async Task <long> SaveReturn(EditReturn model) { if (model.ReturnId == null) { var mCreateReturnItems = new List <MFulfillment_CreateReturnItem>(); foreach (var item in model.ReturnItems) { mCreateReturnItems.Add(new MFulfillment_CreateReturnItem() { ReturnRequestItemId = item.ReturnRequestItemId, Quantity = item.Quantity }); } var mCreateReturn = new MFulfillment_CreateReturn() { CreateDateTimeUtc = Locale.GetUtcFromLocalTime(model.ReturnDate.Value), CreateReturnItems = mCreateReturnItems }; var aCreateReturn = new AReturn_CreateReturn() { MCreateReturn = mCreateReturn }; var returnId = await ReturnAdminService.CreateReturnAsync(aCreateReturn); return(returnId); } else { var mUpdateReturnItems = new List <MFulfillment_UpdateReturnItem>(); foreach (var item in model.ReturnItems) { mUpdateReturnItems.Add(new MFulfillment_UpdateReturnItem() { ReturnItemId = item.ReturnItemId.Value, Quantity = item.Quantity }); } var mUpdateReturn = new MFulfillment_UpdateReturn() { CreateDateTimeUtc = Locale.GetUtcFromLocalTime(model.ReturnDate.Value), UpdateReturnItems = mUpdateReturnItems }; var aUpdateReturn = new AReturn_UpdateReturn() { MUpdateReturn = mUpdateReturn }; await ReturnAdminService.UpdateReturnAsync(aUpdateReturn); return(model.ReturnId.Value); } }
public async Task <long> CreateReturnAsync(AReturn_CreateReturn returnData) { using var log = BeginFunction(nameof(ReturnAdminService), nameof(CreateReturnAsync), returnData); try { await Assert(SecurityPolicy.IsPrivileged).ConfigureAwait(false); var returnId = await FulfillmentMicroService.CreateReturnAsync(returnData.MCreateReturn).ConfigureAwait(false); var result = returnId; log.Result(result); return(result); } catch (Exception ex) { log.Exception(ex); throw; } }