public IHttpActionResult AddAddress(ShippingAdressBindingModel model) { string country = model.Country; string city = model.City; string street = model.Street; string postal = model.PostalCode; string premises = model.PremisesNumber; User editUser = db.Users.Where(u => u.UserID == model.AdressID).FirstOrDefault(); ShippingAdress shippingAdress = new ShippingAdress { Country = country, City = city, Street = street, PostalCode = postal, PremisesNumber = premises, User = editUser }; db.ShippingAdresses.Add(shippingAdress); db.SaveChanges(); editUser.ShippingAdresses.Add(shippingAdress); db.SaveChanges(); if (editUser != null) { return(Ok(editUser)); } else { return(Ok()); } }
public ActionResult DeleteShippingAdress(int adressID) { User editUser = db.Users.Where(i => i.Login == HttpContext.User.Identity.Name).First(); ShippingAdress adressToRemove = editUser.ShippingAdresses.Where(a => a.AdressID == adressID).FirstOrDefault(); if (adressToRemove != null) { editUser.ShippingAdresses.Remove(adressToRemove); db.ShippingAdresses.Remove(adressToRemove); db.SaveChanges(); } else { return(Json("Nie znaleziono takiego adresu!")); } var jsonAdresses = editUser.ShippingAdresses .Select(a => new { a.AdressID, // == AdressID = a.AdressID a.Country, a.City, a.Street, a.PremisesNumber, a.PostalCode }) .ToList(); return(Json(jsonAdresses)); }
public void CartCheckoutTest() { ShippingAdress cart = new ShippingAdress(driver); Assert.IsTrue(cart.Validate().Displayed); cart.AddShippingDetails(); }
public ActionResult DeleteConfirmed(int id) { ShippingAdress shippingAdress = db.ShippingAdresses.Find(id); db.ShippingAdresses.Remove(shippingAdress); db.SaveChanges(); return(RedirectToAction("Index")); }
public ActionResult Edit([Bind(Include = "id,addressName,price")] ShippingAdress shippingAdress) { if (ModelState.IsValid) { db.Entry(shippingAdress).State = EntityState.Modified; db.SaveChanges(); return(RedirectToAction("Index")); } return(View(shippingAdress)); }
public ShippingAddressModificationPage() { InitializeComponent(); ShippingAdress address = UserPanelViewModel.currentAddress; country.Text = address.Country; city.Text = address.City; street.Text = address.Street; premises.Text = address.PremisesNumber; postalCode.Text = address.PostalCode; }
public ActionResult Create([Bind(Include = "id,addressName,price")] ShippingAdress shippingAdress) { if (ModelState.IsValid) { db.ShippingAdresses.Add(shippingAdress); db.SaveChanges(); return(RedirectToAction("Index")); } return(View(shippingAdress)); }
private async void changeData(object sender, EventArgs e) { ShippingAdress model = new ShippingAdress(); model.Country = country.Text; model.City = city.Text; model.Street = street.Text; model.PremisesNumber = premises.Text; model.PostalCode = postalCode.Text; model.AdressID = UserPanelViewModel.currentAddress.AdressID; bool response = await UserPanelViewModel.ChangeAddressData(model); }
private async void delete(object sender, EventArgs e) { ShippingAdress model = new ShippingAdress(); model.AdressID = UserPanelViewModel.currentAddress.AdressID; bool response = await UserPanelViewModel.DeleteAddress(model); if (response) { UserPanelViewModel.currentModel.UpdateAddresses(); await Navigation.PopAsync(); } }
// GET: Admin/ShippingAdresses/Delete/5 public ActionResult Delete(int?id) { if (id == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } ShippingAdress shippingAdress = db.ShippingAdresses.Find(id); if (shippingAdress == null) { return(HttpNotFound()); } return(View(shippingAdress)); }
public IHttpActionResult ChangeAddressData(ShippingAdressBindingModel model) { string country = model.Country; string city = model.City; string street = model.Street; string postal = model.PostalCode; string premises = model.PremisesNumber; int userId = db.ShippingAdresses.Where(u => u.AdressID == model.AdressID).FirstOrDefault().User.UserID; ShippingAdress editAddress = db.ShippingAdresses.Where(u => u.AdressID == model.AdressID).FirstOrDefault(); User editUser = db.Users.Where(u => u.UserID == userId).FirstOrDefault(); if (editAddress != null) { if (country != null) { editAddress.Country = country; } if (city != null) { editAddress.City = city; } if (street != null) { editAddress.Street = street; } if (postal != null) { editAddress.PostalCode = postal; } if (premises != null) { editAddress.PremisesNumber = premises; } db.Entry(editAddress).State = EntityState.Modified; db.SaveChanges(); } if (editUser != null) { return(Ok(editUser)); } else { return(Ok()); } }
private async void addAddress(object sender, EventArgs e) { ShippingAdress model = new ShippingAdress(); model.AdressID = Session.user.UserID; model.Country = country.Text; model.City = city.Text; model.Street = street.Text; model.PostalCode = postalCode.Text; model.PremisesNumber = premises.Text; bool response = await UserPanelViewModel.AddAddress(model); if (response) { UserPanelViewModel.currentModel.UpdateAddresses(); } await PopupNavigation.Instance.PopAsync(true); }
public IHttpActionResult DeleteAddress(ShippingAdressBindingModel model) { ShippingAdress editAddress = db.ShippingAdresses.Where(u => u.AdressID == model.AdressID).FirstOrDefault(); int userId = editAddress.User.UserID; User editUser = db.Users.Where(u => u.UserID == userId).FirstOrDefault(); if (editUser != null && editAddress != null) { editUser.ShippingAdresses.Remove(editAddress); db.ShippingAdresses.Remove(editAddress); db.SaveChanges(); } if (editUser != null) { return(Ok(editUser)); } else { return(Ok()); } }
public ActionResult AddNewShippingAdress(ShippingAdress newAdress) { User editUser = db.Users.Where(i => i.Login == HttpContext.User.Identity.Name).First(); if (editUser != null && newAdress != null && newAdress.Country != null) { newAdress.User = editUser; editUser.ShippingAdresses.Add(newAdress); db.SaveChanges(); return(Json(new { newAdress.AdressID, newAdress.Country, newAdress.City, newAdress.Street, newAdress.PremisesNumber, newAdress.PostalCode })); } return(Json(false)); }
public static async Task <bool> DeleteAddress(ShippingAdress model) { bool Response = false; await Task.Run(async() => { var client = new HttpClient(); var json = JsonConvert.SerializeObject(model); HttpContent httpContent = new StringContent(json); httpContent.Headers.ContentType = new System.Net.Http.Headers.MediaTypeHeaderValue("application/json"); var response = await client.PostAsync(Service.URI + "api/Users/DeleteAddress", httpContent);; var user = JsonConvert.DeserializeObject <User>(response.Content.ReadAsStringAsync().Result); if (response.IsSuccessStatusCode) { Session.user = user; Response = true; } }); return(Response); }
public static bool SendEmail(EmailType emailType, string receiverFirstName, string receiverLastName, string receiverEmail, string SenderLogin, string SenderFirstName, string SenderLastName, List <BucketItem> PurchaseList, string Message, ShippingAdress Address) { bool result = false; var message = new MimeMessage(); message.From.Add(new MailboxAddress("Zakupowo Team", "*****@*****.**")); message.To.Add(new MailboxAddress(receiverFirstName + " " + receiverLastName, receiverEmail)); message.Subject = string.Empty; var builder = new BodyBuilder(); string messageBody = string.Empty; builder.HtmlBody = TransactionRequestText(SenderLogin, SenderFirstName, SenderLastName, PurchaseList, Message, Address); message.Subject = @"Purchase request on Zakupowo."; builder.HtmlBody += EndOfEmail(); message.Body = builder.ToMessageBody(); using (var client = new SmtpClient()) { try { client.ServerCertificateValidationCallback = (s, c, h, e) => true; client.Connect("smtp.gmail.com", 587, SecureSocketOptions.Auto); client.Authenticate("zakupowo2020", "Zakupowo2020$$$"); client.Send(message); client.Disconnect(true); result = true; Debug.WriteLine("EMAIL SENT!"); } catch (Exception ex) { Debug.WriteLine(ex.Message); } } return(result); }
// A message sent when user makes a purchase. private static string TransactionRequestText(string SenderLogin, string SenderFirstName, string SenderLastName, List <BucketItem> PurchaseList, string Message, ShippingAdress Address) { StringBuilder message = new StringBuilder(); message.AppendLine(ShopApp.Utility.EmailDesigner.EmailDesigner.PreTransactionRequestHTML); message.AppendLine($" <tr> <td colspan=\"8\"> <p><span style=\"color: #ffb24a; font-weight:700;\">{SenderLogin}</span> wysłał Ci ofertę kupna</p> </td> </tr> <!-- HEADER TABLE ROW --> <tr style=\"font-weight: 700;\"><td colspan=\"2\" style=\"border: 1px solid #9e9e9d; padding: 5px;\"><p>NAZWA OFERTY</p></td> <td colspan=\"2\" style=\"border: 1px solid #9e9e9d; padding: 5px;\"><p>ILOŚĆ</p></td> <td colspan=\"2\" style=\"border: 1px solid #9e9e9d; padding: 5px;\"><p>CENA ZA SZTUKĘ</p></td> <td colspan=\"2\" style=\" border: 1px solid #9e9e9d;padding: 5px;\"><p>RAZEM</p></td></tr>"); foreach (var item in PurchaseList) { if (item.Offer != null) { message.AppendLine($"<tr> <td colspan=\"2\" style=\"border: 1px solid #9e9e9d; padding: 5px;\"> <p>{item.Offer.Title}</p> </td> <td colspan=\"2\" style=\"border: 1px solid #9e9e9d; padding: 5px;\"> <p>{item.Quantity}</p> </td>"); message.AppendLine($" <td colspan=\"2\" style=\"border: 1px solid #9e9e9d; padding: 5px;\"> <p>{item.Offer.Price} zł</p> </td> <td colspan=\"2\" style=\"border: 1px solid #9e9e9d; padding: 5px;\"> <p> {item.TotalPrice} zł</p> </td> </tr>"); //message.AppendLine($"<img src=\"{ item.Offer.OfferPictures.First().PathToFile }\" style = \"height:120px;width:120px;\" alt = \"Item image\" />"); //message.AppendLine($"{item.Offer.Title}"); //message.AppendLine($"W ilości: {item.Quantity}"); } else { message.AppendLine($"<tr> <td colspan=\"2\" style=\"border: 1px solid #9e9e9d; padding: 5px;\"> <p>{item.Bundle.Title}</p> </td> <td colspan=\"2\" style=\"border: 1px solid #9e9e9d; padding: 5px;\"> <p>Zestaw</p> </td>"); message.AppendLine($"<td colspan=\"2\" style=\"border: 1px solid #9e9e9d; padding: 5px;\"> <p>{item.Bundle.BundlePrice} zł</p> </td> <td colspan=\"2\" style=\"border: 1px solid #9e9e9d; padding: 5px;\"> <p> {item.TotalPrice} zł</p> </td> </tr>"); //message.AppendLine($"<img src=\"{ item.Bundle.Offers.First().OfferPictures.First().PathToFile }\" style = \"height:120px;width:120px;\" alt = \"Item image\" />"); //message.AppendLine($"{item.Bundle.Title}"); } } message.AppendLine("<tr> <td> <p></p> </td> </tr> <tr style=\"border-top: 1px solid #9e9e9d;\"> <td colspan=\"8\" style=\"width: 100%; font-weight: 700;\"> <p>Dane adresowe kupującego</p> </td> </tr>"); message.AppendLine($"<tr><td colspan=\"8\" style=\"width: 100%;\"> <p style=\"margin-top: 5px;\">{SenderFirstName} {SenderLastName}</p> </td> </tr> <tr> <td colspan=\"8\" style=\"width: 100%;\"> <p style=\"margin-top: 5px;\">ul. {Address.City} {Address.PremisesNumber ?? '/' + Address.PremisesNumber}</p> </td> </tr>"); message.AppendLine($"<tr><td colspan=\"8\" style=\"width: 100%;\"> <p style=\"margin-top: 5px;\">{Address.PostalCode} {Address.City}</p> </td> </tr> <tr> <td colspan=\"8\" style=\"width: 100%;\"> <p style=\"margin-top: 5px;\">{Address.Country}</p> </td> </tr>"); message.AppendLine($"<tr style=\"border-top: 1px solid #9e9e9d;\"> <td colspan=\"8\" style=\"width: 100%; font-weight: 700;\"> <p>Wiadomość od kupującego</p> </td> </tr><tr><td style=\"border-bottom: 1px solid #9e9e9d;\"></td> <td colspan=\"6\" style=\"width: 100%; padding: 5px;\"> <p style=\"margin: 5px\">{Message}</p> </td> <td></td> </tr>"); message.AppendLine(ShopApp.Utility.EmailDesigner.EmailDesigner.PostTransactionRequestHTML); return(message.ToString()); }
public ActionResult EditShippingAdress(ShippingAdress form) { User editUser = db.Users.Where(i => i.Login == HttpContext.User.Identity.Name).First(); ShippingAdress shippingAdress; var returnInfo = new StringBuilder(""); if (editUser != null) { shippingAdress = editUser.ShippingAdresses.Where(a => a.AdressID == form.AdressID).FirstOrDefault(); if (shippingAdress == null) { return(Json("Nie znaleziono podanego adresu!")); } if (form.Country != null && form.Country.Trim() != shippingAdress.Country) { shippingAdress.Country = form.Country.Trim(); } else if (form.Country == null) { returnInfo.AppendLine("Pole \"Country\" jest puste!"); } if (form.City != null && form.City.Trim() != shippingAdress.City) { shippingAdress.City = form.City.Trim(); } else if (form.City == null) { returnInfo.AppendLine("Pole \"City\" jest puste!"); } if (form.Street != null && form.Street.Trim() != shippingAdress.Street) { shippingAdress.Street = form.Street.Trim(); } else if (form.Street == null) { returnInfo.AppendLine("Pole \"Street\" jest puste!"); } if (form.PremisesNumber != null && form.PremisesNumber.Trim() != shippingAdress.PremisesNumber) { shippingAdress.PremisesNumber = form.PremisesNumber.Trim(); } else if (form.PostalCode != null && form.PremisesNumber == null) { shippingAdress.PremisesNumber = null; } else if (form.PostalCode == null && form.PremisesNumber == null) { returnInfo.AppendLine("Pole \"PremisesNumber\" nie może być puste gdy pole \"PostalCode\" również jest puste."); } if (form.PostalCode != null && form.PostalCode.Trim() != shippingAdress.PostalCode) { shippingAdress.PostalCode = form.PostalCode.Trim(); } else if (form.PostalCode == null && form.PremisesNumber != null) { shippingAdress.PostalCode = null; } else if (form.PremisesNumber == null && form.PostalCode == null) { returnInfo.AppendLine("Pole \"PostalCode\" nie może być puste gdy pole \"PremisesNumber\" również jest puste."); } if (returnInfo.Length < 5) { db.SaveChanges(); returnInfo.AppendLine("Pomyślnie zmieniono adres wysyłki!"); } //db.Entry(editUser).State = System.Data.Entity.EntityState.Modified; } else { returnInfo.AppendLine("Nie znaleziono odpowiedniego użytkownika!"); } return(Json(returnInfo.ToString())); }