Ejemplo n.º 1
0
        public FrayteResult SaveShipper(FrayteShipperReceiver frayteUser)
        {
            FrayteResult         result         = new FrayteResult();
            FrayteUserRepository userRepository = new FrayteUserRepository();

            //Step 1: Save User Detail
            userRepository.SaveUserDetail(frayteUser);

            //Step 2: Save user role
            userRepository.SaveUserRole(frayteUser.UserId, (int)FrayteUserRole.Shipper);

            //Step 3: Save User Address information
            frayteUser.UserAddress.AddressTypeId = (int)FrayteAddressType.MainAddress;
            frayteUser.UserAddress.UserId        = frayteUser.UserId;
            userRepository.SaveUserAddress(frayteUser.UserAddress);

            //Step 4: Save Shipper Pickup address information
            if (frayteUser.PickupAddresses != null && frayteUser.PickupAddresses.Count > 0)
            {
                foreach (FrayteAddress address in frayteUser.PickupAddresses)
                {
                    address.AddressTypeId = (int)FrayteAddressType.OtherAddress;
                    address.UserId        = frayteUser.UserId;
                    userRepository.SaveUserAddress(address);
                }
            }

            result.Status = true;
            return(result);
        }
Ejemplo n.º 2
0
        public FrayteShipperReceiver GetShipperDetail(int shipperId)
        {
            FrayteShipperReceiver shippersDetail = new FrayteShipperReceiver();

            shippersDetail = new ShipperRepository().GetShipperDetail(shipperId);

            return(shippersDetail);
        }
Ejemplo n.º 3
0
        public FrayteShipperReceiver GetReceiverDetail(int receiverId)
        {
            FrayteShipperReceiver receiverDetail = new FrayteShipperReceiver();

            receiverDetail = new ReceiverRepository().GetReceiverDetail(receiverId);

            return(receiverDetail);
        }
Ejemplo n.º 4
0
        public IHttpActionResult SaveReceiver(FrayteShipperReceiver receiverDetail)
        {
            FrayteResult result = new ReceiverRepository().SaveReceiver(receiverDetail);
            // Link Receiver To Shipper
            ReceiverShipper receiverShipper = new ReceiverShipper();

            receiverShipper.ReceiverId = receiverDetail.UserId;
            new ReceiverRepository().SaveReceiverShippers(receiverShipper);
            if (result != null)
            {
                return(Ok(result));
            }
            else
            {
                return(NotFound());
            }
        }
Ejemplo n.º 5
0
        public List <FrayteShipperReceiver> GetShippers(DataTable exceldata)
        {
            List <FrayteShipperReceiver> shippers = new List <FrayteShipperReceiver>();

            FrayteShipperReceiver shipper;

            foreach (DataRow shipmentdetail in exceldata.Rows)
            {
                shipper = new FrayteShipperReceiver();

                shipper.UserId      = 0;
                shipper.RoleId      = (int)FrayteUserRole.Shipper;
                shipper.CompanyName = shipmentdetail["CompanyName"].ToString();
                shipper.ContactName = shipmentdetail["ContactName"].ToString();
                shipper.ShortName   = shipmentdetail["ShortName"].ToString();
                shipper.Email       = shipmentdetail["Email"].ToString();

                shipper.TelephoneNo = shipmentdetail["TelephoneNo"].ToString();
                shipper.MobileNo    = shipmentdetail["MobileNo"].ToString();

                shipper.FaxNumber        = shipmentdetail["FaxNumber"].ToString();
                shipper.WorkingStartTime = Convert.ToDateTime(shipmentdetail["WorkingStartTime"]);
                shipper.WorkingEndTime   = Convert.ToDateTime(shipmentdetail["WorkingEndTime"]);
                shipper.WorkingWeekDay   = new WorkingWeekDay();
                string workingDay           = shipmentdetail["WorkingWeekDay"].ToString();
                var    workingWeekDayResult = dbContext.WorkingWeekDays.Where(p => p.Description == workingDay).FirstOrDefault();
                if (workingWeekDayResult != null)
                {
                    shipper.WorkingWeekDay = workingWeekDayResult;
                }
                else
                {
                    shipper.WorkingWeekDay.Description = shipmentdetail["WorkingWeekDay"].ToString();
                }

                shipper.Timezone = new TimeZoneModal();
                string weekTimezone   = shipmentdetail["Timezone"].ToString();
                var    timeZoneResult = dbContext.Timezones.Where(p => p.Name == weekTimezone).FirstOrDefault();
                if (timeZoneResult != null)
                {
                    shipper.Timezone.TimezoneId  = timeZoneResult.TimezoneId;
                    shipper.Timezone.Name        = timeZoneResult.Name;
                    shipper.Timezone.Offset      = timeZoneResult.Offset;
                    shipper.Timezone.OffsetShort = timeZoneResult.OffsetShort;
                }
                else
                {
                    shipper.Timezone.Name = shipmentdetail["Timezone"].ToString();
                }

                shipper.VATGST    = shipmentdetail["VATGST"].ToString();
                shipper.CreatedOn = DateTime.UtcNow;

                FrayteAddress shipperAddress = new FrayteAddress();

                shipperAddress.Address  = shipmentdetail["Address"].ToString();
                shipperAddress.Address2 = shipmentdetail["Address2"].ToString();
                shipperAddress.Address3 = shipmentdetail["Address3"].ToString();
                shipperAddress.Suburb   = shipmentdetail["Suburb"].ToString();
                shipperAddress.City     = shipmentdetail["City"].ToString();
                shipperAddress.State    = shipmentdetail["State"].ToString();
                shipperAddress.Zip      = shipmentdetail["Zip"].ToString();
                shipperAddress.Country  = new FrayteCountryCode();
                string countryName = shipmentdetail["Country"].ToString();
                var    country     = dbContext.Countries.Where(p => p.CountryName == countryName).FirstOrDefault();
                if (country != null)
                {
                    shipperAddress.Country.CountryId = country.CountryId;
                    shipperAddress.Country.Code      = country.CountryCode;
                    shipperAddress.Country.Name      = country.CountryName;
                }
                else
                {
                    shipperAddress.Country.Code = shipmentdetail["Country"].ToString();
                }

                shipper.UserAddress = shipperAddress;

                shippers.Add(shipper);
            }

            return(shippers);
        }
Ejemplo n.º 6
0
        public FrayteShipperReceiver GetShipperDetail(int shipperId)
        {
            FrayteShipperReceiver shipperReceiver = new FrayteShipperReceiver();
            WorkingWeekDay        workingDays     = new WorkingWeekDay();
            //Step 1: Get Shipper basic information
            var shipper = dbContext.Users.Where(p => p.UserId == shipperId).FirstOrDefault();

            if (shipper != null)
            {
                //Set User's bacic information
                shipperReceiver = UtilityRepository.ShipperReceiverMapping(shipper);
                // get Working Week day

                if (shipperReceiver.WorkingWeekDay.WorkingWeekDayId > 0)
                {
                    workingDays = dbContext.WorkingWeekDays.Find(shipperReceiver.WorkingWeekDay.WorkingWeekDayId);
                }


                if (workingDays != null)
                {
                    shipperReceiver.WorkingWeekDay = workingDays;
                }
                //Step 1.1: Get time zone
                var timeZone = dbContext.Timezones.Where(p => p.TimezoneId == shipper.TimezoneId).FirstOrDefault();
                if (timeZone != null)
                {
                    shipperReceiver.Timezone             = new TimeZoneModal();
                    shipperReceiver.Timezone.TimezoneId  = timeZone.TimezoneId;
                    shipperReceiver.Timezone.Name        = timeZone.Name;
                    shipperReceiver.Timezone.Offset      = timeZone.Offset;
                    shipperReceiver.Timezone.OffsetShort = timeZone.OffsetShort;
                }

                //Step 2: Get Shipper's Address information
                var shipperAddress = dbContext.UserAddresses.Where(p => p.UserId == shipperId).ToList();
                if (shipperAddress != null)
                {
                    shipperReceiver.PickupAddresses = new List <FrayteAddress>();

                    foreach (UserAddress address in shipperAddress)
                    {
                        if (address.AddressTypeId == (int)FrayteAddressType.MainAddress)
                        {
                            //Step 2.1: Set Shipper.ShipperAddress
                            shipperReceiver.UserAddress = new FrayteAddress();
                            shipperReceiver.UserAddress = UtilityRepository.UserAddressMapping(address);

                            //Step : Get country information
                            var country = dbContext.Countries.Where(p => p.CountryId == address.CountryId).FirstOrDefault();
                            if (country != null)
                            {
                                shipperReceiver.UserAddress.Country                = new FrayteCountryCode();
                                shipperReceiver.UserAddress.Country.CountryId      = country.CountryId;
                                shipperReceiver.UserAddress.Country.Code           = country.CountryCode;
                                shipperReceiver.UserAddress.Country.Name           = country.CountryName;
                                shipperReceiver.UserAddress.Country.TimeZoneDetail = new TimeZoneModal();
                                if (country.TimeZoneId != null && country.TimeZoneId > 0)
                                {
                                    var time = dbContext.Timezones.Find(country.TimeZoneId);
                                    shipperReceiver.UserAddress.Country.TimeZoneDetail.Name        = time.Name;
                                    shipperReceiver.UserAddress.Country.TimeZoneDetail.Offset      = time.Offset;
                                    shipperReceiver.UserAddress.Country.TimeZoneDetail.OffsetShort = time.OffsetShort;
                                    shipperReceiver.UserAddress.Country.TimeZoneDetail.TimezoneId  = time.TimezoneId;
                                }
                            }
                        }
                        else
                        {
                            //Step 2.2: Set Agent's other addresses
                            FrayteAddress otherAddress = UtilityRepository.UserAddressMapping(address);

                            //Step : Get country information
                            var country = dbContext.Countries.Where(p => p.CountryId == otherAddress.Country.CountryId).FirstOrDefault();
                            if (country != null)
                            {
                                otherAddress.Country                = new FrayteCountryCode();
                                otherAddress.Country.CountryId      = country.CountryId;
                                otherAddress.Country.Code           = country.CountryCode;
                                otherAddress.Country.Name           = country.CountryName;
                                otherAddress.Country.TimeZoneDetail = new TimeZoneModal();
                                if (country.TimeZoneId != null && country.TimeZoneId > 0)
                                {
                                    var time = dbContext.Timezones.Find(country.TimeZoneId);
                                    otherAddress.Country.TimeZoneDetail.Name        = time.Name;
                                    otherAddress.Country.TimeZoneDetail.Offset      = time.Offset;
                                    otherAddress.Country.TimeZoneDetail.OffsetShort = time.OffsetShort;
                                    otherAddress.Country.TimeZoneDetail.TimezoneId  = time.TimezoneId;
                                }
                            }

                            shipperReceiver.PickupAddresses.Add(otherAddress);
                        }
                    }
                }
            }

            return(shipperReceiver);
        }