Beispiel #1
0
        private async void BookParkingButton_Click(object sender, RoutedEventArgs e)
        {
            if (p != null)
            {
                int userId   = UserView.userID;
                int userType = UserView.userType;

                DateTime odD = OdDate.Date.Date;
                DateTime doD = DoDate.Date.Date;

                double hours  = (doD - odD).TotalHours + (DoTime.Time - OdTime.Time).TotalHours;
                double valuta = p.Price;
                try
                {
                    if (userType == 0)
                    {
                        List <Azure.User> lista = await App.MobileService.GetTable <Azure.User>().ToListAsync();

                        Azure.User u = lista.Find(x => x.id == Convert.ToString(userId));
                        if (Convert.ToDouble(u.stanje_kredita) < hours * valuta)
                        {
                            throw new IOException("Nemate dovoljno kredita!");
                        }
                        else
                        {
                            u.stanje_kredita = Convert.ToString(Convert.ToDouble(u.stanje_kredita) - hours * valuta);
                        }
                        IMobileServiceTable <Azure.User> userTableObj = App.MobileService.GetTable <Azure.User>();
                        await userTableObj.UpdateAsync(u);
                    }
                    else
                    {
                        List <Azure.Owner> listaVlasnika = await App.MobileService.GetTable <Azure.Owner>().ToListAsync();

                        Azure.Owner u = listaVlasnika.Find(x => x.id == Convert.ToString(userId));
                        if (Convert.ToDouble(u.stanje_kredita) < hours * valuta)
                        {
                            throw new IOException("Nemate dovoljno kredita!");
                        }
                        else
                        {
                            u.stanje_kredita = Convert.ToString(Convert.ToDouble(u.stanje_kredita) - hours * valuta);
                        }
                        IMobileServiceTable <Azure.Owner> ownerTableObj = App.MobileService.GetTable <Azure.Owner>();
                        await ownerTableObj.UpdateAsync(u);
                    }
                    IMobileServiceTable <Azure.Parking> parkingTableObj = App.MobileService.GetTable <Azure.Parking>();
                    List <Azure.Parking> listaParkinga = await App.MobileService.GetTable <Azure.Parking>().ToListAsync();

                    Azure.Parking i = listaParkinga.Find(x => x.id == Convert.ToString(p.Id));
                    i.MonthlyProfit  = i.MonthlyProfit + hours * valuta;
                    i.TodaysProfit   = i.TodaysProfit + hours * valuta;
                    i.NumTakenSpaces = i.NumTakenSpaces + 1;
                    await parkingTableObj.UpdateAsync(i);

                    MessageDialog msgDialogError = new MessageDialog("Uspješno ste rezervisali parking!");
                    await msgDialogError.ShowAsync();
                }
                catch (IOException ex)
                {
                    MessageDialog msgDialogError = new MessageDialog("Greška : " + ex.Message);
                    await msgDialogError.ShowAsync();
                }
            }
        }
        private async void SubmitButton_Click(object sender, RoutedEventArgs e)
        {
            try
            {
                using (var db = new SPARK.Model.SPARKDbContext())
                {
                    /*  var parking = new SPARK.Model.Parking
                     * {
                     *    Name = TextBoxName.Text,
                     *    Zone = Convert.ToInt16(TextBoxParkingZone.Text),
                     *    Price = Convert.ToDouble(TextBoxPrice.Text),
                     *    Address = TextBoxAddress.Text,
                     *    //working hours ???
                     *    WorkingHours = new KeyValuePair<DateTime, DateTime>(Convert.ToDateTime("1.1.2017"), Convert.ToDateTime("5.2.2017")),
                     *    CoordX = (double)lokacijaParkinga.Location.Position.Longitude,
                     *    CoordY = (double)lokacijaParkinga.Location.Position.Longitude,
                     * };
                     * db.Parkings.Add(parking);
                     * db.SaveChanges();
                     *
                     * var dialog1 = new MessageDialog("Uspješno registrovan parking '" + TextBoxName.Text + "'");
                     * dialog1.Commands.Add(new UICommand { Label = "Ok" });
                     * await dialog1.ShowAsync();*/

                    IMobileServiceTable <Azure.Parking> userTableObj = App.MobileService.GetTable <Azure.Parking>();

                    List <Azure.Parking> lista = await App.MobileService.GetTable <Azure.Parking>().ToListAsync();

                    try
                    {
                        Azure.Parking obj = new Azure.Parking();
                        obj.Name        = TextBoxName.Text.ToString();
                        obj.id          = Convert.ToString(lista.Count + 1);
                        obj.Address     = TextBoxAddress.Text;
                        obj.WorkingFrom = Convert.ToString(openingTime.Time.Hours) + ":" + Convert.ToString(openingTime.Time.Minutes);
                        obj.WorkingTo   = Convert.ToString(closingTime.Time.Hours) + ":" + Convert.ToString(closingTime.Time.Minutes);
                        obj.CoordY      = (double)lokacijaParkinga.Location.Position.Longitude;
                        obj.CoordX      = (double)lokacijaParkinga.Location.Position.Latitude;

                        try
                        {
                            obj.Capacity = Convert.ToInt32(TextBoxCapacity.Text.ToString());
                        }catch (Exception ee)
                        {
                            throw new IOException("Neispravan kapacitet!");
                        }
                        try
                        {
                            obj.Zone = Convert.ToInt32(TextBoxParkingZone.Text);
                        }
                        catch (Exception ee)
                        {
                            throw new IOException("Neispravna zona!");
                        }
                        try
                        {
                            obj.MinCredits = Convert.ToInt32(TextBoxParkingMinCredits.Text.ToString());
                        }
                        catch (Exception ee)
                        {
                            throw new IOException("Neispravno napisan broj minimalnih kredita!");
                        }
                        try
                        {
                            obj.Price = Convert.ToDouble(TextBoxPrice.Text);
                        }
                        catch (Exception ee)
                        {
                            throw new IOException("Neispravno napisana cijena!");
                        }
                        obj.id_vlasnika    = userID;
                        obj.NumTakenSpaces = 0;
                        obj.TodaysProfit   = 0;
                        obj.MonthlyProfit  = 0;
                        await userTableObj.InsertAsync(obj);

                        MessageDialog msgDialog = new MessageDialog("Uspješno ste unijeli novi parking.");
                        await msgDialog.ShowAsync();
                    }
                    catch (IOException ex)
                    {
                        MessageDialog msgDialogError = new MessageDialog("Error : " + ex.Message);
                        await msgDialogError.ShowAsync();
                    }

                    TextBoxName.Text              = string.Empty;
                    TextBoxParkingZone.Text       = string.Empty;
                    TextBoxPrice.Text             = string.Empty;
                    TextBoxAddress.Text           = string.Empty;
                    TextBoxParkingMinCredits.Text = string.Empty;
                    TextBoxCapacity.Text          = string.Empty;
                }
            }
            catch (Exception izuzetak)
            {
                var dialog1 = new MessageDialog(izuzetak.Message);
                dialog1.Commands.Add(new UICommand {
                    Label = "Ok"
                });
                await dialog1.ShowAsync();
            }
        }