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); } }