public void Add(Subscription subscription) { subscription.Confirmed = false; subscription.ConfirmationCode = _rsg.Next(10); _db.Subscriptions.Add(subscription); _db.SaveChanges(); }
//Set a subscription to inactive status public void CancelSubscription(Subscription Model) { Subscription TargetSubscription; using (var db = new SubscriptionContext()) { TargetSubscription = db.Subscription.Find(Model.UserProfileId); TargetSubscription.Status = "inactive"; db.SaveChanges(); } }
//Set a subscription to suspend status (call when user cancel his subscription) public void SuspendSubscription(Subscription Model) { Subscription TargetSubscription; using (var db = new SubscriptionContext()) { TargetSubscription = db.Subscription.Find(Model.UserProfileId); TargetSubscription.Status = "suspended"; db.SaveChanges(); } }
public void SetSubscriptionInactive(int id) { Subscription TargetSubscription; using (var db = new SubscriptionContext()) { TargetSubscription = db.Subscription.Find(id); TargetSubscription.Status = "inactive"; db.Entry(TargetSubscription).State = EntityState.Modified; db.SaveChanges(); } }
public ActionResult Subscribe(Subscriber model) { //watch if model is correct if (ModelState.IsValid) { try { var subscriber = _db.Subscribers.FirstOrDefault(u => u.Email.Equals(model.Email)); if (subscriber == null) { subscriber = model; subscriber.RegistrationDate = DateTime.Now; _db.Subscribers.Add(subscriber); _db.SaveChanges(); } else { TempData["Error"] = "Taki adres email juz jest zarejestrowany."; return(View(model)); } } catch { TempData["Error"] = "Coś jest nie tak"; return(View()); } TempData["Message"] = "Adres email został zapisany."; return(RedirectToAction("Index")); } else { return(View(model)); } }
//Update billing information of the user public void UpdatePaymentInfo(Subscription Model) { Subscription TargetSubscription; using (var db = new SubscriptionContext()) { TargetSubscription = db.Subscription.Find(WebSecurity.CurrentUserId); TargetSubscription.BillingAddress = Model.BillingAddress; TargetSubscription.CardNumber = Model.CardNumber; TargetSubscription.CVVCode = Model.CVVCode; TargetSubscription.ExpirationDate = Model.ExpirationDate; TargetSubscription.Zip = Model.Zip; db.SaveChanges(); } }
//Register a new subscription public void CreateSub() { Subscription NewSubscription; using (var db = new SubscriptionContext()) { NewSubscription = db.Subscription.Create(); NewSubscription.Status = "active"; NewSubscription.Payments = new List <Payment>(); using (var db2 = new PaymentContext()) { Payment FirstPayment = db2.Payment.Create(); FirstPayment.Amount = 15.0f; FirstPayment.Date = DateTime.Now; FirstPayment.Status = "cancelled"; // FirstPayment.Subscription = NewSubscription; // FirstPayment.SubscriptionId = NewSubscription.UserProfileId; db2.Payment.Add(FirstPayment); Payment SecondPayment = db2.Payment.Create(); SecondPayment.Amount = 15.0f; SecondPayment.Date = DateTime.Now.AddDays(30.0); SecondPayment.Status = "pending"; // SecondPayment.Subscription = NewSubscription; // SecondPayment.SubscriptionId = NewSubscription.UserProfileId; db2.Payment.Add(SecondPayment); //Store subscription info using (var db3 = new UsersContext()) { UserProfile CurrentUser = db3.UserProfiles.Include("Subscription").First(x => x.UserId.Equals(WebSecurity.CurrentUserId)); CurrentUser.Subscription = NewSubscription; NewSubscription.Payments.Add(FirstPayment); NewSubscription.Payments.Add(SecondPayment); NewSubscription.UserProfile = CurrentUser; NewSubscription.UserProfileId = CurrentUser.UserId; db3.SaveChanges(); } db2.SaveChanges(); db.Subscription.Add(NewSubscription); db.SaveChanges(); } } }
public RentTabViewModel() { RentDateStart = DateTime.Now; RentDateEnd = DateTime.Now; CalculateCommand = new SimpleRelayCommand(Calculate); RentCommand = new SimpleRelayCommand(Rent); CollectionOfDevices = new ObservableCollection <device>(); //dadanie urządzeń do listy urządzeń wyświetlanych na liście dostępnych do wypozyczenia using (SubscriptionContext context = new SubscriptionContext()) { //var result = (from d in context.devices select d).ToList(); //porównanie daty zwrotu z datą dzisiejszą, //jeśli dzisiaj powinien być oddany to będzie już dostępny na liście foreach (rent r in context.rents) { if (r.date_of_return < DateTime.Now || r.date_of_rent > DateTime.Now) { //pobranie z listy wypozyczen-urzadzen urządzenie, ktore jest aktualanie niezajęte var result2 = (from dr in context.devices_rents where r.rentId == dr.rent_id select dr.device).First(); //zmienna tymczasowa potrzebna do zaktualizowania statusu wypozyczenia device deviceToChangeIsRentedStatus = (device)result2; //context.devices.Attach(deviceToChangeIsRentedStatus); deviceToChangeIsRentedStatus.is_rented = false; } } context.SaveChanges(); var result = (from d in context.devices select d).ToList(); //odrzucenie urządzeń ktore sa aktualnie wypozyczone foreach (device dev in result) { if (!dev.is_rented) { CollectionOfDevices.Add(dev); } } } }
private void Save() { //dodawanie urządzenia do bazy //tworzenie obiektów i przypisanie im wartości z wypełnionego formularza genre tmpGenre = new genre(); tmpGenre.genre_name = KindOfDevice.ToLower(); device tmpDevice = new device(); tmpDevice.genre = tmpGenre; tmpDevice.manufacturer_name = ManufacturerName.ToLower(); tmpDevice.model_name = ModelName.ToLower(); tmpDevice.serial_number = SerialNumber.ToLower(); try { CostPerDay = CostPerDay.Replace(".", ","); tmpDevice.price = Convert.ToDouble(CostPerDay); } catch (Exception e) { File.AppendAllText(MainWindowViewModel.PathToLog, e.ToString()); System.Windows.MessageBox.Show("Zła wartość liczbowa"); return; } try { using (SubscriptionContext context = new SubscriptionContext()) { context.devices.Add(tmpDevice); context.SaveChanges(); } System.Windows.MessageBox.Show("Dodano urządzenie do bazy."); } catch (Exception e) { File.AppendAllText(MainWindowViewModel.PathToLog, e.ToString()); System.Windows.MessageBox.Show("Nie dodano urządzenia do bazy."); } }
//Dodanie abonamentu klienta private void Save() { try { SubscriptionContext context = new SubscriptionContext(); subscription subscript = new subscription(); subscript.registration_data = DateTime.Now; subscript.tariff = SelectedOffer; context.subscriptions.Add(subscript); context.SaveChanges(); MessageBox.Show("Dodano abonament."); } catch (Exception ex) { File.AppendAllText(MainWindowViewModel.PathToLog, ex.ToString()); MessageBox.Show("Błąd! Nie udało się dodać abonamentu.", "Błąd", MessageBoxButton.OK, MessageBoxImage.Error); } }
private void SaveTariff() { if (!string.IsNullOrEmpty(NameOfTariff)) { try { SubscriptionContext context = new SubscriptionContext(); tariff TariffToAdd = new tariff(); TariffToAdd.name_tarriff = NameOfTariff; TariffToAdd.number_of_calling = NumberOfPhones; TariffToAdd.discount = Discount; context.tariffs.Add(TariffToAdd); context.SaveChanges(); System.Windows.MessageBox.Show("Taryfa została poprawnie dodana do bazy", "Komunikat"); } catch (Exception ex) { File.AppendAllText(MainWindowViewModel.PathToLog, ex.ToString()); } } }
//wybór i usunięcie z bazy urządzenia wybranego z listy private void SelectDevice() { using (SubscriptionContext context = new SubscriptionContext()) { try { MessageBoxResult mr = MessageBox.Show("Czy na pewno usunąć to urządzenie?", "Pytanie", MessageBoxButton.YesNo); if (mr == MessageBoxResult.Yes) { context.devices.Attach(SelectedDevice); context.devices.Remove(SelectedDevice); context.SaveChanges(); } MessageBox.Show("Usunięto urządzenie z bazy."); CollectionOfDevices.Remove(SelectedDevice); } catch (Exception e) { File.AppendAllText(MainWindowViewModel.PathToLog, e.ToString()); MessageBox.Show("Błąd! Nie usunięto urządzenia."); } } }
public IHttpActionResult Post([FromBody] SubscriberIn data) { // Validate subscriber input data if (!ModelState.IsValid) { return(BadRequest("Invalid data")); } // Persist subscriber data in database // TODO: implement through DI var subscriberId = 0; try { using (SubscriptionContext dbContext = new SubscriptionContext()) { Subscriber subscriber = new Subscriber() { Name = data.Name, Email = data.Email, CreateDate = DateTime.Now }; dbContext.Subscribers.Add(subscriber); dbContext.SaveChanges(); subscriberId = subscriber.Id; } } catch (Exception) { // TODO: log error throw; } return(Ok(subscriberId)); }
public JsonResult RemoveEmail(int SubscriptionId, string Email) { var item = cnt.Subscriptions.Single(m => m.id == SubscriptionId); var email_old = (string)item.email.Trim(); //is email for remove in email_old? if (email_old.IndexOf(Email) == -1) { return(new JsonResult() { Data = new { Result = "Error", Message = Email + " is not in old email string " + email_old }, JsonRequestBehavior = JsonRequestBehavior.AllowGet }); } //Remove email string[] s2 = email_old.Split(';'); string email_new = ""; foreach (string s3 in s2) { string s4 = s3.Trim(); if (s4 != "" && s4 != Email) { email_new = email_new + s4 + ";"; } } //Update email if (email_new.Length > 0) { email_new = email_new.Remove(email_new.Length - 1); item.email = email_new; cnt.SaveChanges(); return(new JsonResult() { Data = new { Result = "Success", SubscriptionId = SubscriptionId, RemovedEmail = Email, EmailOld = email_old, EmailNew = email_new, DbString = "UPDATE NewspaperMail SET email = '" + email_new + "' WHERE id=" + SubscriptionId }, JsonRequestBehavior = JsonRequestBehavior.AllowGet }); //Email is empty, let's disable subscription } else { //Update email and disable subscription item.email = ""; item.Enabled = false; cnt.SaveChanges(); return(new JsonResult() { Data = new { Result = "Success", LastEmailWasDeleted = true, Message = "Last email was deleted, let's disable subscription." }, JsonRequestBehavior = JsonRequestBehavior.AllowGet }); } }
private void Rent() { MessageBoxResult mbrTmp = MessageBox.Show("Czy na pewno wypożyczyć te urządzenia?", "Pytanie", MessageBoxButton.YesNoCancel, MessageBoxImage.Question, MessageBoxResult.Yes); if (mbrTmp == MessageBoxResult.Yes) { rent RentToAdd = new rent(); RentToAdd.date_of_rent = RentDateStart; RentToAdd.date_of_return = RentDateEnd; RentToAdd.total_price = TotalCostWithDiscount; try { RentToAdd.subscription_id = Convert.ToInt16(SubscriptionId); } catch (Exception e) { File.AppendAllText(MainWindowViewModel.PathToLog, e.ToString()); System.Windows.MessageBox.Show("Nie powiodło się pobranie abonenta z bazy. Sprawdź dane."); return; } using (SubscriptionContext context = new SubscriptionContext()) { try { context.rents.Add(RentToAdd); context.SaveChanges(); foreach (device dev in CollectionOfDevices) { if (dev.IsChecked) { var result = (from d in context.devices where dev.deviceId == d.deviceId select d).First(); device deviceToUpdate = (device)result; context.devices.Attach(deviceToUpdate); deviceToUpdate.is_rented = true; //dodawanie do bazy wpisu o wypozyczeniu do tabeli pośredniej miedzy wyporzyczeniami a urzadzeniami devices_rents devRentToAdd = new devices_rents(); devRentToAdd.device_id = deviceToUpdate.deviceId; devRentToAdd.rent_id = RentToAdd.rentId; context.devices_rents.Add(devRentToAdd); } } context.SaveChanges(); System.Windows.MessageBox.Show("Dodano wypożyczenie."); //aktualizacja danych na liście urządzeń //(wypozyczono coś, wiec trzeba to usunąc z listy dostepnych do wypozyczenia) var result2 = (from d in context.devices select d).ToList(); CollectionOfDevices = new ObservableCollection <device>(); //odrzucenie urządzeń ktore sa aktualnie wypozyczone foreach (device dev in result2) { if (!dev.is_rented) { CollectionOfDevices.Add(dev); } } } catch (Exception e) { File.AppendAllText(MainWindowViewModel.PathToLog, e.ToString()); System.Windows.MessageBox.Show("Nie powiodło się dodanie wypożyczenia do bazy. Sprawdź dane."); return; } } } }