コード例 #1
0
        //Guest Details
        public async void DisplayGuestDetails()
        {
            pageLoading();
            layoutHeightGuestDetails     = 0;
            layoutHeightSignatures       = 0;
            lasyoutHeighSignatureInitial = 1;
            guestNumber      = 1;
            guestNumberCount = 1;
            try
            {
                GuestNameList.ItemsSource = null;
                string result = await checkInManager.GetRemarksDetails(Constants._reservation_id);

                guestdetails = new List <guestDetails>();
                if (Constants._notAvailableSignatureAdded == false)
                {
                    guestsignature = new List <guestSignature>();
                }

                GuestSignatureList.ItemsSource = null;

                if (result != null)
                {
                    string guestNameAvailabiliyty = "";
                    string tem_resultMain         = result; //

                    //Removing ticks issue in date
                    result = result.Replace("Date(-", "Date(");
                    var output = JObject.Parse(result);

                    if (Enumerable.Count(output["d"]["results"][0]["ReservationNaviGuest"]["results"]) > 0)
                    {
                        savedSignatureCount = 0;
                        for (int i = 0; i < Enumerable.Count(output["d"]["results"][0]["ReservationNaviGuest"]["results"]); i++)
                        {
                            string guestCountryKeyValue    = string.Empty;
                            string guestSalutationKeyValue = string.Empty;
                            //Setting values to global variables
                            guestNameAvailabiliyty   = serviceDataValidation.validation(Convert.ToString(output["d"]["results"][0]["ReservationNaviGuest"]["results"][i]["Xnombre"]));
                            layoutHeightGuestDetails = layoutHeightGuestDetails + 40;
                            if (guestNameAvailabiliyty != Constants._notAvailable)
                            {
                                if (lasyoutHeighSignatureInitial == 1)
                                {
                                    layoutHeightSignatures = 187;
                                }
                                else
                                {
                                    layoutHeightSignatures = layoutHeightSignatures + 157;
                                }
                            }
                            //Signaure Manually Not added
                            if (Constants._notAvailableSignatureAdded == false)
                            {
                                if (guestNameAvailabiliyty != Constants._notAvailable)
                                {
                                    try
                                    {
                                        string result1 = await checkInManager.GetGuestSignature(guestNumberCount.ToString());

                                        if (result1 != null)
                                        {
                                            var output1 = JObject.Parse(result1);

                                            //Removing ticks error
                                            result1 = result1.Replace("Date(-", "Date(");

                                            //Converting base64 string to byte array
                                            byte[] data = Convert.FromBase64String(Convert.ToString(output1["d"]["XIMAGE"]));

                                            guestsignature.Add(new guestSignature(ImageSource.FromStream(() => new MemoryStream(data)), guestNameAvailabiliyty, "White", guestNumber, Constants._available, "Purple", ""));
                                            savedSignatureCount++;
                                        }
                                    }
                                    catch (Exception)
                                    {
                                        //Guest Signature Not Available
                                        string addSignatureImage = "SignatureImage.jpg";
                                        if (guestNameAvailabiliyty != Constants._notAvailable)
                                        {
                                            guestsignature.Add(new guestSignature(addSignatureImage,
                                                                                  guestNameAvailabiliyty, "Purple",
                                                                                  guestNumber,
                                                                                  Constants._notAvailable, "White", ""));
                                        }
                                    }
                                }
                            }
                            String dateString       = "";
                            string expiryDateString = "";

                            DateTime date = DateTime.Now;
                            try
                            {
                                string dateOfBirth = Convert.ToString(output["d"]["results"][0]["ReservationNaviGuest"]["results"][i]["Gbdat"]);

                                if (dateOfBirth != "")
                                {
                                    DateTime dt             = DateTime.Now;
                                    int      index          = i + 1;
                                    string   temp_substring = tem_resultMain.Substring(0, tem_resultMain.IndexOf("Xorden\":\"" + "0" + index + "\""));
                                    //temp_substring = temp_substring.Substring(0, temp_substring.IndexOf("Gbdat") + 20);
                                    //temp_substring = temp_substring.Substring(temp_substring.IndexOf("Gbdat"));
                                    temp_substring = temp_substring.Substring(temp_substring.LastIndexOf("Gbdat"));
                                    temp_substring = temp_substring.Substring(0, 20);
                                    //Begin of + Vinoch 15122061
                                    if (temp_substring.Contains("-"))
                                    {
                                        DateTime epoch = new DateTime(1970, 1, 1, 0, 0, 0, DateTimeKind.Utc);
                                        long     ms    = (long)(DateTime.Parse(dateOfBirth) - epoch).TotalMilliseconds;
                                        dateOfBirth = ms.ToString();

                                        dateOfBirth = "-" + dateOfBirth;

                                        long     milliSec  = (long)(Convert.ToDouble(dateOfBirth));
                                        DateTime startTime = new DateTime(1970, 1, 1);

                                        TimeSpan time = TimeSpan.FromMilliseconds(milliSec);
                                        dt = startTime.Add(time);
                                    }
                                    else
                                    {
                                        if (dateOfBirth != "")                //- Vinoch 1512201
                                        {
                                            dt = DateTime.Parse(dateOfBirth); // Vinoch 1512201
                                        }
                                    }

                                    //DateTime date = serviceDataValidation.dateOfBirthValidation(dateOfBirth);
                                    date       = dt;
                                    dateString = date.ToString();
                                }
                                else
                                {
                                    dateString       = "";
                                    expiryDateString = "";
                                }
                            }
                            catch (Exception)
                            {
                                dateString       = "";
                                expiryDateString = "";
                            }

                            string country = Convert.ToString(output["d"]["results"][0]["ReservationNaviGuest"]["results"][i]["Country"]);

                            var nameToCountry = CountryDictionary.listOfCountrie();
                            if (country != "" || country != "")
                            {
                                string name = nameToCountry.FirstOrDefault(x => x.Value == country).Key;
                                guestCountryKeyValue = country;
                            }
                            guestdetails.Add(new guestDetails(guestNumberCount,
                                                              Convert.ToString(output["d"]["results"][0]["ReservationNaviGuest"]["results"][i]["XtipoDocId"]),
                                                              Convert.ToString(output["d"]["results"][0]["ReservationNaviGuest"]["results"][i]["XnumeroDoc"]),
                                                              Convert.ToString(output["d"]["results"][0]["ReservationNaviGuest"]["results"][i]["Title"]),
                                                              guestNameAvailabiliyty,
                                                              Convert.ToString(output["d"]["results"][0]["ReservationNaviGuest"]["results"][i]["Name1"]),
                                                              Convert.ToString(output["d"]["results"][0]["ReservationNaviGuest"]["results"][i]["Name2"]),
                                                              Convert.ToString(output["d"]["results"][0]["ReservationNaviGuest"]["results"][i]["Parge"]),
                                                              Convert.ToString(output["d"]["results"][0]["ReservationNaviGuest"]["results"][i]["SmtpAddr"]),
                                                              Convert.ToString(output["d"]["results"][0]["ReservationNaviGuest"]["results"][i]["MobileNo"]),
                                                              Convert.ToString(output["d"]["results"][0]["ReservationNaviGuest"]["results"][i]["HouseNum1"]),
                                                              Convert.ToString(output["d"]["results"][0]["ReservationNaviGuest"]["results"][i]["Street"]),
                                                              Convert.ToString(output["d"]["results"][0]["ReservationNaviGuest"]["results"][i]["City1"]),
                                                              Convert.ToString(output["d"]["results"][0]["ReservationNaviGuest"]["results"][i]["Country"]),
                                                              guestCountryKeyValue,
                                                              Convert.ToString(output["d"]["results"][0]["ReservationNaviGuest"]["results"][i]["Xnacionalidad"]),
                                                              dateString,
                                                              expiryDateString,
                                                              Convert.ToString(output["d"]["results"][0]["ReservationNaviGuest"]["results"][i]["Langu"]),
                                                              "",
                                                              "",
                                                              "",
                                                              "",
                                                              "",
                                                              "",
                                                              ""));

                            //Increment guestnumber and guest number count by 1
                            guestNumber                  = guestNumber + 1;
                            guestNumberCount             = guestNumberCount + 1;
                            lasyoutHeighSignatureInitial = 0;
                        }

                        //Setting stack Layput heights according to the number of records
                        GuestDetails.HeightRequest       = layoutHeightGuestDetails;
                        GuestSignatureView.HeightRequest = layoutHeightSignatures;
                    }
                    Device.BeginInvokeOnMainThread(() =>
                    {
                        //Setting guest number in label
                        GuestNumber.Text = (guestNumberCount - 1).ToString();

                        //Adding list to observable Collection
                        items = new ItemList(guestdetails);
                        GuestNameList.ItemsSource = items.Items;

                        //Set Guest Signatures. Signatures loaded from service
                        if (Constants._notAvailableSignatureAdded == false)
                        {
                            GuestSignatureList.ItemsSource = guestsignature;
                        }
                        else
                        {
                            if (Constants._reservationStatus == Constants._reservationStatusCheckedIn)
                            {
                                //checkinAndSaveButton.IsVisible = true;
                                saveSignatureButton.IsVisible = true;            //true
                                checkinButton.IsVisible       = false;
                            }
                            else if (Constants._reservationStatus == Constants._reservationStatusPending)
                            {
                                //checkinAndSaveButton.IsVisible = true;
                                saveSignatureButton.IsVisible = true;            //false
                                checkinButton.IsVisible       = true;
                            }
                        }

                        if (Constants._reservationStatus != Constants._reservationStatusCheckedIn && savedSignatureCount > 0)
                        {
                            checkinAndSaveButton.IsVisible = true;
                        }
                        else
                        {
                            checkinAndSaveButton.IsVisible = false;
                        }

                        if (savedSignatureCount == guestsignature.Count)
                        {
                            saveSignatureButton.IsVisible = false;
                        }
                    });
                }
            }
            catch (Exception e)
            {
                this.DisplayGuestDetails();
            }
            stopPageLoading();
        }
コード例 #2
0
        public async Task <MainGuestDetails> mainGuestInformation(string reservationID)
        {
            try
            {
                Constants.resultMain = "";
                Constants.resultMain = await checkInManager.GetRemarksDetails(reservationID);

                string tem_resultMain = Constants.resultMain;                 // + Vinoch 25082017
                if (Constants.resultMain == null || Constants.resultMain == "Error")
                {
                    MessagingCenter.Send <MainGuestInformation, string>(this, "nodetailsAvailable", "");
                }
                else
                {
                    Constants.resultMain = Constants.resultMain.Replace("Date(-", "Date(");
                    var output = JObject.Parse(Constants.resultMain);

                    if (Enumerable.Count(output["d"]["results"][0]["ReservationNaviGuest"]["results"]) > 0)
                    {
                        string guestSalutationKey = string.Empty;
                        maingGuestDetails.ReservationID = Constants._reservation_id;
                        maingGuestDetails.ClientName    = serviceDataValidation.validation(Convert.ToString(output["d"]["results"][0]["Xclientname"]));
                        maingGuestDetails.HotelName     = serviceDataValidation.validation(Convert.ToString(output["d"]["results"][0]["XhotelName"]));

                        string titleName = Convert.ToString(output["d"]["results"][0]["ReservationNaviGuest"]["results"][0]["Title"]);
                        guestSalutationKey = serviceDataValidation.titleName(titleName);

                        maingGuestDetails.Title         = serviceDataValidation.validation(guestSalutationKey);
                        maingGuestDetails.FirstName     = serviceDataValidation.validation(Convert.ToString(output["d"]["results"][0]["ReservationNaviGuest"]["results"][0]["Name1"]));
                        maingGuestDetails.LastName      = serviceDataValidation.validation(Convert.ToString(output["d"]["results"][0]["ReservationNaviGuest"]["results"][0]["Name2"]));
                        maingGuestDetails.Email         = serviceDataValidation.validation(Convert.ToString(output["d"]["results"][0]["ReservationNaviGuest"]["results"][0]["SmtpAddr"]));
                        maingGuestDetails.ContactNumber = serviceDataValidation.validation(Convert.ToString(output["d"]["results"][0]["ReservationNaviGuest"]["results"][0]["MobileNo"]));

                        //string dateOfBirthWithTime = serviceDataValidation.validation(Convert.ToString(output["d"]["results"][0]["ReservationNaviGuest"]["results"][0]["Gbdat"]));
                        string dateOfBirth = Convert.ToString(output["d"]["results"][0]["ReservationNaviGuest"]["results"][0]["Gbdat"]);
                        if (dateOfBirth != Constants._notAvailable)
                        {
                            //DateTime dt = DateTime.Parse(dateOfBirthWithTime);  // - Vinoch 25082017
                            if (dateOfBirth != "")
                            {
                                //Begin of + Vinoch 25082017
                                DateTime date = DateTime.Now;
                                try
                                {
                                    DateTime dt             = DateTime.Now;
                                    string   temp_substring = tem_resultMain.Substring(0, tem_resultMain.IndexOf("Gbdat") + 20);
                                    temp_substring = temp_substring.Substring(temp_substring.IndexOf("Gbdat"));
                                    //Begin of + Vinoch 1512206
                                    if (temp_substring.Contains("-"))
                                    {
                                        DateTime epoch = new DateTime(1970, 1, 1, 0, 0, 0, DateTimeKind.Utc);
                                        long     ms    = (long)(DateTime.Parse(dateOfBirth) - epoch).TotalMilliseconds;
                                        dateOfBirth = ms.ToString();

                                        dateOfBirth = "-" + dateOfBirth;

                                        long     milliSec  = (long)(Convert.ToDouble(dateOfBirth));
                                        DateTime startTime = new DateTime(1970, 1, 1);

                                        TimeSpan time = TimeSpan.FromMilliseconds(milliSec);
                                        dt = startTime.Add(time);
                                    }
                                    else
                                    {
                                        if (dateOfBirth != "")                                        //- Vinoch 151220
                                        {
                                            dt = DateTime.Parse(dateOfBirth);                         // Vinoch 1512201
                                        }
                                    }

                                    //DateTime date = serviceDataValidation.dateOfBirthValidation(dateOfBirth);
                                    date = dt;
                                    maingGuestDetails.DateOfBirth = date.ToString("dd-MM-yyyy");
                                }
                                catch (Exception)
                                {
                                    maingGuestDetails.DateOfBirth = Constants._notAvailable;
                                }
                            }
                            else
                            {
                                maingGuestDetails.DateOfBirth = Constants._notAvailable;
                            }
                            //End of + Vinoch 2508201
                        }
                        else
                        {
                            maingGuestDetails.DateOfBirth = Constants._notAvailable;
                        }

                        maingGuestDetails.NicPassNumber = serviceDataValidation.validation(Convert.ToString(output["d"]["results"][0]["ReservationNaviGuest"]["results"][0]["XnumeroDoc"]));
                        maingGuestDetails.HouseNumber   = serviceDataValidation.validation(Convert.ToString(output["d"]["results"][0]["ReservationNaviGuest"]["results"][0]["HouseNum1"]));
                        maingGuestDetails.Street        = serviceDataValidation.validation(Convert.ToString(output["d"]["results"][0]["ReservationNaviGuest"]["results"][0]["Street"]));
                        maingGuestDetails.City          = serviceDataValidation.validation(Convert.ToString(output["d"]["results"][0]["ReservationNaviGuest"]["results"][0]["City1"]));
                        maingGuestDetails.Country       = serviceDataValidation.validation(Convert.ToString(output["d"]["results"][0]["ReservationNaviGuest"]["results"][0]["Landx"]));
                        maingGuestDetails.Nationality   = serviceDataValidation.validation(Convert.ToString(output["d"]["results"][0]["ReservationNaviGuest"]["results"][0]["Natio50"]));
                    }
                }
            }
            catch (Exception e)
            {
                MessagingCenter.Send <MainGuestInformation, string>(this, "nodetailsAvailable", "");
            }
            return(maingGuestDetails);
        }