/// <summary> /// 编辑方法 /// </summary> /// <param name="info"></param> /// <param name="id"></param> /// <returns></returns> public OrderUpdateResponse UpdateOrderInfo(OrderUpdateRequest request) { OrderUpdateResponse response = new OrderUpdateResponse(); OrderInfo orderInfo = new OrderInfo() { BoughtTime = request.BoughtTime, OrderName = request.OrderName, CommodityImg = request.CommodityImg, OrderSize = request.OrderSize, OrderCount = request.OrderCount, YhId = request.YhId, OrderPrice = request.OrderPrice, OrderTypeId = request.OrderTypeId, Consignee = request.Consignee, ConsigneeTel = request.ConsigneeTel, Staus = request.Staus, CreateId = request.CreateId, UpdateId = request.UpdateId, CreateTime = request.CreateTime, UpdateTime = request.UpdateTime }; var res = dal.UpdateOrderInfo(orderInfo); if (res > 0) { response.IsUpdateSuccess = 1; response.Message = "添加成功"; } else { response.IsUpdateSuccess = 0; response.Message = "注册失败"; } return(response); }
public OrderUpdateResponse Update(OrderUpdateRequest request) { var response = new OrderUpdateResponse(); _facade.Update(request.Order); return(response); }
private PageResult UpdateOrder(OrderUpdateRequest request, Tbl_OTABusiness business) { string orderId = request.Body.OrderInfo.OrderId; OrderUpdateResponse result = new OrderUpdateResponse { Head = HeadResult.V1, }; var validResult = _orderService.ValidDataForOrderUpdateRequest(request); if (!validResult.Status) { result.Head.Code = validResult.Code; result.Head.Describe = validResult.Message; return(PageDataResult.Data(result, business.Saltcode.ToString())); } var tbl_Order = _orderService.Get(orderId); if (tbl_Order == null) { result.Head.Code = "116011"; result.Head.Describe = "修改订单异常,订单不存在"; return(PageDataResult.Data(result, business.Saltcode.ToString())); } if (!tbl_Order.CanModify) { result.Head.Code = "116012"; result.Head.Describe = "修改订单异常,订单不能修改"; return(PageDataResult.Data(result, business.Saltcode.ToString())); } if (tbl_Order.CanModify && tbl_Order.CanModifyTime < request.Body.OrderInfo.VisitDate.ToDataTime()) { result.Head.Code = "116013"; result.Head.Describe = "修改订单异常,填写的游玩时间超过产品最后修改时间"; return(PageDataResult.Data(result, business.Saltcode.ToString())); } try { _orderService.BeginTran(); _orderService.UpdateOrder(tbl_Order, request); _orderDetailService.UpdateOrderDetail(request); _orderService.CommitTran(); result.Body = new OrderUpdateResponseBody() { OrderId = tbl_Order.OrderNo }; } catch (Exception ex) { _orderService.RollbackTran(); result.Head.Code = "116014"; result.Head.Describe = "修改订单异常,订单修改失败"; return(PageDataResult.Data(result, business.Saltcode.ToString())); } result.Head.Code = "000000"; result.Head.Describe = "成功"; return(PageDataResult.Data(result, business.Saltcode.ToString())); }
/// <summary> /// 修改订单 /// </summary> /// <param name="condition"></param> /// <returns></returns> public OrderUpdateResponse OrderUpdate(OrderUpdateCondition condition) { OrderUpdateResponse response = new OrderUpdateResponse(); try { var result = HotelApiAccess.Query <OrderUpdateCondition, OrderUpdateResponse>(condition, "hotel.order.update"); if (result.Code == "0") { response = result.Result; } else { throw new Exception("接口请求失败:" + result.Code); } } catch (Exception ex) { throw ex; } return(response); }
public async Task <OrderUpdateResponse> PostOne(ApplicationUser currentUser, IConfiguration configuration, OrderUpdateRequest request) { var response = new OrderUpdateResponse(); Model.Order order = null; if ((currentUser == null && string.IsNullOrEmpty(request.ClientPhone)) || (currentUser != null && !(currentUser is Client))) // только клиент может добавлять заказ (или по номеру телефону) { response.AddError(_stringLocalizer[CustomStringLocalizer.NO_RIGHTS_TO_CREATE_UPDATE_ORDER]); return(response); } if (request.Id.HasValue) { order = await _fuelContext.Orders.FirstOrDefaultAsync(x => x.Id == request.Id.Value); } else { order = new Model.Order(); } if (order == null) { response.AddError(_stringLocalizer[CustomStringLocalizer.ORDER_NOT_FOUND]); return(response); } if (string.IsNullOrEmpty(order.Number)) { order.Number = OrderNumberGenerator.GetNumber(_fuelContext); } ClientOrderDetalization clientDetalization = null; if (request.Id.HasValue) { clientDetalization = await _fuelContext.ClientDetalizations.FirstOrDefaultAsync(x => x.OrderId == order.Id); } else { clientDetalization = new ClientOrderDetalization(); } if (clientDetalization.CreationDate == default) { clientDetalization.CreationDate = DateTime.Now; } clientDetalization.ClientId = currentUser?.Id; clientDetalization.ClientPhone = request.ClientPhone; clientDetalization.Address = request.Address; clientDetalization.FuelTypeId = request.FuelTypeId; clientDetalization.Latitude = request.Latitude; clientDetalization.Longitude = request.Longitude; clientDetalization.Quantity = request.Quantity; clientDetalization.FuelPrice = request.Price; clientDetalization.Cost = request.Price * request.Quantity; if (string.IsNullOrEmpty(clientDetalization.PaymentIdempotenceKey)) { clientDetalization.PaymentIdempotenceKey = Guid.NewGuid().ToString(); } if (request.Id.HasValue) { clientDetalization.OrderId = order.Id; _fuelContext.Orders.Update(order); _fuelContext.ClientDetalizations.Update(clientDetalization); } else { clientDetalization.Order = order; //await _fuelContext.Orders.AddAsync(order); await _fuelContext.ClientDetalizations.AddAsync(clientDetalization); } await _fuelContext.SaveChangesAsync(); if (!request.Id.HasValue) { // записать в историю, что заказ создан await AddStatusToHistory(order.Id, OrderStatusVM.Created); } var currentOrderStatus = await GetLastStatusRecord(order.Id); if (currentOrderStatus != null && currentOrderStatus.Status == Model.Enums.OrderStatus.Created) { // отправить запрос на создание платежа в яндекс.кассе var yandexResponse = await CreatePaymentAsync(order.Number, clientDetalization); if (yandexResponse != null) { response.PaymentLink = yandexResponse.Confirmation?.ConfirmationUrl; // повторяющаяся таска до тех пор, пока не станет ясен статус заказа (оплачен/отменен) BackgroundJob.Schedule(() => CheckPaymentProcessingAsync(order.Id, yandexResponse.Id), TimeSpan.FromSeconds(15.0)); } } response.Id = order.Id; return(response); }