/// <summary>
        /// Страница объявления
        /// </summary>
        /// <param name="announID">id объявления</param>
        /// <returns>Представление, в которое передается объявление, полученное за б/д</returns>
        public ViewResult ChordCard(string announID)
        {
            IRepository <ChordTab> chordTabs = new EntityRepository <ChordTab>(SingletonSession.getInstance().sess);
            ChordTab chordTab = chordTabs.ReadById(Int32.Parse(announID));

            return(View(chordTab));
        }
        public ViewResult EditAnnoun(ChordTab chordTab)
        {
            IRepository <ChordTab> chordTabs = new EntityRepository <ChordTab>(SingletonSession.getInstance().sess);
            ChordTab previousAnnoun          = chordTabs.ReadById(chordTab.UID);

            previousAnnoun._Chord = SingletonSession.getInstance().sess.Merge(chordTab._Chord);
            using (ITransaction transaction = SingletonSession.getInstance().sess.BeginTransaction())
            {
                DeletePhoto(HttpContext.Request.Form, previousAnnoun);
                foreach (var file in HttpContext.Request.Form.Files)
                {
                    string path = hosting.WebRootPath + "/images/" + GenerateFileName(chordTab._Chord, file.FileName);
                    using (var fileStream = new FileStream(path, FileMode.Create))
                    {
                        file.CopyTo(fileStream);
                    }
                    Photos photo = new Photos();
                    photo.Name = GenerateFileName(chordTab._Chord, file.FileName);
                    previousAnnoun._Photos.Add(photo);
                }
                chordTabs.Update(previousAnnoun);
                transaction.Commit();
            }
            return(PersonalPage());
        }
        public ViewResult SellingChord(ChordTab chordTab)
        {
            IRepository <User> users = new EntityRepository <User>(SingletonSession.getInstance().sess);
            User user = users.ReadById(Int32.Parse(HttpContext.Session.GetString("userid")));

            if (ModelState.IsValid)
            {
                using (ITransaction transaction = SingletonSession.getInstance().sess.BeginTransaction())
                {
                    foreach (var file in HttpContext.Request.Form.Files)
                    {
                        string path = hosting.WebRootPath + "/images/" + GenerateFileName(chordTab._Chord, file.FileName);
                        using (var fileStream = new FileStream(path, FileMode.Create))
                        {
                            file.CopyTo(fileStream);
                        }
                        Photos photo = new Photos
                        {
                            Name = GenerateFileName(chordTab._Chord, file.FileName)
                        };
                        chordTab._Photos.Add(photo);
                    }
                    user.AddChordTab(chordTab);
                    users.Save(user);
                    transaction.Commit();
                }
                return(PersonalPage());
            }
            ViewBag.Error = "Вы не заполнили один из полей!";
            return(View());
        }
 /// <summary>
 /// Удаление фото из папки images
 /// </summary>
 /// <param name="form"></param>
 /// <param name="announ"></param>
 public void DeletePhoto(IFormCollection form, ChordTab announ)
 {
     try
     {
         foreach (Photos p in announ._Photos)
         {
             if (!form.ContainsKey(p.Name))
             {
                 announ._Photos.Remove(p);
                 p._ChordTab = null;
                 string path = hosting.WebRootPath + "/images/" + p.Name;
                 if (System.IO.File.Exists(path))
                 {
                     System.IO.File.Delete(path);
                 }
             }
         }
     }
     catch (InvalidOperationException)
     {
         DeletePhoto(form, announ);
     }
 }