public ResultOnDemandPickupRequest_Type1 SendUpsService(string ShipperName, string ShipperAddress, string ShipperCityCode, string ShipperAreaCode, string ShipperPhoneNumber, string ShipperEMail)
        {
            if (!string.IsNullOrEmpty(ShipperCityCode) && !string.IsNullOrEmpty(ShipperAreaCode))
            {
                CreateShipmentSoapClient cssc = new CreateShipmentSoapClient();

                OnDemandPickupRequestInfo_Type1 PickupRequestInfo = new OnDemandPickupRequestInfo_Type1(); //Session ile birlikte gönderilecek class

                BoxType            boxType             = new BoxType();
                BoxType[]          _boxtypeDizi        = new BoxType[1];
                ShipmentInfo_Type3 _shipmentInfo_Type3 = new ShipmentInfo_Type3();

                UpsServiceLogin UpsServiceLogin = new UpsServiceLogin();

                //Casper Bina Bilgilerini axaptanın veritabanından SP ile aldık..
                BussinesLogicCasper        BLL             = new BussinesLogicCasper();
                List <UpsCompanyInfoClass> CompanyInfoList = (List <UpsCompanyInfoClass>)BLL.GetConpanyInfo().Result; // SP'den gelen veriler...


                PickupRequestInfo.LabelSource      = 1;
                PickupRequestInfo.PickupRequestDay = DateTime.Now.AddDays(1);
                boxType.BoxTypeCode = 1;
                boxType.BoxCount    = 1;
                _boxtypeDizi[0]     = boxType;
                PickupRequestInfo.RequestedBoxList = _boxtypeDizi;

                _shipmentInfo_Type3.ShipperName              = ShipperName;
                _shipmentInfo_Type3.ShipperAddress           = ShipperAddress;
                _shipmentInfo_Type3.ShipperCityCode          = Convert.ToInt32(ShipperCityCode); //il
                _shipmentInfo_Type3.ShipperAreaCode          = Convert.ToInt32(ShipperAreaCode); //ilçe
                _shipmentInfo_Type3.ShipperPhoneNumber       = ShipperPhoneNumber;
                _shipmentInfo_Type3.ShipperMobilePhoneNumber = ShipperPhoneNumber;
                _shipmentInfo_Type3.ShipperEMail             = ShipperEMail;
                _shipmentInfo_Type3.ConsigneeAccountNumber   = "8576EE";
                _shipmentInfo_Type3.ConsigneeName            = CompanyInfoList.FirstOrDefault().UNVAN;
                _shipmentInfo_Type3.ConsigneeAddress         = CompanyInfoList.FirstOrDefault().ADRES;
                _shipmentInfo_Type3.ConsigneeCityCode        = Convert.ToInt32(CompanyInfoList.FirstOrDefault().ilKodu);
                _shipmentInfo_Type3.ConsigneeAreaCode        = Convert.ToInt32(CompanyInfoList.FirstOrDefault().ilceKodu);
                _shipmentInfo_Type3.NumberOfPackages         = 1;
                _shipmentInfo_Type3.ServiceLevel             = 3; //3 - DOM. STANDARD
                _shipmentInfo_Type3.PaymentType              = 1; //[1=Consignee 2=Shipper 4=Thirt Party]
                _shipmentInfo_Type3.PackageType              = "K";

                DimensionInfo[] dimension = new DimensionInfo[1];
                DimensionInfo   dim       = new DimensionInfo();

                dim.Height             = 1;
                dim.Length             = 1;
                dim.Width              = 1;
                dim.DescriptionOfGoods = "";
                dim.Weight             = 1;

                dimension[0] = dim;
                _shipmentInfo_Type3.PackageDimensions = dimension;


                PickupRequestInfo.ShipmentInfo = _shipmentInfo_Type3;

                ResultOnDemandPickupRequest_Type1 result;
                result = cssc.OnDemandPickupRequest_Type1(UpsServiceLogin.Login().SessionID, PickupRequestInfo);

                return(result);
            }
            else
            {
                return(null);
            }
        }
Example #2
0
        public ActionResult AddInfoService(string ShipperName, string ShipperAddress, string ShipperCityCode, string ShipperAreaCode, string ShipperPhoneNumber, string ShipperEMail,
                                           string ShipperSerialNumber, string ShipperDescription, string ShipperContactType, int cargoType)
        {
            UPSIntegrationEntities db = new UPSIntegrationEntities();

            //IPAddress[] localIPs = Dns.GetHostAddresses(Dns.GetHostName());
            ////////////////////////////////////////////////////////////////UPS///////////////////////////////////////////////////////////////////////////////

            if (cargoType == 1)//cargoType ---> UPS:1 TEM:2 (Ax Enum degerleri..)
            {
                try
                {
                    if (ShipperDescription.Length > 255 || ShipperAddress.Length > 255) //UPS açıklamayı en fazla 255 karakter istiyor.
                    {
                        return(Json("Açıklama en fazla 255 karakter olmalıdır !!", JsonRequestBehavior.AllowGet));
                    }

                    if (!string.IsNullOrEmpty(ShipperName) && !string.IsNullOrEmpty(ShipperAddress) && !string.IsNullOrEmpty(ShipperCityCode) && !string.IsNullOrEmpty(ShipperAreaCode) && !string.IsNullOrEmpty(ShipperPhoneNumber) && !string.IsNullOrEmpty(ShipperEMail) && !string.IsNullOrEmpty(ShipperSerialNumber))
                    {
                        if (CheckDuplicate(ShipperEMail, ShipperPhoneNumber) == false)
                        {
                            return(Json("Aynı gün içerisinde kayıt açamazsınız.!!", JsonRequestBehavior.AllowGet));
                        }

                        AxSendData axSendData = new AxSendData();
                        string     response   = axSendData.getTrackinNumPhoneIMEI(ShipperPhoneNumber, ShipperSerialNumber, "1");
                        if (!string.IsNullOrEmpty(response))
                        {
                            return(Json("UPS Takip Numaranız bulunmaktadır: " + response, JsonRequestBehavior.AllowGet));
                        }

                        SendUpsServiceData UpsService            = new SendUpsServiceData();
                        ResultOnDemandPickupRequest_Type1 result = UpsService.SendUpsService(ShipperName, ShipperAddress, ShipperCityCode, ShipperAreaCode, ShipperPhoneNumber, ShipperEMail);
                        Session["result.ShipmentNo"] = result.ShipmentNo;// Axaptaya kaydetmez ise veritabanına kaydetsin..
                        if (result.ErrorCode != 0)
                        {
                            return(Json("UPS'e bilgiler Gönderilemedi. Kısa bir süre sonra Tekrar deneyiniz.!!", JsonRequestBehavior.AllowGet));
                        }



                        var    A = db.UPSCargoililcekodlari.ToList();
                        string ShipperCityCode_Name = A.FirstOrDefault(x => x.ilKodu == ShipperCityCode).il.ToString();
                        string ShipperAreaCode_Name = A.FirstOrDefault(x => x.ilceKodu == ShipperAreaCode).ilce.ToString();

                        AxSendData axSendData2 = new AxSendData();
                        string     AxRecId     = axSendData2.AxaptaSendDataMethodUPS(DateTime.Now, ShipperName, ShipperPhoneNumber, ShipperEMail, ShipperCityCode_Name, ShipperAreaCode_Name, ShipperAddress, ShipperSerialNumber, ShipperDescription, Convert.ToInt32(ShipperContactType), result.ShipmentNo, "", 0, 0, cargoType);


                        BussinesLogicCasper AddDB = new BussinesLogicCasper();
                        bool responsDB            = AddDB.B_UPSOnDemantPickup_OrderDB_InsertData(AxRecId, ShipperContactType, ShipperAddress, ShipperAreaCode_Name, ShipperCityCode_Name, ShipperEMail, ShipperName, ShipperPhoneNumber, ShipperDescription, ShipperSerialNumber, result.ShipmentNo, "", cargoType);
                        if (responsDB == false)
                        {
                            return(Json("DB'ye Bilgileriniz Gönderilemedi !!", JsonRequestBehavior.AllowGet));
                        }



                        return(Json("UPS Referans No: " + result.ShipmentNo, JsonRequestBehavior.AllowGet));
                    }
                    else
                    {
                        return(Json("Bilgilerinizi Eksik (kontrol ederek tekrar giriniz..)", JsonRequestBehavior.AllowGet));
                    }
                }
                catch (Exception ex)
                {
                    BussinesLogicCasper AddDB = new BussinesLogicCasper();
                    bool responsDB            = AddDB.B_UPSOnDemantPickup_OrderDB_InsertData("", ShipperContactType, ShipperAddress, ShipperAreaCode, ShipperCityCode, ShipperEMail, ShipperName, ShipperPhoneNumber, ShipperDescription, ShipperSerialNumber, Session["result.ShipmentNo"].ToString(), "", cargoType);
                    Session["result.ShipmentNo"] = null;

                    return(Json("Bilgileriniz Gönderilemedi !!", JsonRequestBehavior.AllowGet));
                }
            }

            ////////////////////////////////////////////////////////////////TEM///////////////////////////////////////////////////////////////////////////////

            else if (cargoType == 2)//cargoType ---> UPS:1 TEM:2 (Ax Enum degerleri..)
            {
                string TEM_ForAxCode = "";

                try
                {
                    if (!string.IsNullOrEmpty(ShipperName) && !string.IsNullOrEmpty(ShipperAddress) && !string.IsNullOrEmpty(ShipperCityCode) && !string.IsNullOrEmpty(ShipperAreaCode) && !string.IsNullOrEmpty(ShipperPhoneNumber) && !string.IsNullOrEmpty(ShipperEMail) && !string.IsNullOrEmpty(ShipperSerialNumber))
                    {
                        if (CheckDuplicate(ShipperEMail, ShipperPhoneNumber) == false)
                        {
                            return(Json("Aynı gün içerisinde kayıt açamazsınız.!!", JsonRequestBehavior.AllowGet));
                        }
                        AxSendData axSendData = new AxSendData();
                        string     response   = axSendData.getTrackinNumPhoneIMEI(ShipperPhoneNumber, ShipperSerialNumber, "2");
                        if (!string.IsNullOrEmpty(response))
                        {
                            return(Json("Kurye Takip Numaranız bulunmaktadır: " + response, JsonRequestBehavior.AllowGet));
                        }

                        TEM_ForAxCode = "TEM" + DateTime.UtcNow.ToString("yyyyMMddHHmmssff", CultureInfo.InvariantCulture);

                        AxSendData axSendData2            = new AxSendData();
                        string     AxRexId_TEMTrackingNum = axSendData2.AxaptaSendDataMethodTEM(DateTime.Now, ShipperName, ShipperPhoneNumber, ShipperEMail, ShipperCityCode, ShipperAreaCode, ShipperAddress, ShipperSerialNumber, ShipperDescription, Convert.ToInt32(ShipperContactType), TEM_ForAxCode, "", 0, 0, cargoType);


                        BussinesLogicCasper AddDB = new BussinesLogicCasper();
                        bool responsDB            = AddDB.B_UPSOnDemantPickup_OrderDB_InsertData(AxRexId_TEMTrackingNum, ShipperContactType, ShipperAddress, ShipperAreaCode, ShipperCityCode, ShipperEMail, ShipperName, ShipperPhoneNumber, ShipperDescription, ShipperSerialNumber, "", TEM_ForAxCode, cargoType);
                        if (responsDB == false)
                        {
                            return(Json("DB'ye Bilgileriniz Gönderilemedi !!", JsonRequestBehavior.AllowGet));
                        }



                        return(Json("TEM Referans No: " + TEM_ForAxCode, JsonRequestBehavior.AllowGet));
                    }
                    else
                    {
                        return(Json("Bilgilerinizi Eksik (kontrol ederek tekrar giriniz..)", JsonRequestBehavior.AllowGet));
                    }
                }
                catch (Exception ex)
                {
                    BussinesLogicCasper AddDB = new BussinesLogicCasper();
                    bool responsDB            = AddDB.B_UPSOnDemantPickup_OrderDB_InsertData("", ShipperContactType, ShipperAddress, ShipperAreaCode, ShipperCityCode, ShipperEMail, ShipperName, ShipperPhoneNumber, ShipperDescription, ShipperSerialNumber, "", TEM_ForAxCode, cargoType);

                    return(Json("Bilgileriniz Gönderilemedi !!", JsonRequestBehavior.AllowGet));
                }
            }
            else
            {
                return(Json("Kargo Tipi Seçilmedi !!", JsonRequestBehavior.AllowGet));
            }
        }