public IHttpActionResult GetTimeLine(PostViewModel model) { try { var trackingOrders = trackingOrderService.GetTrackingOrders().Where(t => t.OrderId == model.OrderId)?.ToList(); var listResult = new List <TrackingOrderViewModel>(); if (trackingOrders != null) { foreach (var item in trackingOrders) { var tmp = new TrackingOrderViewModel(); tmp.DateCreated = item.DateCreated.GetValueOrDefault().ToString("HH:mm dd/MM/yyyy"); tmp.OrderId = item.OrderId; tmp.Status = item.Status; tmp.Description = item.Description; tmp.Longitude = item.Longitude; tmp.Latitude = item.Latitude; /* switch (item.Status) * { * case (int)TrackingOrderType.Started: * tmp.Status = "Đã khởi hành"; * break; * case (int)TrackingOrderType.Arrived: * tmp.Status = "Đã đến nơi"; * break; * case (int)TrackingOrderType.Buyed: * tmp.Status = "Đã mua được hàng"; * break; * case (int)TrackingOrderType.CameBack: * tmp.Status = "Đã về"; * break; * case (int)TrackingOrderType.CanShipping: * tmp.Status = "Có thể giao hàng"; * break; * case (int)TrackingOrderType.Finished: * tmp.Status = "Giao hàng thành công"; * break; * case (int)TrackingOrderType.CanNotBuy: * tmp.Status = "Không thể mua hàng"; * break; * case (int)TrackingOrderType.Cancel: * tmp.Status = "Đơn hàng đã bị hủy"; * break; * }*/ listResult.Add(tmp); } } return(Ok(listResult)); } catch (Exception ex) { return(BadRequest(ex.ToString())); } }
public IHttpActionResult GetTrackHistory(string airWayBillNumberNumber) { airWayBillNumberNumber = Regex.Replace(airWayBillNumberNumber, "[^a-zA-Z0-9.]", ""); TrackingOrderViewModel Model = new TrackingOrderViewModel(); Model.Order = _repo.GetByAirWayBillNumberNumber(airWayBillNumberNumber); if (Model.Order != null) { var number = Model.Order.AirWayBillNumberNumber; Model.Order.AirWayBillNumberNumber = number.Substring(0, 3) + "-" + number.Substring(3, 5) + "-" + number.Substring(8, 2); Model.TrackingList = _trackRepo.GetByOrderId(Model.Order.OrderId.ToString()); } else { Model.ValidationMessage = new ValidationMessage() { ErrorMessage = "Not Found" }; } return(Ok(Model)); }
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())); } }