Exemple #1
0
        public FrayteResult SaveManifestTracking(List <ManifestTrackingModel> MTM)
        {
            FrayteResult FR = new FrayteResult();

            try
            {
                foreach (var MT in MTM)
                {
                    var EMT = dbContext.eCommerceTrackings.Where(a => a.eCommerceShipmentId == MT.eCommerceShipmentId).FirstOrDefault();
                    if (EMT == null)
                    {
                        eCommerceTracking EMTNew = new eCommerceTracking();
                        EMTNew.eCommerceShipmentId     = MT.eCommerceShipmentId;
                        EMTNew.FrayteNumber            = MT.FrayteNo;
                        EMTNew.TrackingDescription     = MT.TrackingDescription;
                        EMTNew.TrackingMode            = MT.TrackingMode;
                        EMTNew.TrackingNumber          = MT.TrackingNo;
                        EMTNew.TrackingDescriptionCode = MT.TrackingDescriptionCode;
                        EMTNew.CreatedBy    = MT.CreatedBy;
                        EMTNew.CreatedOnUtc = MT.CreatedOnUtc;
                        EMTNew.CreatedBy    = MT.UserId;
                        dbContext.eCommerceTrackings.Add(EMTNew);
                        dbContext.SaveChanges();
                    }
                    else
                    {
                        EMT.eCommerceShipmentId     = MT.eCommerceShipmentId;
                        EMT.FrayteNumber            = MT.FrayteNo;
                        EMT.TrackingDescription     = MT.TrackingDescription;
                        EMT.TrackingMode            = MT.TrackingDescription;
                        EMT.TrackingNumber          = MT.TrackingNo;
                        EMT.TrackingDescriptionCode = MT.TrackingDescriptionCode;
                        EMT.CreatedBy              = MT.CreatedBy;
                        EMT.CreatedBy              = MT.UserId;
                        EMT.CreatedOnUtc           = MT.CreatedOnUtc;
                        dbContext.Entry(EMT).State = System.Data.Entity.EntityState.Modified;
                        dbContext.SaveChanges();
                    }
                }
                FR.Status = true;
            }
            catch (Exception e)
            {
                FR.Status = false;
            }
            return(FR);
        }
        private eCommerceAppResult SetShipmentTracking(string shipmentBarcodeNumber)
        {
            eCommerceAppResult Result = new eCommerceAppResult();

            Result.Messages = new List <string>();

            var shipmentDetail = dbContext.eCommerceShipments.Where(p => p.BarCodeNumber == shipmentBarcodeNumber).FirstOrDefault();

            if (shipmentDetail != null)
            {
                eCommerceTracking track = new eCommerceTracking();
                track.TrackingDescriptionCode = eCommerceAppShipmentTracking.Tracking1;
                track.TrackingDescription     = eCommerceAppShipmentTracking.Tracking1;
                track.eCommerceShipmentId     = shipmentDetail.eCommerceShipmentId;
                track.FrayteNumber            = shipmentDetail.FrayteNumber;

                var shipmentPackageDetail = dbContext.eCommerceShipmentDetails.Where(p => p.eCommerceShipmentId == shipmentDetail.eCommerceShipmentId).ToList();

                if (shipmentPackageDetail != null && shipmentPackageDetail.Count > 0)
                {
                    int id   = shipmentPackageDetail[0].eCommerceShipmentDetailId;
                    var data = dbContext.eCommercePackageTrackingDetails.Where(p => p.eCommerceShipmentDetailId == id).FirstOrDefault();
                    if (data != null)
                    {
                        track.TrackingNumber = data.TrackingNo;
                    }
                }
                track.CreatedOnUtc = DateTime.UtcNow;
                dbContext.eCommerceTrackings.Add(track);
                dbContext.SaveChanges();
                Result.Status = true;
            }
            else
            {
                Result.Status = false;
                Result.Messages.Add(eCommerceAppErrorMessage.InvalidBarcode);
            }
            return(Result);
        }