Пример #1
0
        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());
            }
        }
Пример #2
0
        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();
        }
Пример #4
0
        public ActionResult DeleteConfirmed(int id)
        {
            ShippingAdress shippingAdress = db.ShippingAdresses.Find(id);

            db.ShippingAdresses.Remove(shippingAdress);
            db.SaveChanges();
            return(RedirectToAction("Index"));
        }
Пример #5
0
 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));
 }
Пример #6
0
        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;
        }
Пример #7
0
        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));
        }
Пример #8
0
        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);
        }
Пример #9
0
        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();
            }
        }
Пример #10
0
        // 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));
        }
Пример #11
0
        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());
            }
        }
Пример #12
0
        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);
        }
Пример #13
0
        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());
            }
        }
Пример #14
0
        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));
        }
Пример #15
0
        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);
        }
Пример #16
0
        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);
        }
Пример #17
0
        // 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());
        }
Пример #18
0
        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()));
        }