Beispiel #1
0
        public async Task <VMMultiStationCustomerVehiclePass> Get_FBMultiStationCustomerVehiclePassDetails(string Key)
        {
            string resultKey = string.Empty;
            VMMultiStationCustomerVehiclePass objmspass = new VMMultiStationCustomerVehiclePass();

            try
            {
                var objUserDailyLogin = (await firebase.Child("VMMultiStationCustomerVehiclePass").OnceAsync <VMMultiStationCustomerVehiclePass>()).Where(item => item.Key == Key).SingleOrDefault();
                if (objUserDailyLogin != null)
                {
                    objmspass = objUserDailyLogin.Object;
                }
            }
            catch (Exception ex)
            {
            }
            return(objmspass);
        }
Beispiel #2
0
        private async void BtnGeneratePass_Clicked(object sender, EventArgs e)
        {
            try
            {
                CustomerVehiclePass resultPass = null;
                string existingnfcCardVehcile  = string.Empty;
                btnGeneratePass.IsVisible = false;
                ShowLoading(true);
                if (entryCashReceived.Text != null && entryCashReceived.Text != "0")
                {
                    decimal passAmount = (objInputMonthlyPass.TotalAmount == null || objInputMonthlyPass.TotalAmount == 0) ? (objInputMonthlyPass.Amount + objInputMonthlyPass.DueAmount) : (objInputMonthlyPass.TotalAmount + objInputMonthlyPass.DueAmount);
                    if (Convert.ToDecimal(entryCashReceived.Text) >= passAmount)
                    {
                        if (App.Current.Properties.ContainsKey("LoginUser") && App.Current.Properties.ContainsKey("apitoken"))
                        {
                            existingnfcCardVehcile = dal_CustomerPass.IsValidNFCCard(Convert.ToString(App.Current.Properties["apitoken"]), labelNFCCard.Text, objInputMonthlyPass.CustomerVehicleID.RegistrationNumber);
                            if (existingnfcCardVehcile == string.Empty)
                            {
                                if (App.Current.Properties.ContainsKey("MultiSelectionLocations"))
                                {
                                    List <Location> lstMultiLication = (List <Location>)App.Current.Properties["MultiSelectionLocations"];
                                    if (!string.IsNullOrEmpty(labelNFCCard.Text))
                                    {
                                        objInputMonthlyPass.CardNumber = labelNFCCard.Text;
                                    }
                                    else if (!string.IsNullOrEmpty(labelBARCode.Text))
                                    {
                                        objInputMonthlyPass.CardNumber = labelBARCode.Text;
                                    }

                                    objInputMonthlyPass.BarCode    = labelBARCode.Text;
                                    objInputMonthlyPass.IsMultiLot = true;
                                    VMMultiStationCustomerVehiclePass objvmMultiStations = new VMMultiStationCustomerVehiclePass();
                                    objvmMultiStations.CustomerVehiclePassID = objInputMonthlyPass;
                                    objvmMultiStations.LocationID            = lstMultiLication;
                                    await Task.Run(() =>
                                    {
                                        resultPass = dal_CustomerPass.CreateMultiStationCustomerPass(Convert.ToString(App.Current.Properties["apitoken"]), objvmMultiStations);
                                    });

                                    if (resultPass != null && resultPass.CustomerVehiclePassID != 0)
                                    {
                                        await DisplayAlert("Alert", "Vehicle Pass created successfully", "Ok");

                                        await Navigation.PushAsync(new PassPaymentReceiptPage(resultPass));

                                        btnGeneratePass.IsVisible = true;
                                    }
                                    else
                                    {
                                        btnGeneratePass.IsVisible = true;
                                        await DisplayAlert("Alert", "Pass creation failed,Please contact Admin", "Ok");
                                    }
                                }
                                else
                                {
                                    await Task.Run(() =>
                                    {
                                        objInputMonthlyPass.BarCode = labelBARCode.Text;
                                        if (!string.IsNullOrEmpty(labelNFCCard.Text))
                                        {
                                            objInputMonthlyPass.CardNumber = labelNFCCard.Text;
                                        }
                                        else if (!string.IsNullOrEmpty(labelBARCode.Text))
                                        {
                                            objInputMonthlyPass.CardNumber = labelBARCode.Text;
                                        }

                                        resultPass = dal_CustomerPass.CreateCustomerPass(Convert.ToString(App.Current.Properties["apitoken"]), objInputMonthlyPass);
                                    });

                                    if (resultPass != null && resultPass.CustomerVehiclePassID != 0)
                                    {
                                        StopNFCListening();
                                        await DisplayAlert("Alert", "Vehicle Pass created successfully", "Ok");

                                        await Navigation.PushAsync(new PassPaymentReceiptPage(resultPass));

                                        btnGeneratePass.IsVisible = true;
                                    }
                                    else
                                    {
                                        btnGeneratePass.IsVisible = true;
                                        await DisplayAlert("Alert", "Pass creation failed,Please contact Admin", "Ok");
                                    }
                                }
                            }
                            else
                            {
                                ShowLoading(false);
                                btnGeneratePass.IsVisible = true;
                                await DisplayAlert("Alert", "NFC Card already assigned to " + existingnfcCardVehcile + "", "Ok");
                            }
                        }
                    }
                    else
                    {
                        btnGeneratePass.IsVisible = true;
                        await DisplayAlert("Alert", "Please enter valid pass amount.", "Ok");
                    }
                }
                ShowLoading(false);
            }
            catch (Exception ex)
            {
                btnGeneratePass.IsVisible = true;
                dal_Exceptionlog.InsertException(Convert.ToString(App.Current.Properties["apitoken"]), "Operator App", ex.Message, "MonthlyPassCashPaymentPage.xaml.cs", "", "BtnGeneratePassReceipt_Clicked");
            }
        }
        public CustomerVehiclePass CreateMultiStationCustomerPass(string accessToken, VMMultiStationCustomerVehiclePass objInsertPass)
        {
            dal_DALExceptionManagment = new DALExceptionManagment();

            CustomerVehiclePass objCustomerVehiclePass = null;

            try
            {
                string baseUrl = Convert.ToString(App.Current.Properties["BaseURL"]);
                using (var client = new HttpClient())
                {
                    client.BaseAddress = new Uri(baseUrl);
                    client.DefaultRequestHeaders.Accept.Clear();
                    client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));
                    // Add the Authorization header with the AccessToken.
                    client.DefaultRequestHeaders.Add("Authorization", "bearer  " + accessToken);
                    // create the URL string.
                    string url = "api/InstaOperator/postSaveMultiStationCustomerVehiclePass";
                    // make the request

                    var json    = JsonConvert.SerializeObject(objInsertPass);
                    var content = new StringContent(json, Encoding.UTF8, "application/json");
                    HttpResponseMessage response = client.PostAsync(url, content).Result;
                    if (response.IsSuccessStatusCode)
                    {
                        string jsonString = response.Content.ReadAsStringAsync().Result;
                        if (jsonString != null)
                        {
                            APIResponse apiResult = JsonConvert.DeserializeObject <APIResponse>(jsonString);

                            if (apiResult.Result)
                            {
                                List <CustomerVehiclePass> resultobj = JsonConvert.DeserializeObject <List <CustomerVehiclePass> >(Convert.ToString(apiResult.Object));
                                if (resultobj.Count > 0)
                                {
                                    objCustomerVehiclePass = resultobj[0];
                                }
                            }
                        }
                    }
                }
            }
            catch (Exception ex)
            {
                dal_DALExceptionManagment.InsertException(accessToken, "OperatarAPP", ex.Message, "DALPass", "", "CreateCustomerPass");
            }
            return(objCustomerVehiclePass);
        }