public ActionResult EditToPost(AuctionViewModel auctionVM, string oldName)
        {
            if (_section == null)
            {
                AuctionHousesSection newSection = new AuctionHousesSection();
                _section = newSection;
            }

            if (_section.AuctionHouses.Search(auctionVM.Name) != null)
            {
                ModelState.AddModelError("Name", Resource.errNotUnique);
            }

            if (ModelState.IsValid)
            {
                var oldAuction = _section.AuctionHouses.Search(oldName);
                var oldFolder  = Path.Combine(HostingEnvironment.MapPath("~/App_Data/"), oldAuction.Location);
                var folder     = Path.Combine(HostingEnvironment.MapPath("~/App_Data/"), auctionVM.Location);
                if (auctionVM.Type == TypeAuctionVM.Sql && auctionVM.Type.ToString().ToLower() == oldAuction.Type.ToLower())
                {
                    if (!auctionVM.Name.Equals(oldAuction.Name))
                    {
                        System.IO.File.Move(Path.Combine(oldFolder, string.Format("{0}.{1}", oldAuction.Name, "mdf")), Path.Combine(oldFolder, string.Format("{0}.{1}", auctionVM.Name, "mdf")));
                    }
                }

                if (!oldFolder.Equals(folder))
                {
                    Directory.Move(oldFolder, folder);
                }

                _section.AuctionHouses.Remove(oldName);
                _section.AuctionHouses.Add(new AuctionHouseElement()
                {
                    Name     = auctionVM.Name,
                    Location = auctionVM.Location,
                    Type     = auctionVM.Type.ToString()
                });

                _cfg.Save(ConfigurationSaveMode.Modified);
                return(RedirectToAction("Index"));
            }

            return(View());
        }
        public ActionResult Create(AuctionViewModel auction)
        {
            if (_section == null)
            {
                AuctionHousesSection newSection = new AuctionHousesSection();
                _section = newSection;
            }

            if (_section.AuctionHouses.Search(auction.Name) != null)
            {
                ModelState.AddModelError("Name", Resource.errNotUnique);
            }

            if (ModelState.IsValid)
            {
                _section.AuctionHouses.Add(new AuctionHouseElement()
                {
                    Name     = auction.Name,
                    Location = auction.Location,
                    Type     = auction.Type.ToString()
                });

                var  folder = Path.Combine(HostingEnvironment.MapPath("~/App_Data/"), auction.Location);
                bool exists = System.IO.Directory.Exists(folder);

                if (!exists)
                {
                    System.IO.Directory.CreateDirectory(folder);
                }

                _cfg.Save(ConfigurationSaveMode.Modified);
                return(RedirectToAction("Index", "Auction"));
            }

            return(View());
        }
 public AuctionController()
 {
     _cfg     = System.Web.Configuration.WebConfigurationManager.OpenWebConfiguration("~");
     _section = (AuctionHousesSection)_cfg.GetSection("AuctionHouses");
 }