public void ExecuteSaveEmployee() { Location location = new Location(); location = employeeView.EmployeeMap.GetPushpinLocation(); employeeView.EmployeeMap.ReserCounter(); if (Employee.dateOfEmployment == null) { Employee.dateOfEmployment = DateTime.Now; } Employee.Position = PositionSelected; Employee.idPosition = PositionSelected.id; Employee.idWarehouse = WarehouseSelected.id; Employee.Warehouse = WarehouseSelected; var info = new InfoWindow(); if (Employee.code == null) { Employee.isActive = true; Employee.Address.Localization = new DataModel.Localization() { latitude = location.Latitude.ToString(), longitude = location.Longitude.ToString() }; Employee.code = $"/{Employee.firstName}/{Employee.Position.position1}"; CompanyEntities.Address.Add(Employee.Address); CompanyEntities.Employee.Add(Employee); CompanyEntities.SaveChanges(); Employee = CompanyEntities.Employee.OrderByDescending(em => em.id).First(); Employee.code = $"{Employee.id}{Employee.code}"; info.ShowInfo($"Pracownik o kodzie {Employee.code} został zapisany pomyślnie", "Pracownik", "OK"); } else { Employee.Address.Localization.latitude = location.Latitude.ToString(); Employee.Address.Localization.longitude = location.Longitude.ToString(); Employee.code = $"{Employee.id}/{Employee.firstName}/{Employee.Position.position1}"; var empl = CompanyEntities.Employee.Find(Employee.id); var address = CompanyEntities.Address.Find(Employee.Address.id); var localization = CompanyEntities.Localization.Find(address.Localization.id); CompanyEntities.Entry(localization).CurrentValues.SetValues(Employee.Address.Localization); CompanyEntities.Entry(address).CurrentValues.SetValues(Employee.Address); CompanyEntities.Entry(empl).CurrentValues.SetValues(Employee); info.ShowInfo($"Pracownik o kodzie {Employee.code} został edytowany pomyślnie", "Pracownik", "OK"); } CompanyEntities.SaveChanges(); }
private void Btn_Buffer_Click(object sender, RoutedEventArgs e) { var doc = UpdateBuffer(); var info = new InfoWindow(); if (doc == null) { info.ShowInfo($"Nie można pozostawić w buforze dokumentu bez pozycji!", $"{documentType}", "Ok"); } else { info.ShowInfo($"Dokument {doc.code} pozostawiony w buforze!", $"{documentType}", "Ok"); } info.Close(); Close(); }
private void SetPushpins() { StringBuilder senderBuilder = new StringBuilder("http://dev.virtualearth.net/REST/v1/Locations?o=xml"); StringBuilder receiverBuilder = new StringBuilder("http://dev.virtualearth.net/REST/v1/Locations?o=xml"); var parcelAddViewModel = (ParcelAddViewModel)DataContext; senderBuilder.Append($"&countryRegion={parcelAddViewModel.SenderCountry}"); senderBuilder.Append($"&locality={parcelAddViewModel.SenderCity}"); senderBuilder.Append($"&postalCode={parcelAddViewModel.SenderPostalCode}"); senderBuilder.Append($"&addressLine={parcelAddViewModel.SenderStreet} {parcelAddViewModel.SenderNumberOfHouse}"); senderBuilder.Append($"&key={MAP_KEY}"); From = PinIt(senderBuilder.ToString(), "Nadawca"); receiverBuilder.Append($"&countryRegion={parcelAddViewModel.ReceiverCountry}"); receiverBuilder.Append($"&locality={parcelAddViewModel.ReceiverCity}"); receiverBuilder.Append($"&postalCode={parcelAddViewModel.ReceiverPostalCode}"); receiverBuilder.Append($"&addressLine={parcelAddViewModel.ReceiverStreet} {parcelAddViewModel.ReceiverNumberOfHouse}"); receiverBuilder.Append($"&key={MAP_KEY}"); To = PinIt(receiverBuilder.ToString(), "Odbiorca"); string uri = $"http://dev.virtualearth.net/REST/V1/Routes/Driving?wp.0=" + $"{From.Latitude},{From.Longitude}&wp.1={To.Latitude},{To.Longitude}&rpo=Points&key={MAP_KEY}"; var response = DriveRoute(uri); if (response != null) { Route(response); SetDistanceAndDuration(); } else { InfoWindow info = new InfoWindow(); info.ShowInfo("Nie można wyznaczyć trasy. Proszę spróbować jeszcze raz.", "Błąd wyznaczania trasy", "Ok"); info.Close(); } }
private void BtnLogoutSettings_Click(object sender, RoutedEventArgs e) { IsEnabled = false; InfoWindow info = new InfoWindow(); info.ShowInfo("Czy na pewno chcesz się wylogować?", "Wylogowywanie", "Nie", "Tak"); if (!info.Answer) { IsEnabled = true; return; } LoginWindow loginWindow = new LoginWindow(); loginWindow.ShowDialog(); if (!loginWindow.Answer) { Application.Current.Shutdown(); } IsEnabled = true; var mvm = ((SettingViewModel)DataContext).MainViewModel; var emp = companyEntities.Employee.Include(e => e.Warehouse).FirstOrDefault(e => e.id == Properties.Settings.Default.IdUser); mvm.Active = emp.idPosition == (int)EnumPosition.Warehouseman ? Visibility.Hidden : Visibility.Visible; mvm.FooterEmployeeCode = emp.code; mvm.FooterWarehouse = emp.Warehouse.code; mvm.SelectedViewModel = new HomeViewModel(); }
private void BtnChangeStatus_Click(object sender, RoutedEventArgs e) { var parcelDetailsViewModel = (ParcelDetailsViewModel)DataContext; InfoWindow info = new InfoWindow(); Parcel = CompanyEntities.Parcel .Include(p => p.Status) .Include(p => p.Region) .Include(p => p.Region1) .FirstOrDefault(p => p.id == parcelDetailsViewModel.Parcel.id); if (Parcel.idStatus >= parcelDetailsViewModel.StatusSelected.id) { info.ShowInfo("Wybrany status nie może być niższy niż aktualny", "", "Ok"); info.Close(); return; } HistoryOfParcel history = new HistoryOfParcel() { idParcel = Parcel.id, idStatus = Parcel.idStatus, date = DateTime.Now }; if (parcelDetailsViewModel.StatusSelected.id > (int)EnumParcelStatus.beetwen) { history.idWarehouse = Parcel.Region.idWarehouse; } else if (Parcel.Region1 != null) { history.idWarehouse = Parcel.Region1.idWarehouse; } else { history.idWarehouse = Properties.Settings.Default.Warehouse; } CompanyEntities.HistoryOfParcel.Add(history); Parcel.idStatus = parcelDetailsViewModel.StatusSelected.id; if (Parcel.idStatus == (int)EnumParcelStatus.delivered) { Parcel.dateOfDelivery = DateTime.Now; } CompanyEntities.SaveChanges(); Counter = 0; AddDoc(Parcel); info.ShowInfo("Status został zmieniony pomyślnie", "", "Ok"); info.Close(); }
public void ExecuteDeleteEmployee() { var info = new InfoWindow(); var emoloyeeToDelete = CompanyEntities.Employee.Find(Employee.id); emoloyeeToDelete.isActive = false; CompanyEntities.SaveChanges(); info.ShowInfo($"Pracownik o kodzie {emoloyeeToDelete.code} został dezaktywowany pomyślnie", "Pracownik", "OK"); }
private void Btn_PutOut_Click(object sender, RoutedEventArgs e) { var addViewModel = (WarehouseAddViewModel)DataContext; var doc = UpdateBuffer(); var info = new InfoWindow(); if (doc == null) { info.ShowInfo($"Nie można wystawić dokumentu bez pozycji!", $"{documentType}", "Ok"); info.Close(); return; } doc = companyEntities.Document.FirstOrDefault(d => d.id == doc.id); double summary = 0.0; var temp = companyEntities.ParcelMoving.Include(p => p.Parcel).Where(p => documentType == EnumTypeOfDocument.PZ ? p.idDocPZ == doc.id : p.idDocWZ == doc.id).ToList(); if (temp.Count == 0) { info.ShowInfo($"Nie można wystawić dokumentu bez pozycji!", $"{documentType}", "Ok"); info.Close(); return; } foreach (var d in temp) { changeStatus(d.idParcel); if (documentType == EnumTypeOfDocument.PZ) { d.readingPZ = true; } else if (documentType == EnumTypeOfDocument.WZ) { d.readingWZ = true; } summary += (double)d.Parcel.amount; } doc.summary = (decimal)summary; doc.exposure = true; doc.idEmployee = Properties.Settings.Default.IdUser; companyEntities.SaveChanges(); info.ShowInfo($"Dokument {doc.code} został wystawiony pomyślnie!", $"{documentType}", "Ok"); info.Close(); Close(); }
private void BtnChangePassSettings_Click(object sender, RoutedEventArgs e) { ChangePasswordWindow change = new ChangePasswordWindow(); if (change.Answer) { InfoWindow info = new InfoWindow(); info.ShowInfo("Hasło zmienione pomyślnie!", "Zmiana hasła", "Ok"); info.Close(); } change.ShowDialog(); change.Close(); }
private void SendParcel_Click(object sender, RoutedEventArgs e) { var parcelAddViewModel = (ParcelAddViewModel)DataContext; InfoWindow info = new InfoWindow(); if (!CalculateCost()) { return; } DataModel.Region senderRegion = null; if (parcelAddViewModel.ParcelSendMethodSelected.id == 2) { senderRegion = ParcelMap.GetCurrentRegion(From, companyEntities); if (senderRegion == null) { info.ShowInfo("Lokalizacja nadania przesyłki znajduje się w nieobsługiwanym regionie!", "Nadanie przesyłki", "Ok"); return; } } DataModel.Region receiverRegion = null; receiverRegion = ParcelMap.GetCurrentRegion(To, companyEntities); if (receiverRegion == null) { info.ShowInfo("Lokalizacja odbioru przesyłki znajduje się w nieobsługiwanym regionie!", "Nadanie przesyłki", "Ok"); return; } if (parcelAddViewModel.ParcelTypeSelected.id == (int)EnumTypeOfParcel.CashOnDelivery) { info.ShowInfo($"Przesyłka została wyceniona na kwotę {parcelAddViewModel.MyTariff.cost + 10} zł. Chcesz nadać przesyłkę?", "Nadanie przeyłki", "Nie", "Tak"); } else { info.ShowInfo($"Przesyłka została wyceniona na kwotę {parcelAddViewModel.MyTariff.cost} zł. Chcesz nadać przesyłkę?", "Nadanie przeyłki", "Nie", "Tak"); } if (!info.Answer) { return; } if (parcelAddViewModel.SendParcel(senderRegion, receiverRegion, From, To, (bool)generateLabel.IsChecked, (bool)generateConfirmate.IsChecked)) { info.ShowInfo("Przesyłka została nadana!", "Nadanie przesyłki", "Ok"); ParcelMap.ClearAllMap(); Worth.Text = "0,00 zł"; generateLabel.IsChecked = false; generateConfirmate.IsChecked = false; parcelAddViewModel.VisibilityOption = Visibility.Hidden; } else { info.ShowInfo("Nie udało się nadać przesyłki!", "Nadanie przesyłki", "Ok"); } }
private void BtnDelete_Click(object sender, RoutedEventArgs e) { var addViewModel = (WarehouseAddViewModel)DataContext; var document = addViewModel.Document; if (document == null) { return; } foreach (var parcel in companyEntities.ParcelMoving.Where(p => documentType == EnumTypeOfDocument.PZ ? p.idDocPZ == document.id : p.idDocWZ == document.id)) { companyEntities.ParcelMoving.Remove(parcel); } companyEntities.Document.Remove(companyEntities.Document.FirstOrDefault(d => d.id == document.id)); companyEntities.SaveChanges(); var info = new InfoWindow(); info.ShowInfo($"Dokument {document.code} został usunięty pomyślnie!", $"{documentType}", "Ok"); info.Close(); Close(); }
public void ShowBuildingInfo(Building building) { infoWindow.ShowInfo(building); }
private void BtnAddRegion_Click(object sender, RoutedEventArgs e) { var info = new InfoWindow(); activationFunction = true; MyMap.Children.Remove(polyline); MyMap.ClearTextInMap(); RegionOption.Visibility = Visibility.Hidden; DataModel.Localization startLocal = new DataModel.Localization() { latitude = location.Latitude.ToString(), longitude = location.Longitude.ToString() }; DataModel.Localization endLocal = new DataModel.Localization() { latitude = polyline.Locations[2].Latitude.ToString(), longitude = polyline.Locations[2].Longitude.ToString() }; Warehouse warehouse = (Warehouse)RegionWarehouse.SelectedItem; Employee empl = (Employee)RegionEmployee.SelectedItem; var employee = companyEntities.Employee.FirstOrDefault(e => e.id == empl.id); if (region != null) { if (MyMap.IsAllowRegion(location, polyline.Locations[2], companyEntities, region.id)) { var start = companyEntities.Localization.First(l => l.id == region.idStartLocalization); var end = companyEntities.Localization.First(l => l.id == region.idEndLocalization); start.latitude = startLocal.latitude; start.longitude = startLocal.longitude; end.latitude = endLocal.latitude; end.longitude = endLocal.longitude; var reg = companyEntities.Region.Find(region.id); reg.code = $"{warehouse.code}/{reg.id}"; reg.idWarehouse = warehouse.id; employee.idRegion = reg.id; employee.Region = reg; companyEntities.SaveChanges(); info.ShowInfo("Region edytowano pomyślnie", "Region", "OK"); } else { info.ShowInfo("Nowy region nie może pokrywać regionów już istniejących!", "Region", "OK"); } } else if (MyMap.IsAllowRegion(location, polyline.Locations[2], companyEntities)) { DataModel.Region newRegion = new DataModel.Region(); companyEntities.Localization.Add(startLocal); companyEntities.Localization.Add(endLocal); companyEntities.SaveChanges(); newRegion.idWarehouse = warehouse.id; newRegion.idStartLocalization = startLocal.id; newRegion.idEndLocalization = endLocal.id; companyEntities.Region.Add(newRegion); companyEntities.SaveChanges(); var temp = companyEntities.Region.OrderByDescending(r => r.id).First(); temp.code = $"{warehouse.code}/{temp.id}"; employee.idRegion = temp.id; employee.Region = temp; companyEntities.SaveChanges(); info.ShowInfo("Region zapisano pomyślnie", "Region", "OK"); } else { info.ShowInfo("Nowy region nie może pokrywać regionów już istniejących!", "Region", "OK"); } region = null; BtnShowRegions_Click(sender, e); }
private bool CalculateCost() { var parcelAddViewModel = (ParcelAddViewModel)DataContext; InfoWindow info = new InfoWindow(); if (Lock || parcelAddViewModel.ParcelDistance == 0) { if (_noOfErrorsOnScreen == 0) { info.ShowInfo("Nie można obliczyć kosztu dopóki nie zostanie wyznaczona trasa.\nCzy wyznaczyć trasę automatycznie" + " na podstawie adresów?", "Błąd wyliczenia kosztów", "Nie", "Tak"); } else { info.ShowInfo("Nie można obliczyć kosztu dopóki nie zostanie wyznaczona trasa." + "\nNie można wyznaczyć trasy dopóki nie zostaną wprowadzone wymagane dane", "Błąd wyliczenia kosztów", "Ok"); info.Close(); return(false); } if (info.Answer) { SetPushpins(); } else { info.Close(); return(false); } } double dimensions = double.Parse(parcelAddViewModel.ParcelHeight) + double.Parse(parcelAddViewModel.ParcelLength) + double.Parse(parcelAddViewModel.ParcelWidth); dimensions *= 0.1; double distance = parcelAddViewModel.ParcelDistance * 0.01; double weight = double.Parse(parcelAddViewModel.ParcelWeight) * 0.1; double worth = double.Parse(parcelAddViewModel.ParcelWorth) * 0.001; int result = (int)(dimensions + distance + weight + worth); switch (parcelAddViewModel.ParcelTypeSelected.id) { case (int)EnumTypeOfParcel.StandardParcel: break; case (int)EnumTypeOfParcel.UnstandardParcel: result += (int)(result * 0.1); break; } var myTariff = companyEntities.Tariff.FirstOrDefault(t => result >= t.valueFrom && result <= t.valueTo); if (myTariff == null) { info.ShowInfo("Nie można obliczyć kosztu!", "Błąd wyliczenia kosztów", "Ok"); info.Close(); return(false); } parcelAddViewModel.MyTariff = myTariff; if (parcelAddViewModel.ParcelTypeSelected.id == (int)EnumTypeOfParcel.CashOnDelivery) { Worth.Text = (myTariff.cost + 10).ToString(); } else { Worth.Text = myTariff.cost.ToString(); } return(true); }
private async void SetManualPushpinsAsync() { Lock = true; InfoWindow info = new InfoWindow(); string sender = "Nadawca"; string receiver = "Odbiorca"; if (From != null) { info.ShowInfo("Czy chcesz zmienić lokalizacje nadawcy?", "Zmiana lokalizacji", "Nie", "Tak"); if (info.Answer) { info.ShowInfo("Dodaj lokalizację nadawcy poprzez dwukrotne kliknięcie na mapie!", "Dodaj pinezkę", "Ok"); await ParcelMap.PinPushpinWhenClicked(true, sender); } } else { info.ShowInfo("Dodaj lokalizację nadawcy poprzez dwukrotne kliknięcie na mapie!", "Dodaj pinezkę", "Ok"); await ParcelMap.PinPushpinWhenClicked(false, sender); } if (To != null) { info.ShowInfo("Czy chcesz zmienić lokalizacje odbiorcy?", "Zmiana lokalizacji", "Nie", "Tak"); if (info.Answer) { info.ShowInfo("Dodaj lokalizację odbiorcy poprzez dwukrotne kliknięcie na mapie!", "Dodaj pinezkę", "Ok"); await ParcelMap.PinPushpinWhenClicked(true, receiver); } } else { info.ShowInfo("Dodaj lokalizację odbiorcy poprzez dwukrotne kliknięcie na mapie!", "Dodaj pinezkę", "Ok"); await ParcelMap.PinPushpinWhenClicked(false, receiver); } var pushpins = ParcelMap.GetPushpins(); From = pushpins.FirstOrDefault(p => p.Content.Equals(sender)).Location; To = pushpins.FirstOrDefault(p => p.Content.Equals(receiver)).Location; if (From == null || To == null) { info.ShowInfo("Ze względu na brak jednej z lokalizacji nie można wyznaczyć trasy.\nProszę powtórz procedurę dodawania pinezek.", "Błąd wyznaczania trasy", "Ok"); info.Close(); Lock = false; return; } string uri = $"http://dev.virtualearth.net/REST/V1/Routes/Driving?wp.0={From.Latitude},{From.Longitude}&wp.1={To.Latitude},{To.Longitude}&rpo=Points&key={MAP_KEY}"; var response = DriveRoute(uri); if (response != null) { Route(response); SetDistanceAndDuration(); } else { info.ShowInfo("Nie można wyznaczyć trasy. Proszę spróbować jeszcze raz.", "Błąd wyznaczania trasy", "Ok"); } info.Close(); Lock = false; }