Ejemplo n.º 1
0
        public void OrderProgress(tblKerryOrderProgress kerryOrderProgress)
        {
            try
            {
                var packageId = 0;
                using (var db = ContextFactory.UsTransportEntities())
                {
                    var kerryStatusService = db.tblKerryStatusServices.FirstOrDefault(x => x.Id == kerryOrderProgress.StatusService);
                    var statusSeviceDesc   = kerryStatusService?.Name;
                    kerryOrderProgress.StatusServiceDescription = statusSeviceDesc;
                    kerryOrderProgress.CreatedDate = DateTime.Now;
                    db.tblKerryOrderProgresses.Add(kerryOrderProgress);

                    var package = db.tblPackageInfoes.FirstOrDefault(x => x.Code.ToLower().Equals(kerryOrderProgress.OrderCode.ToLower()));
                    if (package != null)
                    {
                        packageId = package.id;
                    }
                    db.SaveChanges();
                }

                //kiểm tra trạng thái đang giao hàng
                if (kerryOrderProgress.StatusService.Equals("PUP"))
                {
                    // _Log.Info("Delivering");
                    Libraries.Log.WriteLogs("Delivering");
                    Task.Run(() => new OrderService().App_UpdateStatusPackage(packageId, (int)OrderStatusInfo.Delivering));
                }

                //kiểm tra trạng thái giao hàng thành công
                if (kerryOrderProgress.StatusService.Equals("POD"))
                {
                    Libraries.Log.WriteLogs("Completed");
                    //_Log.Info("Completed");
                    Task.Run(() => new OrderService().App_UpdateStatusPackage(packageId, (int)OrderStatusInfo.Delivered));
                }
            }
            catch (Exception ex)
            {
                //_Log.Error(ex);
                //SELog.WriteLog("KerryService => OrderProgress", ex);
                Libraries.Log.Write(ex.Message);
            }
        }
Ejemplo n.º 2
0
        public IHttpActionResult KerryUpdateOrder(JObject jObject)
        {
            var response = new Response();

            try
            {
                _Log.Info("api/order/kerryupdate: " + jObject.ToJson());
                JToken jToken;
                if (!jObject.TryGetValue("OrderId", out jToken))
                {
                    return(Ok(response.Failed("OrderId invalid!")));
                }
                var strPackageId = jToken.Value <string>();
                //
                if (!jObject.TryGetValue("StatusService", out jToken))
                {
                    return(Ok(response.Failed("StatusService invalid!")));
                }
                var statusService = jToken.Value <string>();
                if (!jObject.TryGetValue("Weight", out jToken))
                {
                    return(Ok(response.Failed("Weight invalid!")));
                }
                var weight = jToken.Value <string>();
                if (!jObject.TryGetValue("Dimension", out jToken))
                {
                    return(Ok(response.Failed("Dimension invalid!")));
                }
                var dimension = jToken.Value <string>();
                if (!jObject.TryGetValue("Cost", out jToken))
                {
                    return(Ok(response.Failed("Cost invalid!")));
                }
                var cost = jToken.Value <string>();
                if (!jObject.TryGetValue("Fee", out jToken))
                {
                    return(Ok(response.Failed("Fee invalid!")));
                }
                var fee = jToken.Value <string>();
                if (!jObject.TryGetValue("TimeStatus", out jToken))
                {
                    return(Ok(response.Failed("TimeStatus invalid!")));
                }
                var timeStatus = jToken.Value <string>();

                if (!jObject.TryGetValue("Note", out jToken))
                {
                    return(Ok(response.Failed("Note invalid!")));
                }
                var note = jToken.Value <string>();

                //usexpress system
                //if (Regex.IsMatch(strPackageId, @"([a-zA-Z]{4}[\d]{12})")) //UsTransport system
                //{
                var kerryOrderProgress = new tblKerryOrderProgress()
                {
                    OrderCode     = strPackageId,
                    StatusService = statusService,
                    Weight        = weight,
                    Dimension     = dimension,
                    Cost          = cost,
                    Fee           = fee,
                    TimeStatus    = timeStatus,
                    Note          = note,
                    CreatedDate   = DateTime.Now
                };
                _iKerryServices.OrderProgress(kerryOrderProgress);

                //}
                return(Ok(response));
            }
            catch (Exception ex)
            {
                _Log.Error(ex.Message, ex);
                return(Ok(response.System(ex)));
            }
        }