示例#1
0
        public ActionResult New(Ad ad, HttpPostedFileBase[] images)
        {
            var manager = new SimpleAdManager(SimpleAds.Properties.Settings.Default.ConnectionString);
            ad.Images = images.Where(i => i != null).Select(i =>
            {
                Guid g = Guid.NewGuid();
                string fileName = g + ".jpg";
                i.SaveAs(Server.MapPath("~/Uploads/" + fileName));
                return fileName;
            });
            manager.AddAd(ad);

            //3,6,10

            List<string> adIds;
            if (Request.Cookies["adIds"] != null)
            {
                adIds = Request.Cookies["adIds"].Value.Split(',').ToList();
            }
            else
            {
                adIds = new List<string>();
            }

            adIds.Add(ad.Id.ToString());
            var cookie = new HttpCookie("adIds", String.Join(",", adIds));
            Response.Cookies.Add(cookie);

            return RedirectToAction("Index");
        }
示例#2
0
        public void AddAd(Ad ad)
        {
            using (var connection = new SqlConnection(_connectionString))
            using (var cmd = connection.CreateCommand())
            {
                cmd.CommandText = @"INSERT INTO Ads (Title, Description, Name, Date, PhoneNumber)
                                     VALUES (@title, @description, @name, @date, @phone); SELECT @@Identity";
                cmd.Parameters.AddWithValue("@title", ad.Title);
                cmd.Parameters.AddWithValue("@description", ad.Description);
                cmd.Parameters.AddWithValue("@name", ad.Name);
                cmd.Parameters.AddWithValue("@date", DateTime.Now);
                cmd.Parameters.AddWithValue("@phone", ad.PhoneNumber);
                connection.Open();
                ad.Id = (int)(decimal)cmd.ExecuteScalar();

                cmd.CommandText = "INSERT INTO Images (FileName, AdId) VALUES (@fileName, @adId)";

                foreach (string image in ad.Images)
                {
                    cmd.Parameters.Clear();
                    cmd.Parameters.AddWithValue("@adId", ad.Id);
                    cmd.Parameters.AddWithValue("@fileName", image);
                    cmd.ExecuteNonQuery();
                }
            }
        }
示例#3
0
        public Ad GetAdById(int adId)
        {
            using (var connection = new SqlConnection(_connectionString))
            using (var cmd = connection.CreateCommand())
            {
                cmd.CommandText = @"SELECT a.*, i.FileName FROM Ads a
                                    JOIN Images i ON a.id = i.AdId
                                    WHERE a.Id = @id";
                cmd.Parameters.AddWithValue("@id", adId);
                connection.Open();
                var reader = cmd.ExecuteReader();

                reader.Read();
                Ad ad = new Ad
                {
                    Date = (DateTime)reader["Date"],
                    Description = (string)reader["Description"],
                    Id = (int)reader["Id"],
                    Name = (string)reader["Name"],
                    PhoneNumber = (string)reader["PhoneNumber"],
                    Title = (string)reader["Title"]
                };

                List<string> images = new List<string>();
                images.Add((string)reader["FileName"]);
                while (reader.Read())
                {
                    images.Add((string)reader["FileName"]);
                }
                ad.Images = images;
                return ad;
            }
        }
示例#4
0
        public ActionResult New(Ad ad, HttpPostedFileBase[] images)
        {
            var manager = new SimpleAdManager(Properties.Settings.Default.ConnectionString);
            ad.Images = images.Where(i => i != null).Select(i =>
            {
                Guid g = Guid.NewGuid();
                string fileName = g + ".jpg";
                i.SaveAs(Server.MapPath("~/Uploads/" + fileName));
                return fileName;
            });
            manager.AddAd(ad);

            string ids;
            if (Request.Cookies["adIds"] != null)
            {
                ids = Request.Cookies["adIds"].Value + "," + ad.Id;
            }
            else
            {
                ids = ad.Id.ToString();
            }

            var cookie = new HttpCookie("adIds", ids);
            Response.Cookies.Add(cookie);

            return RedirectToAction("Index");
        }
示例#5
0
        public IEnumerable<Ad> GetAdsWithSingleImages()
        {
            List<Ad> ads = new List<Ad>();
            using (var connection = new SqlConnection(_connectionString))
            using (var cmd = connection.CreateCommand())
            {
                cmd.CommandText = "GetAdsWithSingleImage";
                cmd.CommandType = CommandType.StoredProcedure;
                connection.Open();
                var reader = cmd.ExecuteReader();
                while (reader.Read())
                {
                    Ad ad = new Ad
                    {
                        Date = (DateTime)reader["Date"],
                        Description = (string)reader["Description"],
                        Id = (int)reader["Id"],
                        Images = new List<string>
                        {
                            (string) reader["FileName"]
                        },
                        Name = (string)reader["Name"],
                        PhoneNumber = (string)reader["PhoneNumber"],
                        Title = (string)reader["Title"]
                    };
                    ads.Add(ad);
                }
            }

            return ads;
        }