public void UpdateTrackingOrder(TrackingOrder trackingOrder) { trackingOrderRepository.Update(trackingOrder); }
public void CreateTrackingOrder(TrackingOrder trackingOrder) { trackingOrderRepository.Add(trackingOrder); }
public IHttpActionResult UpdateTimeline(TrackingOrder model) { try { model.IsActive = true; model.IsDelete = false; model.DateCreated = DateTime.UtcNow.AddHours(7); trackingOrderService.CreateTrackingOrder(model); Order order = orderService.GetOrder(model.OrderId); if (order != null) { User buyer = order.Buyer; if (buyer != null) { if (model.Status == (int)TrackingOrderType.Cancel) { buyer.Current_Money += order.Offer.Post.Deposit; Post post = order.Offer.Post; transactionService.CreateTransaction(new Transaction() { PostId = post.Id, IsActive = true, IsDelete = false, IsSuccess = true, UserId = buyer.Id, DateCreated = DateTime.UtcNow.AddHours(7), Value = post.Deposit, Type = Transaction.TypeTrans.PostOut, }); post.Deposit = 0; userService.UpdateUser(buyer); postService.UpdatePost(post); } } if (buyer.SignalConnect != null) { string status = "Đang ở "; switch (model.Status) { case (int)TrackingOrderType.Started: status = "Đang ở " + model.Description; break; case (int)TrackingOrderType.Arrived: status = "Đã mua được hàng"; break; case (int)TrackingOrderType.Buyed: status = "Có thể giao hàng"; break; case (int)TrackingOrderType.CameBack: status = "Không thể mua hàng"; break; case (int)TrackingOrderType.CanShipping: status = "Đơn hàng đã bị hủy"; break; case (int)TrackingOrderType.Finished: status = "Giao hàng thành công"; break; } notificationService.CreateNotification(new Notification() { DateCreated = DateTime.UtcNow.AddHours(7), IsActive = true, IsDelete = false, IsRead = true, Message = status, Title = "Đơn hàng " + order.Id, UserId = buyer.Id }); notificationService.SaveNotification(); HubUtilities.GetHub().Clients.Client(buyer.SignalConnect).newTimeline(status, order.Id); } } trackingOrderService.SaveTrackingOrder(); TrackingOrderViewModel tracking = new TrackingOrderViewModel() { DateCreated = model.DateCreated.GetValueOrDefault().ToString("HH:mm dd/MM/yyyy"), Status = model.Status, Longitude = model.Longitude, Latitude = model.Latitude, OrderId = model.OrderId, Description = model.Description }; return(Ok(tracking)); } catch (Exception ex) { return(BadRequest(ex.ToString())); } }