Exemple #1
0
 public IHttpActionResult GetAssignedJobs(TrackAssignedJob obj)
 {
     try
     {
         List <FrayteMappedJobs> list = new List <FrayteMappedJobs>();
         list = new HsCodeJobRepository().GetAssignedJobs(obj);
         return(Ok(list));
     }
     catch (Exception ex)
     {
         return(BadRequest("Request can not be completed."));
     }
 }
        public List <FrayteMappedJobs> GetAssignedJobs(TrackAssignedJob obj)
        {
            List <FrayteMappedJobs> list = new List <FrayteMappedJobs>();

            try
            {
                var OperationZone = UtilityRepository.GetOperationZone();
                int SkipRows      = 0;
                SkipRows = (obj.CurrentPage - 1) * obj.TakeRows;
                var mappedJobs = dbContext.spGet_TrackAssignedJob(obj.FromDate, obj.ToDate, SkipRows, obj.TakeRows, OperationZone.OperationZoneId, obj.OperatorId, obj.DestinationCountry).ToList();
                var idList     = mappedJobs.Select(p => p.eCommerceShipmentId).ToList();

                var detailList = (from eCD in dbContext.eCommerceShipmentDetails
                                  where idList.Contains(eCD.eCommerceShipmentId) && (obj.AllShipments == true || string.IsNullOrEmpty(eCD.HSCode))
                                  select new eCommercePackage
                {
                    eCommerceShipmentDetailId = eCD.eCommerceShipmentDetailId,
                    eCommerceShhipmentId = eCD.eCommerceShipmentId,
                    Value = eCD.DeclaredValue.HasValue ? eCD.DeclaredValue.Value : 0,
                    CartoonValue = eCD.CartoonValue,
                    Weight = eCD.Weight,
                    Length = eCD.Length,
                    Height = eCD.Height,
                    Content = eCD.PiecesContent,
                    Width = eCD.Width,
                    HSCode = eCD.HSCode,
                }).ToList();

                list = mappedJobs.Select(group => new FrayteMappedJobs
                {
                    ShipmentId            = group.eCommerceShipmentId,
                    CourierCompany        = group.LogisticCompany,
                    CourierCompanyDisplay = group.LogisticCompanyDisplay,
                    Customer                 = group.ContactName,
                    DisplayStatus            = group.StatusName,
                    FrayteNumber             = group.FrayteNumber,
                    FromCountry              = group.FromCountry,
                    EstimatedDateOfDeparture = group.EstimatedDateOfDelivery,
                    EstimatedTimeOfDeparture = UtilityRepository.GetTimeZoneTime(group.EstimatedTimeofDelivery),
                    EstimatedDateOfArrival   = group.EstimatedDateofArrival,
                    EstimatedTimeOfArrival   = UtilityRepository.GetTimeZoneTime(group.EstimatedTimeofArrival),
                    ShippedFromCompany       = group.FromCompany,
                    ToCountry                = group.ToCountry,
                    ShippedToCompany         = group.ToCompany,
                    ShipmentDescription      = group.ContentDescription,
                    ShippingDate             = group.CreatedOn,
                    Status           = group.StatusName,
                    TotalRows        = group.TotalRows.HasValue ? group.TotalRows.Value : 0,
                    Reference1       = group.Reference1,
                    TrackingNo       = group.TrackingNo,
                    StaffAssigned    = group.OperatorName,
                    StaffCompanyName = group.OperatorCompanyName,
                    StaffEmail       = group.OperatorEmail,
                    Packages         = detailList.Where(p => p.eCommerceShhipmentId == group.eCommerceShipmentId).Select(subGroup => new eCommercePackage
                    {
                        eCommerceShipmentDetailId = subGroup.eCommerceShipmentDetailId,
                        CartoonValue = subGroup.CartoonValue,
                        Content      = subGroup.Content,
                        Height       = subGroup.Height,
                        HSCode       = subGroup.HSCode,
                        Length       = subGroup.Length,
                        Value        = subGroup.Value,
                        Width        = subGroup.Width,
                        Weight       = subGroup.Weight,
                        IsPrinted    = string.IsNullOrEmpty(subGroup.HSCode) ? false : true
                    }).ToList()
                }).OrderByDescending(p => p.EstimatedDateOfDeparture)
                       .ThenByDescending(p => UtilityRepository.GetTimeFromString(p.EstimatedTimeOfDeparture).HasValue ? UtilityRepository.GetTimeFromString(p.EstimatedTimeOfDeparture).Value : DateTime.UtcNow.TimeOfDay).ToList();
                var data = list.Where(p => p.Packages.Count > 0).ToList();
                return(data);
            }
            catch (Exception ex)
            {
                Elmah.ErrorSignal.FromCurrentContext().Raise(ex);
                return(list);
            }
        }