Пример #1
0
 public UnitOfWork(ApplicationDbContext context)
 {
     _context  = context;
     Utilities = new UtilityRepository(_context);
     Locations = new LocationRepository(_context);
     Providers = new ProviderRepository(_context);
 }
        public List <TradelaneBookingCoLoadFormModel> ColoadReportObj(TradelaneBooking ShipmentDetail)
        {
            List <TradelaneBookingCoLoadFormModel> ColoadList = new List <TradelaneBookingCoLoadFormModel>();

            if (ShipmentDetail != null)
            {
                TradelaneBookingCoLoadFormModel ColoadModel = new TradelaneBookingCoLoadFormModel();
                ColoadModel.FrayteNumber       = ShipmentDetail.FrayteNumber;
                ColoadModel.ColoadTitle        = "CO LOAD BOOKING FORM (" + DateTime.UtcNow.Date.Year + ")";
                ColoadModel.ShipperAddress     = UtilityRepository.ConcatinateAddress(ShipmentDetail.ShipFrom, ShipmentDetail.DepartureAirport.AirportCode);
                ColoadModel.ConsigneeAddress   = UtilityRepository.ConcatinateAddress(ShipmentDetail.ShipTo, ShipmentDetail.DestinationAirport.AirportCode);
                ColoadModel.OperationZoneId    = UtilityRepository.GetOperationZone().OperationZoneId;
                ColoadModel.CTCPerson          = "";
                ColoadModel.ShipperPhoneNo     = !string.IsNullOrEmpty(ShipmentDetail.ShipFrom.Phone) && !string.IsNullOrEmpty(ShipmentDetail.ShipFrom.Country.CountryPhoneCode) ? "(+" + ShipmentDetail.ShipFrom.Country.CountryPhoneCode + ") " + ShipmentDetail.ShipFrom.Phone : "";
                ColoadModel.ConsigneePhoneNo   = !string.IsNullOrEmpty(ShipmentDetail.ShipTo.Phone) && !string.IsNullOrEmpty(ShipmentDetail.ShipTo.Country.CountryPhoneCode) ? "(+" + ShipmentDetail.ShipTo.Country.CountryPhoneCode + ") " + ShipmentDetail.ShipTo.Phone : "";
                ColoadModel.NotifyPartyAddress = ShipmentDetail.IsNotifyPartySameAsReceiver ? ColoadModel.ConsigneeAddress : UtilityRepository.ConcatinateAddress(ShipmentDetail.NotifyParty, "");
                ColoadModel.NotifyPartyPhoneNo = !string.IsNullOrEmpty(ShipmentDetail.NotifyParty.Phone) && !string.IsNullOrEmpty(ShipmentDetail.NotifyParty.Country.CountryPhoneCode) ? "(+" + ShipmentDetail.NotifyParty.Country.CountryPhoneCode + ") " + ShipmentDetail.NotifyParty.Phone : "";
                ColoadModel.CagroReadyDate     = dbContext.TradelaneShipmentAllocations.Where(a => a.TradelaneShipmentId == ShipmentDetail.TradelaneShipmentId).FirstOrDefault() != null && dbContext.TradelaneShipmentAllocations.Where(a => a.TradelaneShipmentId == ShipmentDetail.TradelaneShipmentId).FirstOrDefault().CreatedOnUTC != null?dbContext.TradelaneShipmentAllocations.Where(a => a.TradelaneShipmentId == ShipmentDetail.TradelaneShipmentId).FirstOrDefault().CreatedOnUTC.Value.Date.ToString("dd-MMM-yy") : "";

                ColoadModel.DepartureAirport    = ShipmentDetail.DepartureAirport != null ? ShipmentDetail.DepartureAirport.AirportCode + " - " + ShipmentDetail.DepartureAirport.AirportName : "";
                ColoadModel.DestinationAirport  = ShipmentDetail.DestinationAirport != null ? ShipmentDetail.DestinationAirport.AirportCode + " - " + ShipmentDetail.DestinationAirport.AirportName : "";
                ColoadModel.MawbNo              = !string.IsNullOrEmpty(ShipmentDetail.MAWB) ? ShipmentDetail.AirlinePreference.AilineCode + " " + ShipmentDetail.MAWB.Substring(0, 4) + " " + ShipmentDetail.MAWB.Substring(4, 4) : "";
                ColoadModel.SpecialInstruction  = "";
                ColoadModel.ExportLicenceNo     = !string.IsNullOrEmpty(ShipmentDetail.ExportLicenceNo) ? ShipmentDetail.ExportLicenceNo : "";;
                ColoadModel.AirLine             = ShipmentDetail.AirlinePreference != null && !string.IsNullOrEmpty(ShipmentDetail.AirlinePreference.AirLineName) ? ShipmentDetail.AirlinePreference.AirLineName : "";
                ColoadModel.TotalPackages       = GetTotalPackages(ShipmentDetail.TradelaneShipmentId);
                ColoadModel.ShipmentDescription = !string.IsNullOrEmpty(ShipmentDetail.ShipmentDescription) ? ShipmentDetail.ShipmentDescription : "";
                ColoadModel.GrossWeight         = GetGrossWeight(ShipmentDetail.TradelaneShipmentId);
                ColoadModel.Volume              = ShipmentDetail.HAWBPackages.Select(a => a.TotalVolume).Sum().ToString();
                ColoadModel.CopyrightText       = "Published by FRAYTE Logistics Ltd" + Environment.NewLine + "© CopyRight " + DateTime.UtcNow.Date.Year;
                ColoadList.Add(ColoadModel);
            }
            return(ColoadList);
        }
Пример #3
0
        public SkyPostalResponse CreateShipment(SkyPostalRequest skyPostalRequest, int ExpressId)
        {
            SkyPostalResponse respone  = new SkyPostalResponse();
            var    logisticIntegration = UtilityRepository.getLogisticIntegration(UtilityRepository.GetOperationZone().OperationZoneId, AppSettings.ApplicationMode, FrayteIntegration.SKYPOSTAL);
            string result = string.Empty;

            #region SKYPOSTaL API Login

            skyPostalRequest.user_info.user_code = Convert.ToInt32(logisticIntegration.AppId);

            skyPostalRequest.user_info.app_key = logisticIntegration.InetgrationKey;

            skyPostalRequest.user_info.user_key = logisticIntegration.UserName;

            var skyPostalJson = Newtonsoft.Json.JsonConvert.SerializeObject(skyPostalRequest);

            result = SkyPostalWebApi(logisticIntegration, skyPostalJson);

            try
            {
                respone = Newtonsoft.Json.JsonConvert.DeserializeObject <SkyPostalResponse>(result);
            }
            catch (Exception ex)
            {
                ex.ToString();
            }

            return(respone);
        }
Пример #4
0
        public FrayteManifestName GetQuotation(int QuotationShipmentId, string CustomerName, string FromPostCode, string ToPostCode, int CreatedBy)
        {
            FrayteManifestName result = new FrayteManifestName();
            var item = new QuotationRepository().GetQuotationDetail(QuotationShipmentId, CustomerName);

            var TimeZone = new QuotationRepository().GetUserTimeZone(CreatedBy);

            var UserType = UtilityRepository.GetUserType(CreatedBy);

            var          DateObj             = DateTime.UtcNow;
            TimeZoneInfo TimeZoneInformation = TimeZoneInfo.FindSystemTimeZoneById(TimeZone.Name);
            var          remoteTime          = TimeZoneInfo.ConvertTime(DateObj, TimeZoneInformation).ToString("hh:mm:ss tt");

            if (item != null)
            {
                int     CartoonQty = new QuotationRepository().SumofCartoonQty(item.QuotationShipmentId);
                decimal Volume     = new QuotationRepository().TotalVolume(item.QuotationShipmentId, item.PackageCalculationType);

                if (item.OperationZoneId == 1)
                {
                    result = HKQuoteReport(item, Volume, CartoonQty, TimeZoneInformation, remoteTime);
                }
                else if (item.OperationZoneId == 2)
                {
                    result = UKQuoteReport(item, Volume, CartoonQty, TimeZoneInformation, remoteTime, UserType, CreatedBy);
                }
            }
            return(result);
        }
Пример #5
0
        public List <FrayteLogisticServiceItem> GetLogisticServiceItems(int Year)
        {
            FrayteOperationZone OperationZone = UtilityRepository.GetOperationZone();

            var list = (from ls in dbContext.LogisticServices
                        join lsbrch in dbContext.LogisticServiceBaseRateCardHistories on ls.LogisticServiceId equals lsbrch.LogisticServiceId into leftJoin
                        from tempRate in leftJoin.DefaultIfEmpty()
                        where ls.OperationZoneId == OperationZone.OperationZoneId &&
                        ls.IsActive == true &&
                        tempRate.ReportYear == Year
                        select new FrayteLogisticServiceItem
            {
                LogisticServiceId = ls.LogisticServiceId,
                LogisticCompany = ls.LogisticCompany,
                LogisticCompanyDisplay = ls.LogisticCompanyDisplay,
                LogisticType = ls.LogisticType,
                LogisticTypeDisplay = ls.LogisticTypeDisplay,
                RateType = ls.RateType,
                RateTypeDisplay = ls.RateTypeDisplay,
                IssueDate = ls.IssuedDate.Value,
                ExpiryDate = ls.ExpiryDate.Value
            }).ToList();

            return(list);
        }
Пример #6
0
        public List <FrayteLogisticServices> LogisticServices(int operationZoneId)
        {
            List <FrayteLogisticServices> list = new List <FrayteLogisticServices>();
            var OperationZone = UtilityRepository.GetOperationZone();
            var collection    = dbContext.LogisticServices.Where(p => p.OperationZoneId == OperationZone.OperationZoneId && p.IsActive == true).ToList();

            FrayteLogisticServices lt;

            foreach (var item in collection)
            {
                lt = new FrayteLogisticServices();
                lt.LogisticCompany        = item.LogisticCompany;
                lt.LogisticCompanyDisplay = item.LogisticCompanyDisplay;
                lt.LogisticServiceId      = item.LogisticServiceId;
                lt.LogisticType           = item.LogisticType;
                lt.LogisticTypeDisplay    = item.LogisticTypeDisplay;
                lt.RateType        = item.RateType;
                lt.RateTypeDisplay = item.RateTypeDisplay;
                lt.ModuleType      = item.ModuleType;
                lt.OperationZoneId = item.OperationZoneId;

                list.Add(lt);
            }

            return(list);
        }
        public List <DirectBookingCustomer> GetAgents()
        {
            // To Do : customer should come according to moduleType
            var operationzone = UtilityRepository.GetOperationZone();
            var customers     = (from r in dbContext.Users
                                 join ua in dbContext.UserAdditionals on r.UserId equals ua.UserId
                                 join ur in dbContext.UserRoles on r.UserId equals ur.UserId
                                 where
                                 ur.RoleId == (int)FrayteUserRole.Agent &&
                                 r.IsActive == true &&
                                 r.OperationZoneId == operationzone.OperationZoneId
                                 select new DirectBookingCustomer
            {
                CustomerId = r.UserId,
                CustomerName = r.ContactName,
                CompanyName = r.CompanyName,
                AccountNumber = ua.AccountNo,
                EmailId = r.UserEmail,
                ValidDays = ua.DaysValidity.HasValue ? ua.DaysValidity.Value : 0,
                CustomerCurrency = ua.CreditLimitCurrencyCode,
                OperationZoneId = r.OperationZoneId
            }).Distinct().ToList();

            return(customers.OrderBy(p => p.CompanyName).ToList());
        }
Пример #8
0
        public List <FrayteAddress> GetShippeOtherAddresses(int shipperId)
        {
            List <FrayteAddress> shipperOtherAddresses = new List <FrayteAddress>();

            var addresses = dbContext.UserAddresses.Where(p => p.UserId == shipperId &&
                                                          (p.AddressTypeId == (int)FrayteAddressType.OtherAddress ||
                                                           p.AddressTypeId == (int)FrayteAddressType.MainAddress)).ToList();

            if (addresses != null)
            {
                foreach (UserAddress userAddress in addresses)
                {
                    FrayteAddress address = UtilityRepository.UserAddressMapping(userAddress);

                    var countryResult = dbContext.Countries.Where(p => p.CountryId == address.Country.CountryId).FirstOrDefault();
                    if (countryResult != null)
                    {
                        address.Country.Name = countryResult.CountryName;
                        address.Country.Code = countryResult.CountryCode;
                    }

                    shipperOtherAddresses.Add(address);
                }
            }

            return(shipperOtherAddresses);
        }
Пример #9
0
        public TermAndCondition SaveTermAndCondition(TermAndCondition termAndCondition)
        {
            //For Term And Condition, we always have to create new term and condition in database.

            string shortCode             = string.Empty;
            var    customerCompanyDetail = dbContext.CustomerCompanyDetails.Where(p => p.UserId == termAndCondition.CreatedBy).FirstOrDefault();

            if (customerCompanyDetail != null)
            {
                shortCode = customerCompanyDetail.CompanyName.ToLower().Contains("mex") ? "MEX" : "";
            }

            var OperationZone = UtilityRepository.GetOperationZone();

            TermAndCondition newTermAndCondition = new TermAndCondition();

            newTermAndCondition.TermAndConditionId   = 0;
            newTermAndCondition.Detail               = termAndCondition.Detail;
            newTermAndCondition.CreatedOn            = DateTime.UtcNow;
            newTermAndCondition.OperationZoneId      = termAndCondition.OperationZoneId;
            newTermAndCondition.TermAndConditionType = termAndCondition.TermAndConditionType;
            newTermAndCondition.CreatedBy            = termAndCondition.CreatedBy;
            newTermAndCondition.ConpanyCode          = shortCode;
            dbContext.TermAndConditions.Add(newTermAndCondition);
            dbContext.SaveChanges();

            return(newTermAndCondition);
        }
Пример #10
0
        internal static void SendPODMail()
        {
            try
            {
                var setting = new ReportSettingRepository().GetAllReportSettings().Where(p => p.PODScheduleSetting == FrayteCustomerMailSetting.Scheduled && p.ScheduleSettingType == FrayteCustomerMailSetting.POD).ToList();
                if (setting.Count > 0)
                {
                    foreach (FryateReportSetting report in setting)
                    {
                        //Get server date in utc standard
                        DateTime serverdate = UtilityRepository.ConvertDateTimetoUniversalTime(DateTime.Now).Date;
                        //Get server time in HH:mm format
                        TimeSpan servertime   = TimeSpan.Parse(DateTime.Now.ToString("HH:mm"));
                        DateTime scheduledate = new DateTime(report.ScheduleDate.Year, report.ScheduleDate.Month, report.ScheduleDate.Day);
                        if (report.ScheduleTime <= servertime)
                        {
                            if (report.UpdatedOn == null || report.UpdatedOn.Value.Date < DateTime.Now.Date)
                            {
                                UpdateDirectShipmentPOD(report.UserId);

                                //Update Customer Setting UpdateOn information
                                new ReportSettingRepository().UpdateCustomerSettingInformation(report.CustomerPODSettingId, report.UserId);
                            }
                        }
                    }
                }
            }
            catch (Exception ex)
            {
                Logger _log = Get_Log();
                _log.Info("Error due to send customer pod information mail");
                _log.Error(ex.Message);
            }
        }
Пример #11
0
        public List <FrayteWarehouseLocation> GetAllLocations(int userId)
        {
            List <FrayteWarehouseLocation> locations = new List <FrayteWarehouseLocation>();

            try
            {
                var OpearatiopZone = UtilityRepository.GetOperationZone();
                var Country        = dbContext.Countries.Where(p => p.CountryCode == OpearatiopZone.OperationZoneName).FirstOrDefault();
                var list           = dbContext.Locations.Where(p => p.CountryId == Country.CountryId).ToList();
                if (list != null && list.Count > 0)
                {
                    FrayteWarehouseLocation location;
                    foreach (var data in list)
                    {
                        location = new FrayteWarehouseLocation();
                        location.LocationName = data.LocationName;
                        location.Barcode      = data.Barcode;
                        locations.Add(location);
                    }
                }
            }
            catch (Exception ex)
            {
                Elmah.ErrorSignal.FromCurrentContext().Raise(ex);
            }

            return(locations);
        }
Пример #12
0
        public List <DirectBookingCustomer> GetCustomersWithoutCharges(int userId, string moduleType, string mode)
        {
            var customerIds = dbcontext.AdminCharges.Where(p => p.CustomerId > 0 && p.IsActive == true).Select(p => p.CustomerId).Distinct().ToList();

            // To Do : customer should come according to moduleType
            var operationzone = UtilityRepository.GetOperationZone();
            List <DirectBookingCustomer> customers = new List <DirectBookingCustomer>();

            if (mode == "Add")
            {
                customers = (from r in dbcontext.Users
                             join ua in dbcontext.UserAdditionals on r.UserId equals ua.UserId
                             join ur in dbcontext.UserRoles on r.UserId equals ur.UserId
                             join CM in dbcontext.CustomerMarginCosts on r.UserId equals CM.CustomerId
                             where
                             ur.RoleId == (int)FrayteUserRole.Customer &&
                             r.IsActive == true &&
                             r.OperationZoneId == operationzone.OperationZoneId &&
                             !customerIds.Contains(r.UserId)
                             select new DirectBookingCustomer
                {
                    CustomerId = r.UserId,
                    CustomerName = r.ContactName,
                    CompanyName = r.CompanyName,
                    AccountNumber = ua.AccountNo,
                    EmailId = r.Email,
                    ValidDays = ua.DaysValidity.HasValue ? ua.DaysValidity.Value : 0,
                    CustomerCurrency = ua.CreditLimitCurrencyCode,
                    OperationZoneId = r.OperationZoneId
                }).Distinct().ToList();


                //      customers.Where(p => !customerIds.Contains(p.CustomerId)).ToList();
            }
            else
            {
                customers = (from r in dbcontext.Users
                             join ua in dbcontext.UserAdditionals on r.UserId equals ua.UserId
                             join ur in dbcontext.UserRoles on r.UserId equals ur.UserId
                             join CM in dbcontext.CustomerMarginCosts on r.UserId equals CM.CustomerId
                             where
                             ur.RoleId == (int)FrayteUserRole.Customer &&
                             r.IsActive == true &&
                             r.OperationZoneId == operationzone.OperationZoneId
                             select new DirectBookingCustomer
                {
                    CustomerId = r.UserId,
                    CustomerName = r.ContactName,
                    CompanyName = r.CompanyName,
                    AccountNumber = ua.AccountNo,
                    EmailId = r.Email,
                    ValidDays = ua.DaysValidity.HasValue ? ua.DaysValidity.Value : 0,
                    CustomerCurrency = ua.CreditLimitCurrencyCode,
                    OperationZoneId = r.OperationZoneId
                }).Distinct().ToList();
            }

            return(customers);
        }
Пример #13
0
        public FrayteResult SaveTradelaneTracking(TradelaneUpdateTrackingModel TM)
        {
            var Shipment = dbContext.TradelaneShipments.Where(a => a.TradelaneShipmentId == TM.TradelaneShipmentId).FirstOrDefault();
            var user     = dbContext.Users.Where(a => a.UserId == Shipment.CustomerId).FirstOrDefault();

            FrayteResult FR = new FrayteResult();

            FR.Status = false;
            var Result = dbContext.TradelaneFlightDetails.Where(a => a.TradelaneFlightDetailId == TM.TradelaneFlightId).FirstOrDefault();

            if (Result != null)
            {
                Result.TradelaneShipmentId  = TM.TradelaneShipmentId;
                Result.FlightNumber         = TM.FlightNo;
                Result.ArrivalAirportCode   = TM.DestinationAirportCode;
                Result.DepartureAirportCode = TM.DepartureAirportCode;
                var           Timezone = dbContext.Timezones.Where(a => a.TimezoneId == user.TimezoneId).FirstOrDefault();
                TimeZoneModal TZM      = new TimeZoneModal();
                if (Timezone != null)
                {
                    TZM.TimezoneId = Timezone.TimezoneId;
                    TZM.Name       = Timezone.Name;
                }
                Result.ArrivalDate            = UtilityRepository.ConvertToUniversalTimeWitDate(TM.ArrivalTime, TM.ArrivalDate.Value, TZM);
                Result.DepartureDate          = UtilityRepository.ConvertToUniversalTimeWitDate(TM.DepartureTime, TM.DepartureDate.Value, TZM);
                Result.BookingStatus          = TM.BookingStatus;
                Result.Pieces                 = TM.TotalPeices;
                Result.TotalVolume            = TM.Volume;
                Result.TotalWeight            = TM.TotalWeight;
                dbContext.Entry(Result).State = System.Data.Entity.EntityState.Modified;
                dbContext.SaveChanges();
                FR.Status = true;
            }
            else
            {
                TradelaneFlightDetail TlST = new TradelaneFlightDetail();
                TlST.TradelaneShipmentId  = TM.TradelaneShipmentId;
                TlST.FlightNumber         = TM.FlightNo;
                TlST.ArrivalAirportCode   = TM.DestinationAirportCode;
                TlST.DepartureAirportCode = TM.DepartureAirportCode;
                var           Timezone = dbContext.Timezones.Where(a => a.TimezoneId == user.TimezoneId).FirstOrDefault();
                TimeZoneModal TZM      = new TimeZoneModal();
                if (Timezone != null)
                {
                    TZM.TimezoneId = Timezone.TimezoneId;
                    TZM.Name       = Timezone.Name;
                }
                TlST.ArrivalDate   = UtilityRepository.ConvertToUniversalTimeWitDate(TM.ArrivalTime, TM.ArrivalDate.Value, TZM);
                TlST.DepartureDate = UtilityRepository.ConvertToUniversalTimeWitDate(TM.DepartureTime, TM.DepartureDate.Value, TZM);
                TlST.BookingStatus = TM.BookingStatus;
                TlST.Pieces        = TM.TotalPeices;
                TlST.TotalVolume   = TM.Volume;
                TlST.TotalWeight   = TM.TotalWeight;
                dbContext.TradelaneFlightDetails.Add(TlST);
                dbContext.SaveChanges();
                FR.Status = true;
            }
            return(FR);
        }
        public List <MawbAllocationModel> GetMawbAllocation(int TradelaneShipmentId, string Leg)
        {
            List <MawbAllocationModel> MAMList = new List <MawbAllocationModel>();
            var userid         = dbContext.TradelaneShipments.Where(a => a.TradelaneShipmentId == TradelaneShipmentId).FirstOrDefault().CustomerId;
            var CustomerDetail = new CustomerRepository().GetCustomerDetail(userid);

            List <TradelaneShipmentAllocation> Result = new List <TradelaneShipmentAllocation>();

            if (!string.IsNullOrEmpty(Leg))
            {
                Result = dbContext.TradelaneShipmentAllocations.Where(a => a.TradelaneShipmentId == TradelaneShipmentId && a.LegNum == Leg).ToList();
            }
            else
            {
                Result = dbContext.TradelaneShipmentAllocations.Where(a => a.TradelaneShipmentId == TradelaneShipmentId).ToList();
            }

            if (Result != null && Result.Count > 0)
            {
                foreach (var res in Result)
                {
                    TimeZoneModal TZM      = new TimeZoneModal();
                    var           Timezone = dbContext.Timezones.Where(a => a.TimezoneId == res.TimezoneId).FirstOrDefault();
                    if (Timezone != null)
                    {
                        TZM.TimezoneId = Timezone.TimezoneId;
                        TZM.Name       = Timezone.Name;
                    }
                    MawbAllocationModel MAM = new MawbAllocationModel();
                    MAM.AgentId      = res.AgentId.Value;
                    MAM.AirlineId    = res.AirlineId.Value;
                    MAM.CreatedBy    = res.CreatedBy.Value;
                    MAM.CreatedOnUTC = res.CreatedOnUTC.Value;
                    MAM.ETA          = res.EstimatedDateofArrival != null?UtilityRepository.ConvertDatetoSpecifiedTimeZoneTime(res.EstimatedDateofArrival.Value, TZM) : (DateTime?)null;

                    MAM.ETD = res.EstimatedDateofDelivery != null?UtilityRepository.ConvertDatetoSpecifiedTimeZoneTime(res.EstimatedDateofDelivery.Value, TZM) : (DateTime?)null;

                    MAM.ETATime = res.EstimatedDateofArrival != null?UtilityRepository.ConvertToCustomerTimeZone(res.EstimatedDateofArrival.Value.TimeOfDay, TZM) : "";

                    MAM.ETDTime = res.EstimatedDateofDelivery != null?UtilityRepository.ConvertToCustomerTimeZone(res.EstimatedDateofDelivery.Value.TimeOfDay, TZM) : "";

                    MAM.TimezoneId       = res.TimezoneId.Value;
                    MAM.FlightNumber     = res.FlightNumber;
                    MAM.LegNum           = res.LegNum;
                    MAM.MAWB             = res.MAWB;
                    MAM.MawbAllocationId = res.TradelaneShipmentAllocationId;
                    MAM.TradelaneId      = res.TradelaneShipmentId.Value;
                    MAMList.Add(MAM);
                }
                return(MAMList);
            }
            else
            {
                return(MAMList);
            }
        }
Пример #15
0
        public ExportManifestPdfModel GetExportManifestPDFDataSource(int TradelaneShipmentId)
        {
            ExportManifestPdfModel EMPM = new ExportManifestPdfModel();
            var Result = dbContext.ExpressManifests.Where(a => a.TradelaneShipmentId == TradelaneShipmentId).FirstOrDefault();
            TradelaneBooking ShipmentDetail = new TradelaneBookingRepository().GetTradelaneBookingDetails(TradelaneShipmentId, "");

            if (Result != null)
            {
                EMPM.ExportManifestName = "Origin Manifest-" + Result.BarCode + " (" + ShipmentDetail.ShipmentHandlerMethod.DisplayName + ")";
                EMPM.BarCode            = Result.BarCode;
                EMPM.PrintedBy          = dbContext.Users.Where(a => a.UserId == Result.CreadtdBy.Value).FirstOrDefault().ContactName;
                EMPM.PrintedOn          = GetDateTimeString(Result.CreadtdBy, Result.CreatedOn);
                EMPM.PickUpAddress      = UtilityRepository.ConcatinateExpressAddress(ShipmentDetail.ShipFrom);
                EMPM.MawbInfo           = new List <ExpressMawbInformationModel>();
                var MawbDtl = dbContext.TradelaneShipmentAllocations.Where(a => a.TradelaneShipmentId == TradelaneShipmentId).ToList();
                if (MawbDtl != null && MawbDtl.Count > 0)
                {
                    foreach (var MD in MawbDtl)
                    {
                        ExpressMawbInformationModel ExMa = new ExpressMawbInformationModel();
                        ExMa.Airline     = GetAirlineName(MD.AirlineId);
                        ExMa.ETA         = GetDateTimeZone(MD.AgentId, MD.EstimatedDateofArrival).Item1;
                        ExMa.ETD         = GetDateTimeZone(MD.AgentId, MD.EstimatedDateofDelivery).Item1;
                        ExMa.ETATimeZone = GetDateTimeZone(MD.AgentId, MD.EstimatedDateofDelivery).Item2;
                        ExMa.ETDTimeZone = GetDateTimeZone(MD.AgentId, MD.EstimatedDateofDelivery).Item2;
                        ExMa.FlightNo    = MD.FlightNumber;
                        var AirlineCode = ExMa.Airline.Split('-');
                        ExMa.Mawb = AirlineCode[1].Substring(1, 3) + " " + MD.MAWB.Substring(0, 4) + " " + MD.MAWB.Substring(4, 4);
                        EMPM.MawbInfo.Add(ExMa);
                    }
                }
                EMPM.BagsInfo = new List <BagDetail>();
                var list = dbContext.spGet_GetExpressManifestedShipments(Result.ExpressManifestId).ToList();
                ExpressViewManifest EVM = new ExpressViewManifest();

                EVM.ManifestedList = new List <ExpressManifestDetail>();
                if (list != null && list.Count > 0)
                {
                    var Bags = list.GroupBy(a => a.BagBarCode).ToList();
                    foreach (var b in Bags)
                    {
                        BagDetail Bg = new BagDetail();
                        EVM.ManifestName = Bags.FirstOrDefault().FirstOrDefault().BarCode;
                        Bg.BagNumber     = b.FirstOrDefault().BagBarCode;
                        Bg.Carrier       = b.FirstOrDefault().Carrier;
                        Bg.ExporterName  = b.FirstOrDefault().ContactName;
                        Bg.TotalPieces   = b.FirstOrDefault().TotalNoOfShipments.Value;
                        Bg.TotalWeight   = b.FirstOrDefault().TotalWeight;
                        EMPM.BagsInfo.Add(Bg);
                    }
                }
            }
            return(EMPM);
        }
Пример #16
0
        public static List <Utility> GetActiveUtilities()
        {
            List <Utility> ut;

            using (CustomClearviewEntities ctx = new CustomClearviewEntities())
            {
                UtilityRepository repo = new UtilityRepository(ctx);
                ut = repo.GetActiveItems();
            }
            return(ut);
        }
        public FrayteManifestName GenerateExpressTrackandTraceDetail(ExpressTrackandTrace trackdetail)
        {
            FrayteManifestName result = new FrayteManifestName();

            string Name = "";

            if (trackdetail.CustomerName == "ALL")
            {
                var OperationZone = UtilityRepository.GetOperationZone();
                if (OperationZone.OperationZoneId == 1)
                {
                    Name = "AllHK";
                }
                else if (OperationZone.OperationZoneId == 2)
                {
                    Name = "AllUK";
                }
            }
            else
            {
                Name = trackdetail.CustomerName;
            }

            try
            {
                var track = new ExpressRepository().GetExpressTrackAndTraceDetail(trackdetail);
                if (track != null && track.Count > 0)
                {
                    ReportTemplate.Other.AllUKReport rp = new ReportTemplate.Other.AllUKReport();
                    rp.DataSource = track;
                    if (File.Exists(HttpContext.Current.Server.MapPath(AppSettings.ReportFolder) + "/" + "ExpressTrack&Trace" + "/" + Name + "_" + "Express_Track_Trace_Detail" + "_" + DateTime.Now.ToString("dd_MM_yyyy") + ".xlsx"))
                    {
                        File.Delete(HttpContext.Current.Server.MapPath(AppSettings.ReportFolder) + "/" + "ExpressTrack&Trace" + "/" + Name + "_" + "Express_Track_Trace_Detail" + "_" + DateTime.Now.ToString("dd_MM_yyyy") + ".xlsx");
                        rp.ExportToXlsx(HttpContext.Current.Server.MapPath(AppSettings.ReportFolder) + "/" + "ExpressTrack&Trace" + "/" + Name + "_" + "Express_Track_Trace_Detail" + "_" + DateTime.Now.ToString("dd_MM_yyyy") + ".xlsx");
                        result.FileName   = Name + "_" + "Express_Track_Trace_Detail" + "_" + DateTime.Now.ToString("dd_MM_yyyy") + ".xlsx";
                        result.FilePath   = AppSettings.WebApiPath + "ReportFiles/ExpressTrack&Trace/" + Name + "_" + "Express_Track_Trace_Detail" + "_" + DateTime.Now.ToString("dd_MM_yyyy") + ".xlsx";
                        result.FileStatus = true;
                    }
                    else
                    {
                        System.IO.Directory.CreateDirectory(HttpContext.Current.Server.MapPath(AppSettings.ReportFolder + "/" + "ExpressTrack&Trace" + "/"));
                        rp.ExportToXlsx(HttpContext.Current.Server.MapPath(AppSettings.ReportFolder) + "/" + "ExpressTrack&Trace" + "/" + Name + "_" + "Express_Track_Trace_Detail" + "_" + DateTime.Now.ToString("dd_MM_yyyy") + ".xlsx");
                        result.FileName   = Name + "_" + "Express_Track_Trace_Detail" + "_" + DateTime.Now.ToString("dd_MM_yyyy") + ".xlsx";
                        result.FilePath   = AppSettings.WebApiPath + "ReportFiles/ExpressTrack&Trace/" + Name + "_" + "Express_Track_Trace_Detail" + "_" + DateTime.Now.ToString("dd_MM_yyyy") + ".xlsx";
                        result.FileStatus = true;
                    }
                }
            }
            catch (Exception ex)
            {
            }
            return(result);
        }
Пример #18
0
        public List <FrayteUnAssignedJob> GetUnAssignedJobs(TrackHSCodeJob obj)
        {
            List <FrayteUnAssignedJob> list = new List <FrayteUnAssignedJob>();

            try
            {
                int SkipRows = 0;
                SkipRows = (obj.CurrentPage - 1) * obj.TakeRows;
                var OperationZone = UtilityRepository.GetOperationZone();
                // To Do : Get ETD Date And Time  in the list
                var jobs = dbContext.TrackUnAssignedJob(obj.FromDate, obj.ToDate, SkipRows, obj.TakeRows, OperationZone.OperationZoneId).ToList();

                var d = jobs.Where(p => p.EstimatedDateOfDelivery.HasValue).ToList();
                if (jobs != null && jobs.Count > 0)
                {
                    foreach (var data in jobs)
                    {
                        FrayteUnAssignedJob job = new FrayteUnAssignedJob();
                        job.CourierCompany        = data.LogisticCompany;
                        job.CourierCompanyDisplay = data.LogisticCompanyDisplay;
                        job.Customer                 = data.ContactName;
                        job.DisplayStatus            = data.StatusName;
                        job.ShippedFromCompany       = data.FromCompany;
                        job.ShippedToCompany         = data.ToCompany;
                        job.ShippingDate             = data.CreatedOn;
                        job.TotalRows                = data.TotalRows.HasValue ? data.TotalRows.Value : 0;
                        job.TrackingNo               = data.TrackingNo;
                        job.EstimatedDateOfDeparture = data.EstimatedDateOfDelivery;
                        job.EstimatedTimeOfDeparture = UtilityRepository.GetTimeZoneTime(data.EstimatedTimeofDelivery);
                        job.EstimatedDateOfArrival   = data.EstimatedDateofArrival;
                        job.EstimatedTimeOfArrival   = UtilityRepository.GetTimeZoneTime(data.EstimatedTimeofArrival);
                        job.ShipmentId               = data.DirectShipmentId;
                        job.ShipmentDescription      = data.ContentDescription;
                        job.Reference1               = data.Reference1;
                        job.FrayteNumber             = data.FrayteNumber;
                        job.FromCountry              = data.FromCountry;
                        job.ToCountry                = data.ToCountry;

                        list.Add(job);
                    }
                }

                // To Do : OrderBy on ETD date and then ETD Time
                var collection = list.OrderByDescending(p => p.EstimatedDateOfDeparture).ThenByDescending(p => UtilityRepository.GetTimeFromString(p.EstimatedTimeOfDeparture)).ToList();
                return(collection);
            }
            catch (Exception ex)
            {
                Elmah.ErrorSignal.FromCurrentContext().Raise(ex);
                return(list);
            }
        }
Пример #19
0
 public ReceiverPaymentInfo GetPaymentInitials(string key)
 {
     try
     {
         string decriptString       = UtilityRepository.ConvertHexToString(key, System.Text.Encoding.UTF8);
         ReceiverPaymentInfo result = new PaymentRepository().GetReceiverPaymentInfo(decriptString);
         return(result);
     }
     catch (Exception ex)
     {
         return(null);
     }
 }
Пример #20
0
        public FrayteAddress GetShipperMainAddress(int shipperId)
        {
            FrayteAddress shipperMainAddress = new FrayteAddress();

            var address = dbContext.UserAddresses.Where(p => p.UserId == shipperId && p.AddressTypeId == (int)FrayteAddressType.MainAddress).FirstOrDefault();

            if (address != null)
            {
                shipperMainAddress = UtilityRepository.UserAddressMapping(address);
            }

            return(shipperMainAddress);
        }
Пример #21
0
        public List <FrayteCustomerSpecificAdminCharges> GetCustomerSpecificAdminCharges()
        {
            List <FrayteCustomerSpecificAdminCharges> list = new List <FrayteCustomerSpecificAdminCharges>();

            try
            {
                var OperationZoneId = UtilityRepository.GetOperationZone().OperationZoneId;

                var charges = (from r in dbcontext.AdminCharges
                               join u in dbcontext.Users on r.CustomerId equals u.UserId
                               join ua in dbcontext.UserAdditionals on r.CustomerId equals ua.UserId
                               where r.IsActive == true && r.OperationZoneId == OperationZoneId
                               select new
                {
                    CustomerName = u.CompanyName,
                    CustomerId = r.CustomerId,
                    AdminChargeId = r.AdminChargesId,
                    CreatedBy = r.CreatedBy,
                    ChargeType = r.ChargeType,
                    Key = r.ShortName,
                    Value = r.Name,
                    Amount = r.Value,
                    CurrencyCode = r.CurrencyCode,
                    CreatedOn = r.CreatedOnUtc
                }
                               ).ToList();
                list = charges.GroupBy(x => x.CustomerId)
                       .Select(group => new FrayteCustomerSpecificAdminCharges
                {
                    CustomerId   = group.FirstOrDefault().CustomerId,
                    CustomerName = group.FirstOrDefault().CustomerName,
                    Charges      = group.Select(subGroup => new AdminChargesTypes
                    {
                        AdminChargeId = subGroup.AdminChargeId,
                        Amount        = subGroup.Amount,
                        ChargeType    = subGroup.ChargeType,
                        CreatedBy     = subGroup.CreatedBy,
                        CreatedOn     = subGroup.CreatedOn,
                        Key           = subGroup.Key,
                        CurrencyCode  = subGroup.CurrencyCode,
                        Value         = subGroup.Value
                    }).ToList()
                }).ToList();
            }
            catch (Exception ex)
            {
                Elmah.ErrorSignal.FromCurrentContext().Raise(ex);
            }

            return(list);
        }
Пример #22
0
        public EtowerResponseModel CreateShipment(List <ETowerRequestModel> request, int DirectShipmentDraftId)
        {
            EtowerResponseModel response = new EtowerResponseModel();
            var    logisticIntegration   = UtilityRepository.getLogisticIntegration(UtilityRepository.GetOperationZone().OperationZoneId, AppSettings.ApplicationMode, FrayteIntegration.ETOWER);
            string url = logisticIntegration.ServiceUrl + "/services/shipper/orders";
            var    shipmentRequestjson = JsonConvert.SerializeObject(request);
            var    result = ETowerApiCalling(url, shipmentRequestjson, "Shipment");

            response          = Newtonsoft.Json.JsonConvert.DeserializeObject <EtowerResponseModel>(result);
            response.Request  = shipmentRequestjson;
            response.Response = result;
            if (response.status == "Success")
            {
                LabelResponseModel label = new LabelResponseModel();

                #region Label Dwonload

                var eTowerLableRequest = new EtowerLableRequest()
                {
                    labelFormat = "PDF",
                    labelType   = 1,
                    merged      = false,
                    packinglist = true,
                };
                eTowerLableRequest.orderIds = new List <string>();
                eTowerLableRequest.orderIds.Add(response.data[0].orderId);
                var    labeljson     = JsonConvert.SerializeObject(eTowerLableRequest);
                string Labelurl      = logisticIntegration.ServiceUrl + "/services/shipper/labels";
                var    lableResponse = ETowerApiCalling(Labelurl, labeljson, "Label");
                label = JsonConvert.DeserializeObject <LabelResponseModel>(lableResponse);

                if (label.status == "Success")
                {
                    response.data[0].labelContent = label.data[0].labelContent;
                }
                else
                {
                    //Label Error
                }

                #endregion
            }
            else
            {
                var EtowerError = JsonConvert.DeserializeObject <EtowerError>(result);
            }
            return(response);
        }
Пример #23
0
        public void ShowDatabaseScript(object obj)
        {
            var model    = (DatabaseObjectItemViewModel)obj;
            var dbObject = new DatabaseObject
            {
                DatabaseName = model.DatabaseName,
                ObjectSchema = model.SchemaName,
                ObjectName   = model.Name,
                TypeCode     = model.Type
            };

            var utility = new UtilityRepository();

            utility.GetSmoObject(dbObject);
            ShowScript(dbObject.DbSql, $"Source {"Database"}: {dbObject.FormattedName}");
        }
Пример #24
0
 public IActionResult UpdateUser([FromBody] User oUser, int id)
 {
     try
     {
         oUser.Password = UtilityRepository.Encrypt(oUser.Password, "sblw-3hn8-sqoy19");
         int res = _repoUser.Update(oUser);
         if (res != 0)
         {
             return(Ok(res));
         }
         return(Forbid());
     }
     catch (Exception ex)
     {
         return(null);
     }
 }
Пример #25
0
        public TimeZoneModal GetOperationTimezone()
        {
            FrayteOperationZone operationZone = UtilityRepository.GetOperationZone();

            var timeZone = (from tz in dbContext.Timezones join
                            c in dbContext.Countries on tz.TimezoneId equals c.TimeZoneId
                            where c.CountryCode == operationZone.OperationZoneName
                            select new TimeZoneModal()
            {
                TimezoneId = tz.TimezoneId,
                Name = tz.Name,
                Offset = tz.Offset,
                OffsetShort = tz.OffsetShort
            }).FirstOrDefault();

            return(timeZone);
        }
Пример #26
0
        public List <FrayteCourier> GetUKCourier()
        {
            List <FrayteCourier> lstCourier = new List <FrayteCourier>();
            var result = dbContext.Couriers.ToList().Skip(3);

            foreach (Courier courier in result)
            {
                FrayteCourier frayteCourier = new FrayteCourier();
                frayteCourier.CourierId         = courier.CourierId;
                frayteCourier.Name              = courier.CourierName;
                frayteCourier.DisplayName       = courier.DisplayName;
                frayteCourier.Website           = courier.Website;
                frayteCourier.CourierType       = courier.ShipmentType;
                frayteCourier.LatestBookingTime = UtilityRepository.GetTimeZoneTime(courier.LatestBookingTime);
                lstCourier.Add(frayteCourier);
            }
            return(lstCourier);
        }
Пример #27
0
        private Tuple <string, string> GetDateTimeZone(int?UserId, DateTime?CreatedOn)
        {
            var customerDetail = dbContext.Users.Where(a => a.UserId == UserId).FirstOrDefault();
            var timeZone       = dbContext.Timezones.Where(p => p.TimezoneId == customerDetail.TimezoneId).FirstOrDefault();
            var Timezone       = new TimeZoneModal();

            if (timeZone != null)
            {
                Timezone.TimezoneId  = timeZone.TimezoneId;
                Timezone.Name        = timeZone.Name;
                Timezone.Offset      = timeZone.Offset;
                Timezone.OffsetShort = timeZone.OffsetShort;
            }

            var TimeZoneDetail = TimeZoneInfo.FindSystemTimeZoneById(timeZone.Name);
            var CreatedOn1     = UtilityRepository.UtcDateToOtherTimezone(CreatedOn.Value, CreatedOn.Value.TimeOfDay, TimeZoneDetail).Item1;

            return(Tuple.Create(CreatedOn1.ToString("dd-MMM-yyyy hh:mm"), "(" + Timezone.OffsetShort + ")"));
        }
Пример #28
0
        public List <FrayteSystemAlert> GetSystemAlerts(TrackSystemAlert trackSystemAlert)
        {
            int SkipRows = 0;

            SkipRows = (trackSystemAlert.CurrentPage - 1) * trackSystemAlert.TakeRows;
            var result = dbContext.spGet_GetSystemAlerts(trackSystemAlert.OperationZoneId, trackSystemAlert.FromDate, trackSystemAlert.ToDate,
                                                         SkipRows, trackSystemAlert.TakeRows).ToList();
            List <FrayteSystemAlert> list = new List <FrayteSystemAlert>();

            if (result != null && result.Count > 0)
            {
                FrayteSystemAlert SystemAlertResult;
                foreach (var data in result)
                {
                    SystemAlertResult = new FrayteSystemAlert();
                    SystemAlertResult.SystemAlertId       = data.SystemAlertId;
                    SystemAlertResult.OperationZoneId     = data.OperationZoneId;
                    SystemAlertResult.Heading             = data.Heading;
                    SystemAlertResult.Description         = data.Description;
                    SystemAlertResult.FromDate            = data.FromDate;
                    SystemAlertResult.FromTime            = UtilityRepository.GetTimeZoneTime(data.FromTime);
                    SystemAlertResult.ToDate              = data.ToDate;
                    SystemAlertResult.ToTime              = UtilityRepository.GetTimeZoneTime(data.ToTime);
                    SystemAlertResult.IsActive            = data.IsActive;
                    SystemAlertResult.TotalRows           = data.TotalRows.Value;
                    SystemAlertResult.TimeZoneDetail      = new TimeZoneModal();
                    SystemAlertResult.TimeZoneDetail.Name = data.TimeZoneName;
                    if (data.TimezoneId.HasValue)
                    {
                        SystemAlertResult.TimeZoneDetail.TimezoneId = data.TimezoneId.Value;
                    }
                    SystemAlertResult.TimeZoneDetail.Offset      = data.TimeZoneOffset;
                    SystemAlertResult.TimeZoneDetail.OffsetShort = data.TimeZoneOffsetShort;
                    var TimeZoneInformation = TimeZoneInfo.FindSystemTimeZoneById(data.TimeZoneName);
                    SystemAlertResult.FromTime = UtilityRepository.UtcDateToOtherTimezone(data.FromDate, data.FromTime, TimeZoneInformation).Item2;
                    SystemAlertResult.FromDate = UtilityRepository.UtcDateToOtherTimezone(data.FromDate, data.FromTime, TimeZoneInformation).Item1;
                    SystemAlertResult.ToTime   = UtilityRepository.UtcDateToOtherTimezone(data.ToDate, data.ToTime, TimeZoneInformation).Item2;
                    SystemAlertResult.ToDate   = UtilityRepository.UtcDateToOtherTimezone(data.ToDate, data.ToTime, TimeZoneInformation).Item1;
                    list.Add(SystemAlertResult);
                }
            }
            return(list);
        }
Пример #29
0
        public FrayteResult SaveCustomerCharge(FrayteCustomerSpecificAdminCharges charge)
        {
            FrayteResult result = new FrayteResult();

            try
            {
                AdminCharge adminCharge;
                foreach (var item in charge.Charges)
                {
                    if (item.AdminChargeId == 0)
                    {
                        adminCharge                 = new AdminCharge();
                        adminCharge.Value           = item.Amount;
                        adminCharge.CustomerId      = charge.CustomerId;
                        adminCharge.CreatedOnUtc    = DateTime.UtcNow;
                        adminCharge.IsActive        = true;
                        adminCharge.Name            = item.Value;
                        adminCharge.ShortName       = item.Key;
                        adminCharge.OperationZoneId = UtilityRepository.GetOperationZone().OperationZoneId;
                        adminCharge.ChargeType      = item.ChargeType;
                        adminCharge.CreatedBy       = item.CreatedBy;
                        adminCharge.CurrencyCode    = "GBP";// item.CurrencyCode;
                        dbcontext.AdminCharges.Add(adminCharge);
                        dbcontext.SaveChanges();
                    }
                    else
                    {
                        adminCharge              = dbcontext.AdminCharges.Find(item.AdminChargeId);
                        adminCharge.Value        = item.Amount;
                        adminCharge.UpdatedOnUtc = DateTime.UtcNow;
                        adminCharge.UpdatedBy    = item.CreatedBy;
                        dbcontext.SaveChanges();
                    }
                }
                result.Status = true;
            }
            catch (Exception ex)
            {
                Elmah.ErrorSignal.FromCurrentContext().Raise(ex);
                result.Status = false;
            }
            return(result);
        }
Пример #30
0
        public USPSResponse CreateShipment(USPSRequest request, int ExpressId)
        {
            USPSResponse response = new USPSResponse();

            FrayteLogisticIntegration logisticIntegration = UtilityRepository.getLogisticIntegration(UtilityRepository.GetOperationZone().OperationZoneId, AppSettings.ApplicationMode, FrayteIntegration.USPS);

            string res = string.Empty;

            request.header.key     = logisticIntegration.InetgrationKey;
            request.header.version = logisticIntegration.AppVersion;

            var usps = Newtonsoft.Json.JsonConvert.SerializeObject(request);

            res      = GetResponse(logisticIntegration, usps);
            response = JsonConvert.DeserializeObject <USPSResponse>(res);
            var error = JsonConvert.DeserializeObject <USPSError>(res);

            return(response);
        }