/// <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); } }